static void panel_addto_populate_application_model (GtkTreeStore *store, GtkTreeIter *parent, GSList *app_list) { PanelAddtoAppList *data; GtkTreeIter iter; char *text; GSList *app; for (app = app_list; app != NULL; app = app->next) { data = app->data; gtk_tree_store_append (store, &iter, parent); text = panel_addto_make_text (data->item_info.name, data->item_info.description); gtk_tree_store_set (store, &iter, COLUMN_ICON_NAME, data->item_info.icon, COLUMN_TEXT, text, COLUMN_DATA, &(data->item_info), COLUMN_SEARCH, data->item_info.name, -1); g_free (text); if (data->children != NULL) panel_addto_populate_application_model (store, &iter, data->children); } }
static void panel_addto_append_item (PanelAddtoDialog *dialog, GtkListStore *model, PanelAddtoItemInfo *applet) { char *text; GtkTreeIter iter; if (applet == NULL) { gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, COLUMN_ICON_NAME, NULL, COLUMN_TEXT, NULL, COLUMN_DATA, NULL, COLUMN_SEARCH, NULL, -1); } else { gtk_list_store_append (model, &iter); text = panel_addto_make_text (applet->name, applet->description); gtk_list_store_set (model, &iter, COLUMN_ICON_NAME, applet->icon, COLUMN_TEXT, text, COLUMN_DATA, applet, COLUMN_SEARCH, applet->name, -1); g_free (text); } }
static void panel_addto_append_item (PanelAddtoDialog *dialog, GtkListStore *model, PanelAddtoItemInfo *applet) { char *text; GdkPixbuf *pixbuf; GtkTreeIter iter; if (applet == NULL) { gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, COLUMN_ICON, NULL, COLUMN_TEXT, NULL, COLUMN_DATA, NULL, COLUMN_SEARCH, NULL, -1); } else { pixbuf = NULL; if (applet->icon != NULL) { pixbuf = panel_addto_make_pixbuf (applet->icon); } gtk_list_store_append (model, &iter); text = panel_addto_make_text (applet->name, applet->description); gtk_list_store_set (model, &iter, COLUMN_ICON, pixbuf, COLUMN_TEXT, text, COLUMN_DATA, applet, COLUMN_SEARCH, applet->name, -1); if (pixbuf) g_object_unref (pixbuf); g_free (text); } }