[Zinf-commits] zinf/ui/zinf/unix/src GTKPreferenceWindow.cpp,1.21,1.22
Brought to you by:
kgk,
mayhemchaos
From: <en...@us...> - 2003-08-08 21:43:01
|
Update of /cvsroot/zinf/zinf/ui/zinf/unix/src In directory sc8-pr-cvs1:/tmp/cvs-serv9583/ui/zinf/unix/src Modified Files: GTKPreferenceWindow.cpp Log Message: Move the Preference window tree over to the new TreeView widget. Fixes some the "no hightlighting" regression. Index: GTKPreferenceWindow.cpp =================================================================== RCS file: /cvsroot/zinf/zinf/ui/zinf/unix/src/GTKPreferenceWindow.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** GTKPreferenceWindow.cpp 8 Aug 2003 19:53:09 -0000 1.21 --- GTKPreferenceWindow.cpp 8 Aug 2003 21:42:58 -0000 1.22 *************** *** 142,172 **** } ! static void pref_tree_clicked(GtkWidget *widget, GdkEventButton *event, ! GTKPreferenceWindow *p) { ! if (!event) ! return; ! ! g_return_if_fail(widget != NULL); ! g_return_if_fail(GTK_IS_CTREE(widget)); ! g_return_if_fail(event != NULL); ! ! GtkCTree *ctree = GTK_CTREE(widget); ! GtkCList *clist = GTK_CLIST(widget); ! ! if (event->window != clist->clist_window) ! return; ! ! int row, column; ! if (!gtk_clist_get_selection_info(clist, (int)event->x, (int)event->y, ! &row, &column)) ! return; ! ! GtkCTreeNode *node = GTK_CTREE_NODE(g_list_nth(clist->row_list, row)); ! ! OptionsPane *opane = (OptionsPane *)gtk_ctree_node_get_row_data(ctree, ! node); ! ! p->SetPane(opane); } --- 142,155 ---- } ! static void pref_tree_select(GtkTreeSelection *selection, GTKPreferenceWindow *p) { ! GtkTreeIter iter; ! GtkTreeModel *model; ! OptionsPane *pane; ! if (gtk_tree_selection_get_selected (selection, &model, &iter)) ! { ! gtk_tree_model_get (model, &iter, 1, &pane, -1); ! } ! p->SetPane(pane); } *************** *** 180,192 **** void GTKPreferenceWindow::AddPane(OptionsPane *pane) { - GtkCTreeNode *node; - - char *name[1]; - name[0] = (char *)pane->m_label.c_str(); - node = gtk_ctree_insert_node(prefTree, NULL, NULL, name, 5, NULL, NULL, - NULL, NULL, true, false); - gtk_ctree_node_set_row_data_full(prefTree, node, pane, - (GtkDestroyNotify)kill_optionspane); gtk_widget_hide(pane->m_pane); gtk_box_pack_start(GTK_BOX(paneVbox), pane->m_pane, TRUE, TRUE, 5); --- 163,170 ---- void GTKPreferenceWindow::AddPane(OptionsPane *pane) { + GtkTreeIter iter; + gtk_list_store_append(prefStore, &iter); + gtk_list_store_set(prefStore, &iter, 0, (char *)pane->m_label.c_str(), 1, pane, -1); gtk_widget_hide(pane->m_pane); gtk_box_pack_start(GTK_BOX(paneVbox), pane->m_pane, TRUE, TRUE, 5); *************** *** 228,241 **** gtk_widget_show(scrolledWindow); ! const char *name[1]; ! name[0] = "Category"; ! ! prefTree = GTK_CTREE(gtk_ctree_new_with_titles(1, 0, (gchar **)name)); gtk_container_add(GTK_CONTAINER(scrolledWindow), GTK_WIDGET(prefTree)); ! gtk_signal_connect(GTK_OBJECT(prefTree), "button_press_event", ! GTK_SIGNAL_FUNC(pref_tree_clicked), this); ! gtk_clist_set_row_height(GTK_CLIST(prefTree), 16); ! gtk_clist_column_titles_passive(GTK_CLIST(prefTree)); gtk_widget_show(GTK_WIDGET(prefTree)); paneVbox = gtk_vbox_new(FALSE, 0); --- 206,222 ---- gtk_widget_show(scrolledWindow); ! prefStore = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_POINTER); ! prefTree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (prefStore)); ! GtkTreeSelection *select = gtk_tree_view_get_selection (GTK_TREE_VIEW (prefTree)); gtk_container_add(GTK_CONTAINER(scrolledWindow), GTK_WIDGET(prefTree)); ! g_signal_connect(G_OBJECT(select), "changed", G_CALLBACK(pref_tree_select), this); ! gtk_widget_show(GTK_WIDGET(prefTree)); + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; + + renderer = gtk_cell_renderer_text_new(); + column = gtk_tree_view_column_new_with_attributes ("Category", renderer, "text", 0, NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW (prefTree), column); paneVbox = gtk_vbox_new(FALSE, 0); *************** *** 279,283 **** pane = CreateDirectories(); ! opane = new OptionsPane("Directories", "Directory and Program Preferences", DIRECTORY, pane); AddPane(opane); --- 260,264 ---- pane = CreateDirectories(); ! opane = new OptionsPane("Directories", " Directory and Program Preferences", DIRECTORY, pane); AddPane(opane); *************** *** 291,295 **** pane = CreateCD(); ! opane = new OptionsPane("MusicBrainz", "MusicBrainz Preferences", MUSICBRAINZ, pane); AddPane(opane); --- 272,276 ---- pane = CreateCD(); ! opane = new OptionsPane("MusicBrainz", " MusicBrainz Preferences", MUSICBRAINZ, pane); AddPane(opane); *************** *** 299,303 **** pane = CreatePlaylistHeaders(); ! opane = new OptionsPane("Playlist", "Playlist Preferences", PLAYLIST, pane); AddPane(opane); --- 280,284 ---- pane = CreatePlaylistHeaders(); ! opane = new OptionsPane("Playlist", " Playlist Preferences", PLAYLIST, pane); AddPane(opane); |