[Xfce4-commits] r25107 - squeeze/trunk/src

Stephan Arts stephan at xfce.org
Sun Mar 4 14:16:52 CET 2007


Author: stephan
Date: 2007-03-04 13:16:51 +0000 (Sun, 04 Mar 2007)
New Revision: 25107

Modified:
   squeeze/trunk/src/archive_store.c
   squeeze/trunk/src/main_window.c
   squeeze/trunk/src/main_window.h
   squeeze/trunk/src/tool_bar.c
   squeeze/trunk/src/tool_bar.h
Log:
added refresh button

Modified: squeeze/trunk/src/archive_store.c
===================================================================
--- squeeze/trunk/src/archive_store.c	2007-03-04 07:31:33 UTC (rev 25106)
+++ squeeze/trunk/src/archive_store.c	2007-03-04 13:16:51 UTC (rev 25107)
@@ -94,9 +94,6 @@
 sq_archive_store_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child);
 
 static void
-sq_archive_store_refresh(SQArchiveStore *store);
-
-static void
 sq_archive_store_file_activated(SQArchiveStore *store, GtkTreePath *path);
 
 static void
@@ -134,6 +131,9 @@
 sq_archive_store_check_trailing(SQArchiveStore *store);
 
 static void
+sq_archive_store_refresh(SQArchiveStore *store);
+
+static void
 cb_sq_archive_store_archive_refreshed(LSQArchive *archive, gpointer user_data);
 /* static void                                                                                           */
 /* cb_sq_archive_store_archive_path_changed(LSQArchive *archive, const gchar *path, gpointer user_data); */

Modified: squeeze/trunk/src/main_window.c
===================================================================
--- squeeze/trunk/src/main_window.c	2007-03-04 07:31:33 UTC (rev 25106)
+++ squeeze/trunk/src/main_window.c	2007-03-04 13:16:51 UTC (rev 25107)
@@ -89,6 +89,7 @@
 static void cb_sq_main_remove_from_archive(GtkWidget *widget, gpointer userdata);
 static void cb_sq_main_close_archive(GtkWidget *widget, gpointer userdata);
 static void cb_sq_main_stop_archive(GtkWidget *widget, gpointer userdata);
+static void cb_sq_main_refresh_archive(GtkWidget *widget, gpointer userdata);
 
 static void cb_sq_main_close_window(GtkWidget *widget, gpointer userdata);
 
@@ -328,10 +329,28 @@
 		gtk_widget_set_sensitive(window->menubar.menu_item_remove, FALSE);
 		gtk_container_add(GTK_CONTAINER(window->menubar.menu_action), window->menubar.menu_item_remove);
 
+		window->menubar.menu_item_refresh = g_object_ref(gtk_image_menu_item_new_from_stock(GTK_STOCK_REFRESH, window->accel_group));
+		gtk_widget_set_sensitive(window->menubar.menu_item_refresh, FALSE);
+		gtk_container_add(GTK_CONTAINER(window->menubar.menu_action), window->menubar.menu_item_refresh);
+
 		g_signal_connect(G_OBJECT(window->menubar.menu_item_add), "activate", G_CALLBACK(cb_sq_main_add_to_archive), window);
 		g_signal_connect(G_OBJECT(window->menubar.menu_item_extract), "activate", G_CALLBACK(cb_sq_main_extract_archive), window);
 		g_signal_connect(G_OBJECT(window->menubar.menu_item_remove), "activate", G_CALLBACK(cb_sq_main_remove_from_archive), window);
+		g_signal_connect(G_OBJECT(window->menubar.menu_item_refresh), "activate", G_CALLBACK(cb_sq_main_refresh_archive), window);
 
+		gtk_widget_add_accelerator (window->menubar.menu_item_refresh,
+		                            "activate",
+		                            window->accel_group,
+		                            GDK_F5,
+		                            0,
+		                            GTK_ACCEL_LOCKED | GTK_ACCEL_MASK);
+		gtk_widget_add_accelerator (window->menubar.menu_item_refresh,
+		                            "activate",
+		                            window->accel_group,
+		                            GDK_r,
+		                            GDK_CONTROL_MASK,
+		                            GTK_ACCEL_LOCKED | GTK_ACCEL_MASK);
+
 		/* View menu */
 		window->menubar.menu_item_view = gtk_menu_item_new_with_mnemonic(_("_View"));
 		window->menubar.menu_view = gtk_menu_new();
@@ -816,6 +835,16 @@
 	gtk_widget_destroy(GTK_WIDGET(window));
 }
 
+static void 
+cb_sq_main_refresh_archive(GtkWidget *widget, gpointer userdata)
+{
+	SQMainWindow *window = SQ_MAIN_WINDOW(userdata);
+	SQArchiveStore *store = sq_notebook_get_active_store(SQ_NOTEBOOK(window->notebook));
+	LSQArchive *archive = sq_archive_store_get_archive(store);
+	LSQArchiveSupport *support = sq_archive_store_get_support(store);
+	lsq_archive_support_refresh(support, archive);
+}
+
 static void
 cb_sq_main_stop_archive(GtkWidget *widget, gpointer userdata)
 {
@@ -976,6 +1005,7 @@
 			gtk_widget_set_sensitive(window->menubar.menu_item_add, FALSE);
 			gtk_widget_set_sensitive(window->menubar.menu_item_extract, FALSE);
 			gtk_widget_set_sensitive(window->menubar.menu_item_remove, FALSE);
+			gtk_widget_set_sensitive(window->menubar.menu_item_refresh, FALSE);
 		}
 
 		if(window->tool_bar)
@@ -1075,6 +1105,7 @@
 		gtk_widget_set_sensitive(window->menubar.menu_item_add, TRUE);
 		gtk_widget_set_sensitive(window->menubar.menu_item_extract, TRUE);
 		gtk_widget_set_sensitive(window->menubar.menu_item_remove, TRUE);
+		gtk_widget_set_sensitive(window->menubar.menu_item_refresh, TRUE);
 		/*gtk_widget_set_sensitive(window->menubar.menu_item_properties, TRUE);*/
 		return 0;
 	}

Modified: squeeze/trunk/src/main_window.h
===================================================================
--- squeeze/trunk/src/main_window.h	2007-03-04 07:31:33 UTC (rev 25106)
+++ squeeze/trunk/src/main_window.h	2007-03-04 13:16:51 UTC (rev 25107)
@@ -92,6 +92,7 @@
 			GtkWidget *menu_item_add;
 			GtkWidget *menu_item_extract;
 			GtkWidget *menu_item_remove;
+			GtkWidget *menu_item_refresh;
 		/***************************/
 
 		/* 'view' menu */

Modified: squeeze/trunk/src/tool_bar.c
===================================================================
--- squeeze/trunk/src/tool_bar.c	2007-03-04 07:31:33 UTC (rev 25106)
+++ squeeze/trunk/src/tool_bar.c	2007-03-04 13:16:51 UTC (rev 25107)
@@ -18,6 +18,7 @@
 #include <string.h>
 #include <glib.h>
 #include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
 #include <thunar-vfs/thunar-vfs.h>
 #include <libsqueeze/libsqueeze.h>
 #include "archive_store.h"
@@ -61,6 +62,8 @@
 cb_sq_tool_bar_up(GtkWidget *, SQToolBar *tool_bar);
 static void
 cb_sq_tool_bar_home(GtkWidget *, SQToolBar *tool_bar);
+static void
+cb_sq_tool_bar_refresh(GtkWidget *, SQToolBar *tool_bar);
 
 static void
 cb_sq_tool_bar_path_field_activated(GtkWidget *entry, SQToolBar *tool_bar);
@@ -140,14 +143,21 @@
 	g_signal_connect(G_OBJECT(tool_bar->up_button), "clicked", (GCallback)cb_sq_tool_bar_up, tool_bar);
 	gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->up_button), 0);
 
+	tool_bar->refresh_button = gtk_tool_button_new_from_stock(GTK_STOCK_REFRESH);
+	gtk_toolbar_insert(GTK_TOOLBAR(tool_bar->bar), tool_bar->refresh_button, 3);
+	g_signal_connect(G_OBJECT(tool_bar->refresh_button), "clicked", (GCallback)cb_sq_tool_bar_refresh, tool_bar);
+	gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->refresh_button), 0);
+
+	button = gtk_separator_tool_item_new();
+	gtk_toolbar_insert(GTK_TOOLBAR(tool_bar->bar), button, 4);
+
 	tool_bar->home_button = gtk_tool_button_new_from_stock(GTK_STOCK_HOME);
-	gtk_toolbar_insert(GTK_TOOLBAR(tool_bar->bar), tool_bar->home_button, 3);
+	gtk_toolbar_insert(GTK_TOOLBAR(tool_bar->bar), tool_bar->home_button, 5);
 	g_signal_connect(G_OBJECT(tool_bar->home_button), "clicked", (GCallback)cb_sq_tool_bar_home, tool_bar);
 	gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->home_button), 0);
 
 	button = gtk_separator_tool_item_new();
-	gtk_toolbar_insert(GTK_TOOLBAR(tool_bar->bar), button, 4);
-
+	gtk_toolbar_insert(GTK_TOOLBAR(tool_bar->bar), button, 6);
 	button = gtk_tool_item_new();
 	tool_bar->path_field = gtk_entry_new();
 	gtk_tool_item_set_expand(button, TRUE);
@@ -160,7 +170,7 @@
 	gtk_tool_item_set_visible_horizontal(button, TRUE);
 	gtk_tool_item_set_homogeneous(button, FALSE);
 
-	gtk_toolbar_insert(GTK_TOOLBAR(tool_bar->bar), button, 5);
+	gtk_toolbar_insert(GTK_TOOLBAR(tool_bar->bar), button, 7);
 	gtk_widget_show_all(GTK_WIDGET(button));
 	gtk_widget_show(GTK_WIDGET(tool_bar->path_field));
 	gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->hbox), 0);
@@ -210,6 +220,8 @@
 			gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->back_button), 1);
 		else
 			gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->back_button), 0);
+
+		gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->refresh_button), 1);
 	}
 	else
 	{
@@ -323,6 +335,7 @@
 	gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->home_button), TRUE);
 	gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->forward_button), TRUE);
 	gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->back_button), TRUE);
+	gtk_widget_set_sensitive(GTK_WIDGET(tool_bar->refresh_button), TRUE);
 }
 
 static void
@@ -348,19 +361,27 @@
 }
 
 static void
-cb_sq_tool_bar_up(GtkWidget *forward_button, SQToolBar *tool_bar)
+cb_sq_tool_bar_up(GtkWidget *up_button, SQToolBar *tool_bar)
 {
 	sq_archive_store_go_up(SQ_NAVIGATION_BAR(tool_bar)->store);
 }
 
 static void
-cb_sq_tool_bar_home(GtkWidget *forward_button, SQToolBar *tool_bar)
+cb_sq_tool_bar_home(GtkWidget *home_button, SQToolBar *tool_bar)
 {
 	/* FIXME: the part about "/" could be bugged */
 	sq_archive_store_set_pwd(SQ_NAVIGATION_BAR(tool_bar)->store, "");
 }
 
 static void
+cb_sq_tool_bar_refresh(GtkWidget *refresh_button, SQToolBar *tool_bar)
+{
+	LSQArchive *archive = sq_archive_store_get_archive(SQ_NAVIGATION_BAR(tool_bar)->store);
+	LSQArchiveSupport *archive_support = sq_archive_store_get_support(SQ_NAVIGATION_BAR(tool_bar)->store);
+	lsq_archive_support_refresh(archive_support, archive);
+}
+
+static void
 cb_sq_tool_bar_path_field_activated(GtkWidget *entry, SQToolBar *tool_bar)
 {
 	const gchar *path = gtk_entry_get_text(GTK_ENTRY(entry));

Modified: squeeze/trunk/src/tool_bar.h
===================================================================
--- squeeze/trunk/src/tool_bar.h	2007-03-04 07:31:33 UTC (rev 25106)
+++ squeeze/trunk/src/tool_bar.h	2007-03-04 13:16:51 UTC (rev 25107)
@@ -48,6 +48,7 @@
 	GtkToolItem *forward_button;
 	GtkToolItem *up_button;
 	GtkToolItem *home_button;
+	GtkToolItem *refresh_button;
 	GtkWidget *path_field;
 	GtkWidget *hbox;
 };



More information about the Xfce4-commits mailing list