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

Reply via email to