From a35488f4b8f5c88b5f81f134596929a28dd74b42 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Fri, 5 Nov 2010 01:04:22 +0100 Subject: List untagged wallpapers from the new 'Other' page. --- window_main.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'window_main.c') diff --git a/window_main.c b/window_main.c index 8d756d7..680506b 100644 --- a/window_main.c +++ b/window_main.c @@ -921,6 +921,50 @@ gboolean on_thumbview_button_press_event(GtkWidget *widget, GdkEventButton *even return FALSE; } +void on_other_none_radiobtn_toggled(GtkToggleButton *togglebutton, gpointer user_data) { + GtkListStore *liststore; + GtkTreeModel *old_model; + + if(gtk_toggle_button_get_active(togglebutton) == FALSE) { + return; + } + + old_model = gtk_icon_view_get_model(thumbview); + + liststore = gtk_list_store_new(4, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_UINT64, G_TYPE_STRING); + gtk_icon_view_set_model(thumbview, GTK_TREE_MODEL(liststore)); + + if(old_model) + gtk_list_store_clear(GTK_LIST_STORE(old_model)); +} + +void on_other_untagged_radiobtn_toggled(GtkToggleButton *togglebutton, gpointer user_data) { + GtkListStore *liststore; + GtkTreeModel *old_model; + GArray *wallarray; + + if(gtk_toggle_button_get_active(togglebutton) == FALSE) { + return; + } + + if(!db_get_walls_untagged(&wallarray)) { + g_warning("Could not fetch untagged walls\n"); + return; + } + + liststore = gtk_list_store_new(4, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_UINT64, G_TYPE_STRING); + fill_wall_list(liststore, wallarray); + + old_model = gtk_icon_view_get_model(thumbview); + + gtk_icon_view_set_model(thumbview, GTK_TREE_MODEL(liststore)); + + start_thumb_thread(liststore); + + if(old_model) + gtk_list_store_clear(GTK_LIST_STORE(old_model)); +} + gboolean on_left_pages_switch_page(GtkNotebook *notebook, GtkNotebookTab page, guint page_num, gpointer user_data) { switch(page_num) { case 0: -- cgit v1.2.3