Author: stephan Date: 2006-11-04 21:42:20 +0000 (Sat, 04 Nov 2006) New Revision: 23703
Modified: xarchiver/branches/xarchiver-psybsd/TODO xarchiver/branches/xarchiver-psybsd/src/path_bar.c Log: Changed stuff to path-bar updated TODO Modified: xarchiver/branches/xarchiver-psybsd/TODO =================================================================== --- xarchiver/branches/xarchiver-psybsd/TODO 2006-11-04 21:28:46 UTC (rev 23702) +++ xarchiver/branches/xarchiver-psybsd/TODO 2006-11-04 21:42:20 UTC (rev 23703) @@ -11,9 +11,9 @@ Make thunar-vfs dependency optional. Make libxfce4-util dependency optional. - Fix navigation-bars to work with notebook + Fix navigation-bars to work with notebook - DONE (Pathbar untested) - Close Buttons + Close Buttons - DONE Fix Command-line options @@ -25,6 +25,8 @@ Settings support + Non-default actions + Comment library functions (explain their purpose) Modified: xarchiver/branches/xarchiver-psybsd/src/path_bar.c =================================================================== --- xarchiver/branches/xarchiver-psybsd/src/path_bar.c 2006-11-04 21:28:46 UTC (rev 23702) +++ xarchiver/branches/xarchiver-psybsd/src/path_bar.c 2006-11-04 21:42:20 UTC (rev 23703) @@ -698,5 +698,49 @@ static void cb_xa_path_bar_store_set(XANavigationBar *bar) { + GtkRadioButton *button = NULL; + XAPathBar *path_bar = XA_PATH_BAR(bar); + GSList *buttons = path_bar->path_button->next; + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(path_bar->path_button->data), TRUE); + + while(buttons) + { + gtk_container_remove(GTK_CONTAINER(path_bar), GTK_WIDGET(buttons->data)); + gtk_widget_unref(GTK_WIDGET(buttons->data)); + buttons = buttons->next; + } + g_slist_free(path_bar->path_button->next); + path_bar->path_button->next = NULL; + + if(bar->store) + { + GSList *path = xa_archive_store_get_pwd_list(bar->store); + GSList *iter = path; + + while(iter) + { + button = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label(path_bar->path_button, (const gchar*)iter->data)); + gtk_widget_ref(GTK_WIDGET(button)); + gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(button), FALSE); + path_bar->path_button = g_slist_append(path_bar->path_button, button); + + g_signal_connect(G_OBJECT(button), "clicked", (GCallback)cb_xa_path_bar_path_button_clicked, path_bar); + + gtk_container_add(GTK_CONTAINER(path_bar), GTK_WIDGET(button)); + gtk_widget_show(GTK_WIDGET(button)); + + g_free(iter->data); + iter = iter->next; + } + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); + + g_slist_free(path); + + path_bar->first_button = g_slist_last(path_bar->path_button); + } + + gtk_widget_set_sensitive(GTK_WIDGET(path_bar->home_button), bar->store?TRUE:FALSE); } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits