Mercurial > audlegacy
diff audacious/prefswin.c @ 1186:d7848ff5bbe5 trunk
[svn] - prefswin_page_destroy() code, example will be added to the scrobbler plugin momentarily
author | nenolod |
---|---|
date | Sun, 11 Jun 2006 23:35:05 -0700 |
parents | 42d4b152c14d |
children | 35dc5d2a1675 |
line wrap: on
line diff
--- a/audacious/prefswin.c Sun Jun 11 23:19:33 2006 -0700 +++ b/audacious/prefswin.c Sun Jun 11 23:35:05 2006 -0700 @@ -2350,6 +2350,7 @@ return -1; } + /* Make sure the widgets are visible. */ gtk_widget_show(container); id = gtk_notebook_append_page(GTK_NOTEBOOK(category_notebook), container, NULL); @@ -2370,3 +2371,36 @@ return id; } + +void +prefswin_page_destroy(gint id) +{ + GtkTreeModel *model; + GtkTreeIter iter; + GtkTreeView *treeview = GTK_TREE_VIEW(category_treeview); + gboolean ret; + + if (category_notebook == NULL || treeview == NULL) + return; + + gtk_notebook_remove_page(GTK_NOTEBOOK(category_notebook), id); + + model = gtk_tree_view_get_model(treeview); + + if (model == NULL) + return; + + ret = gtk_tree_model_get_iter_first(model, &iter); + + while (ret == TRUE) + { + gint index = -1; + + gtk_tree_model_get(model, &iter, CATEGORY_VIEW_COL_ID, &index, -1); + + if (index == id) + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + + ret = gtk_tree_model_iter_next(model, &iter); + } +}