grrr, simple as most of the time:

void crypto_mount_set_pixbuf(struct treedata *treedata){

    gchar *mountpoint;
    GtkTreeIter iter;
    gtk_tree_model_get_iter_first(treedata->store,&iter);


    do
    {
        gtk_tree_model_get(treedata->store, &iter, MOUNTPOINT_COLUMN,
&mountpoint, -1);
        g_print("MOUNTPOINT_COLUMN: %s\n", mountpoint);

        if(crypto_mount_check(mountpoint))
        {
            g_print("%s FOUND\n", mountpoint);
            treedata->pixbuf_mount =
gdk_pixbuf_new_from_file("pics/mount.png", NULL);
            gtk_list_store_set(treedata->store, &iter, MOUNT_COLUMN,
treedata->pixbuf_mount, -1);
            g_object_unref(treedata->pixbuf_mount);

        }
        else
        {
            g_print("%s NOT FOUND\n", mountpoint);
            treedata->pixbuf_mount =
gdk_pixbuf_new_from_file("pics/unmount.png", NULL);
            gtk_list_store_set(treedata->store, &iter, MOUNT_COLUMN,
treedata->pixbuf_mount, -1);
            g_object_unref(treedata->pixbuf_mount);

        }

    }while(gtk_tree_model_iter_next(treedata->store, &iter));
    gtk_tree_model_get_iter_first(treedata->store,&iter);
}


I have to give me a timeframe of a day or two before asking question,(this
gets a note on the monitor.)...

so long
On 8/14/06, rupert <[EMAIL PROTECTED]> wrote:
>
> its getting good,  somehow i packed the gtk_tree_model_iter_next in a do
> while loop,
> when i have no return in the loop it show all the lines once(it should
> show it every 100ms) , when i add a return it always loops(but loops) at the
> first line.
>
>
> void crypto_mount_set_pixbuf(struct treedata *treedata){
>
>     gchar *mountpoint;
>     GtkTreeIter iter;
>     gtk_tree_model_get_iter_first(treedata->store,&iter);
>
>     do
>     {
>         gtk_tree_model_get(treedata->store, &iter, MOUNTPOINT_COLUMN,
> &mountpoint, -1);
>         g_print("MOUNTPOINT_COLUMN: %s\n", mountpoint);
> /*
>
>         if(crypto_mount_check(mountpoint))
>         {
>             g_print("%s FOUND\n", mountpoint);
>
>             treedata->pixbuf_mount =
> gdk_pixbuf_new_from_file("pics/mount.png", NULL);
>             gtk_list_store_set(treedata->store, &treedata->iter,
> MOUNT_COLUMN, treedata->pixbuf_mount, -1);
>
>             g_object_unref(treedata->pixbuf_mount);
>             return;
>         }
>         else
>         {
>             g_print("%s NOT FOUND\n", mountpoint);
>
>             treedata->pixbuf_mount =
> gdk_pixbuf_new_from_file("pics/unmount.png", NULL);
>             gtk_list_store_set(treedata->store, &treedata->iter,
> MOUNT_COLUMN, treedata->pixbuf_mount, -1);
>
>             g_object_unref(treedata->pixbuf_mount);
>             return;
>         }
> */
>     }while(gtk_tree_model_iter_next(treedata->store, &iter));
>
> }
>
> On 8/14/06, Peter Firefly Lund <[EMAIL PROTECTED]> wrote:
>
> > On Mon, 14 Aug 2006, rupert wrote:
> >
> > > thx for the hel, with adding the tip lanve gave its working somehow
> > now,
> > > but i had to do some changes:
> > >
> > > gtk_tree_model_get_iter_first(treedata->store,&treedata->iter);
> > > i have this line now before make_list and also in the function that
> > updates
> > > the
> > > pixbuf.
> >
> > The next improvement you should try is to remove the iter field from the
> > struct, remove the gtk_tree_model_get_iter_first() call before the call
> > to
> > make_list() and put a gtk_tree_model_get_iter_first() call into your
> > callback function (probably as the first line of code after the
> > declarations of the local variables).
> >
> > Iterators are usually just used as a special kind of loop variables --
> > you
> > don't make loop variables global just so you can use the same loop
> > variable in another loop inside a completely unrelated function.  Or so
> > that you can initialize a local loop variable to whatever value was left
> > in the global loop variable from the last executed loop somewhere else.
> >
> > Just get rid of it.
> >
> > > Now i have to extract one field from every single line, so that i
> > update the
> > > pixbuf in
> > > each line.
> >
> > use gtk_tree_model_iter_next() inside your loop.  You can use it instead
> >
> > of normal loop variable: just call it until it returns FALSE.
> >
> > -Peter
> >
>
>
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to