[Xfce4-commits] r23833 - in xarchiver/branches/xarchiver-psybsd: . po src

Stephan Arts stephan at xfce.org
Sun Nov 12 09:59:46 CET 2006


Author: stephan
Date: 2006-11-12 08:59:44 +0000 (Sun, 12 Nov 2006)
New Revision: 23833

Modified:
   xarchiver/branches/xarchiver-psybsd/TODO
   xarchiver/branches/xarchiver-psybsd/po/nl.po
   xarchiver/branches/xarchiver-psybsd/src/add_dialog.c
   xarchiver/branches/xarchiver-psybsd/src/application.c
   xarchiver/branches/xarchiver-psybsd/src/main_window.c
   xarchiver/branches/xarchiver-psybsd/src/main_window.h
Log:
Added File menu (with accelarators)



Modified: xarchiver/branches/xarchiver-psybsd/TODO
===================================================================
--- xarchiver/branches/xarchiver-psybsd/TODO	2006-11-11 22:14:00 UTC (rev 23832)
+++ xarchiver/branches/xarchiver-psybsd/TODO	2006-11-12 08:59:44 UTC (rev 23833)
@@ -8,9 +8,6 @@
 | IMPORTANT                                         IMPORTANT |
 ---------------------------------------------------------------
 
-  Make thunar-vfs dependency optional.
-  Make libxfce4-util dependency optional.
-
   Fix navigation-bars to work with notebook - DONE (Pathbar untested)
 
   Close Buttons - DONE
@@ -23,10 +20,17 @@
 
   Open Dialog 
 
+	MenuBar
+
   Settings support
 
+	DnD
+
 	Non-default actions
 
+  Make thunar-vfs dependency optional.
+  Make libxfce4-util dependency optional.
+
   Comment library functions
     (explain their purpose)
 

Modified: xarchiver/branches/xarchiver-psybsd/po/nl.po
===================================================================
--- xarchiver/branches/xarchiver-psybsd/po/nl.po	2006-11-11 22:14:00 UTC (rev 23832)
+++ xarchiver/branches/xarchiver-psybsd/po/nl.po	2006-11-12 08:59:44 UTC (rev 23833)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: xarchiver 0.3.9psybsd\n"
 "Report-Msgid-Bugs-To: psybsd at gmail.com\n"
-"POT-Creation-Date: 2006-11-07 11:17+0100\n"
+"POT-Creation-Date: 2006-11-11 15:09+0100\n"
 "PO-Revision-Date: 2006-07-20 16:36+0200\n"
 "Last-Translator: Stephan Arts <psybsd at gmail.com>\n"
 "Language-Team: Dutch <vertaling at vrijschrift.org>\n"
@@ -24,35 +24,63 @@
 msgid "Mime type"
 msgstr "Mime type"
 
-#: ../libxarchiver/archive-support-gnu-tar.c:153
+#: ../libxarchiver/archive-support-gnu-tar.c:155
 #: ../libxarchiver/archive-support-zip.c:118
 msgid "Overwrite existing files"
 msgstr "Bestaande bestanden overschrijven"
 
-#: ../libxarchiver/archive-support-gnu-tar.c:154
+#: ../libxarchiver/archive-support-gnu-tar.c:156
 #: ../libxarchiver/archive-support-zip.c:119
 msgid "Overwrite existing files on extraction"
 msgstr "Bestaande bestanden overschrijven tijdens uitpakken"
 
-#: ../libxarchiver/archive-support-gnu-tar.c:433
+#: ../libxarchiver/archive-support-gnu-tar.c:162
+msgid "Touch files"
+msgstr "Bestanden aanraken"
+
+#: ../libxarchiver/archive-support-gnu-tar.c:169
+msgid "Strip directories"
+msgstr ""
+
+#: ../libxarchiver/archive-support-gnu-tar.c:178
+msgid "Keep newer files"
+msgstr ""
+
+#: ../libxarchiver/archive-support-gnu-tar.c:179
+msgid "Do not overwrite files newer then those in the archive"
+msgstr ""
+
+#: ../libxarchiver/archive-support-gnu-tar.c:185
+msgid "Override permissions"
+msgstr ""
+
+#: ../libxarchiver/archive-support-gnu-tar.c:192
+#: ../libxarchiver/archive-support-gnu-tar.c:478
+msgid "Filesize"
+msgstr "Bestandsgrootte"
+
+#: ../libxarchiver/archive-support-gnu-tar.c:193
+msgid "View filesize"
+msgstr "Bestandsgrootte weergeven"
+
+#: ../libxarchiver/archive-support-gnu-tar.c:199
+#: ../libxarchiver/archive-support-gnu-tar.c:470
 msgid "Permissions"
 msgstr "Rechten"
 
-#: ../libxarchiver/archive-support-gnu-tar.c:437
+#: ../libxarchiver/archive-support-gnu-tar.c:206
+#: ../libxarchiver/archive-support-gnu-tar.c:474
 msgid "Owner/Group"
 msgstr "Eigenaar/Groep"
 
-#: ../libxarchiver/archive-support-gnu-tar.c:441
-#: ../libxarchiver/archive-support-zip.c:305
-msgid "Size"
-msgstr "Grootte"
-
-#: ../libxarchiver/archive-support-gnu-tar.c:445
+#: ../libxarchiver/archive-support-gnu-tar.c:213
+#: ../libxarchiver/archive-support-gnu-tar.c:482
 #: ../libxarchiver/archive-support-zip.c:313
 msgid "Date"
 msgstr "Datum"
 
-#: ../libxarchiver/archive-support-gnu-tar.c:449
+#: ../libxarchiver/archive-support-gnu-tar.c:220
+#: ../libxarchiver/archive-support-gnu-tar.c:486
 #: ../libxarchiver/archive-support-zip.c:317
 msgid "Time"
 msgstr "Tijd"
@@ -70,6 +98,10 @@
 msgid "Method"
 msgstr "Methode"
 
+#: ../libxarchiver/archive-support-zip.c:305
+msgid "Size"
+msgstr "Grootte"
+
 #: ../libxarchiver/archive-support-zip.c:309
 msgid "Ratio"
 msgstr "Verhouding"
@@ -108,15 +140,30 @@
 "Probeer xarchiver --help om een volledige lijst te zien met beschikbare "
 "opties.\n"
 
-#: ../src/main_window.c:194
+#. File menu
+#: ../src/main_window.c:178
+msgid "_File"
+msgstr "_Bestand"
+
+#. Action menu
+#: ../src/main_window.c:181
+msgid "_Action"
+msgstr "_Actie"
+
+#. View menu
+#: ../src/main_window.c:184
+msgid "_View"
+msgstr "B_eeld"
+
+#: ../src/main_window.c:208
 msgid "Add"
 msgstr "Toevoegen"
 
-#: ../src/main_window.c:198 ../src/extract_dialog.c:101
+#: ../src/main_window.c:212 ../src/extract_dialog.c:102
 msgid "Extract"
 msgstr "Uitpakken"
 
-#: ../src/main_window.c:393
+#: ../src/main_window.c:407
 msgid "Open archive"
 msgstr "Archief openen"
 
@@ -124,74 +171,30 @@
 msgid "Create new archive"
 msgstr "Maak nieuw archief"
 
-#: ../src/add_dialog.c:66
-msgid "Drag Files and folders to bottom list"
-msgstr ""
+#: ../src/add_dialog.c:68
+msgid "Options:"
+msgstr "Opties:"
 
-#: ../src/add_dialog.c:93
+#: ../src/add_dialog.c:100
 msgid "Add file(s) to archive"
 msgstr "Bestand(en) toevoegen aan archief"
 
-#: ../src/extract_dialog.c:77
+#: ../src/extract_dialog.c:78
 msgid "<b>Extract files:</b>"
-msgstr "<b> Bestanden uitpakken:</b>"
+msgstr "<b>Bestanden uitpakken:</b>"
 
-#: ../src/extract_dialog.c:78
+#: ../src/extract_dialog.c:79
 msgid "<b>Options:</b>"
 msgstr "<b>Opties:</b>"
 
-#: ../src/extract_dialog.c:88
+#: ../src/extract_dialog.c:89
 msgid "All files"
 msgstr "Alle bestanden"
 
-#: ../src/extract_dialog.c:89
+#: ../src/extract_dialog.c:90
 msgid "Selected files"
 msgstr "Geselecteerde bestanden"
 
-#: ../src/extract_dialog.c:113
+#: ../src/extract_dialog.c:115
 msgid "Extract archive"
 msgstr "Archief uitpakken"
-
-#~ msgid "Compression method"
-#~ msgstr "Compressie methode"
-
-#~ msgid "Could not create archive, MIME-type unsupported"
-#~ msgstr "Kan archief niet maken, MIME-type wordt niet ondersteund"
-
-#~ msgid "Could not open archive, MIME-type unsupported or file did not exist"
-#~ msgstr ""
-#~ "Kan archief niet openen, MIME-type wordt niet ondersteund of bestand "
-#~ "bestaat niet"
-
-#~ msgid "_Archive"
-#~ msgstr "_Archief"
-
-#~ msgid "A_ction"
-#~ msgstr "A_ctie"
-
-#~ msgid "_Help"
-#~ msgstr "_Help"
-
-#~ msgid "Initializing archive..."
-#~ msgstr "Bezig met initialiseren van archief..."
-
-#~ msgid "Reading archive contents..."
-#~ msgstr "Bezig met lezen van archief..."
-
-#~ msgid "Extracting archive..."
-#~ msgstr "Archief uitpakken..."
-
-#~ msgid "Adding file(s) to archive..."
-#~ msgstr "Bestand(en) toevoegen aan archief..."
-
-#~ msgid "Removing file(s) from archive..."
-#~ msgstr "Bestand(en) toevoegen aan archief..."
-
-#~ msgid "Error"
-#~ msgstr "Fout"
-
-#~ msgid "Cancelled"
-#~ msgstr "Geannuleerd"
-
-#~ msgid "Done"
-#~ msgstr "Klaar"

Modified: xarchiver/branches/xarchiver-psybsd/src/add_dialog.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/add_dialog.c	2006-11-11 22:14:00 UTC (rev 23832)
+++ xarchiver/branches/xarchiver-psybsd/src/add_dialog.c	2006-11-12 08:59:44 UTC (rev 23833)
@@ -64,21 +64,18 @@
 static void
 xa_add_dialog_init(XAAddDialog *dialog)
 {
-	GtkWidget *frame = gtk_frame_new(_("Drag Files and folders to bottom list"));
+	GtkWidget *frame = gtk_frame_new(_("Files and directories to add"));
 	dialog->optionframe = gtk_frame_new(_("Options:"));
-	GtkWidget *vpaned = gtk_vpaned_new();
-	//GtkWidget *chooser = gtk_file_chooser_widget_new(GTK_FILE_CHOOSER_ACTION_OPEN);
+	GtkWidget *vbox = gtk_vbox_new(FALSE,0);
 	GtkWidget *scrolled_window = gtk_scrolled_window_new(NULL, NULL);
 	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled_window), GTK_SHADOW_IN);
-	//gtk_paned_pack1(GTK_PANED(vpaned), chooser, TRUE, FALSE);
-	gtk_paned_pack2(GTK_PANED(vpaned), scrolled_window, TRUE, FALSE);
 
-	gtk_container_add(GTK_CONTAINER(frame), vpaned);
-	gtk_container_set_border_width(GTK_CONTAINER(vpaned), 5);
+	gtk_container_add(GTK_CONTAINER(vbox), scrolled_window);
+	gtk_container_add(GTK_CONTAINER(frame), vbox);
+	gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
 
 	gtk_widget_show_all(frame);
 	gtk_widget_show_all(dialog->optionframe);
-	gtk_widget_show_all(vpaned);
 	gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), frame, TRUE, TRUE, 0);
 	gtk_box_pack_end(GTK_BOX(GTK_DIALOG(dialog)->vbox), dialog->optionframe, TRUE, TRUE, 0);
 	gtk_dialog_add_buttons(GTK_DIALOG(dialog), 

Modified: xarchiver/branches/xarchiver-psybsd/src/application.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/application.c	2006-11-11 22:14:00 UTC (rev 23832)
+++ xarchiver/branches/xarchiver-psybsd/src/application.c	2006-11-12 08:59:44 UTC (rev 23833)
@@ -72,7 +72,6 @@
 	return xa_application_type;
 }
 
-/* Destroy code was copied from gtk+-2.8.16 */
 static void
 xa_application_class_init(XAApplicationClass *application_class)
 {
@@ -111,9 +110,7 @@
 xa_application_finalize(GObject *object )
 {
 	XAApplication *application = XA_APPLICATION(object);
-#ifdef DEBUG
-	g_debug("Application Destroyed");
-#endif
+
 	xa_settings_set_group(application->settings, "Global");
 
 	xa_settings_write_bool_entry(application->settings, "UseTabs", application->props._tabs);

Modified: xarchiver/branches/xarchiver-psybsd/src/main_window.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/main_window.c	2006-11-11 22:14:00 UTC (rev 23832)
+++ xarchiver/branches/xarchiver-psybsd/src/main_window.c	2006-11-12 08:59:44 UTC (rev 23833)
@@ -63,8 +63,11 @@
 static void cb_xa_main_open_archive(GtkWidget *widget, gpointer userdata);
 static void cb_xa_main_extract_archive(GtkWidget *widget, gpointer userdata);
 static void cb_xa_main_add_to_archive(GtkWidget *widget, gpointer userdata);
+static void cb_xa_main_close_archive(GtkWidget *widget, gpointer userdata);
 static void cb_xa_main_stop_archive(GtkWidget *widget, gpointer userdata);
 
+static void cb_xa_main_close_window(GtkWidget *widget, gpointer userdata);
+
 static void
 cb_xa_main_window_notebook_page_switched(XANotebook *notebook, GtkNotebookPage *page, guint page_nr, gpointer data);
 static void
@@ -153,6 +156,7 @@
 	GtkWidget     *main_vbox;
 	GtkWidget     *toolbar;
 	GtkToolItem   *tool_separator;
+	GtkWidget     *menu_separator;
 	GtkWidget     *tmp_image;
 	const gchar   *nav_bar;
 	gboolean up_dir = TRUE;
@@ -162,6 +166,9 @@
 	gboolean use_tabs = TRUE;
 	gboolean show_menubar = TRUE;
 
+	window->accel_group = gtk_accel_group_new();
+	gtk_window_add_accel_group(GTK_WINDOW(window), window->accel_group);
+
 	window->settings = xa_settings_new();
 
 	xa_settings_set_group(window->settings, "Global");
@@ -172,7 +179,47 @@
 
 	if(show_menubar)
 	{
+		window->menu_bar = gtk_menu_bar_new();
 
+		/* File menu */
+		window->menubar.menu_item_file = gtk_menu_item_new_with_mnemonic(_("_File"));
+		window->menubar.menu_file = gtk_menu_new();
+		gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->menubar.menu_item_file), window->menubar.menu_file);
+
+		window->menubar.menu_item_new = gtk_image_menu_item_new_from_stock(GTK_STOCK_NEW, window->accel_group);
+		gtk_container_add(GTK_CONTAINER(window->menubar.menu_file), window->menubar.menu_item_new);
+		window->menubar.menu_item_open = gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN, window->accel_group);
+		gtk_container_add(GTK_CONTAINER(window->menubar.menu_file), window->menubar.menu_item_open);
+
+		menu_separator = gtk_separator_menu_item_new();
+		gtk_container_add(GTK_CONTAINER(window->menubar.menu_file), menu_separator);
+
+		window->menubar.menu_item_properties = gtk_image_menu_item_new_from_stock(GTK_STOCK_PROPERTIES, window->accel_group);
+		gtk_container_add(GTK_CONTAINER(window->menubar.menu_file), window->menubar.menu_item_properties);
+		window->menubar.menu_item_close = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLOSE, window->accel_group);
+		gtk_container_add(GTK_CONTAINER(window->menubar.menu_file), window->menubar.menu_item_close);
+		gtk_widget_set_sensitive(window->menubar.menu_item_close, FALSE);
+
+		menu_separator = gtk_separator_menu_item_new();
+		gtk_container_add(GTK_CONTAINER(window->menubar.menu_file), menu_separator);
+
+		window->menubar.menu_item_quit = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, window->accel_group);
+		gtk_container_add(GTK_CONTAINER(window->menubar.menu_file), window->menubar.menu_item_quit);
+
+		g_signal_connect(G_OBJECT(window->menubar.menu_item_new), "activate", G_CALLBACK(cb_xa_main_new_archive), window);
+		g_signal_connect(G_OBJECT(window->menubar.menu_item_open), "activate", G_CALLBACK(cb_xa_main_open_archive), window);
+		g_signal_connect(G_OBJECT(window->menubar.menu_item_close), "activate", G_CALLBACK(cb_xa_main_close_archive), window);
+		g_signal_connect(G_OBJECT(window->menubar.menu_item_quit), "activate", G_CALLBACK(cb_xa_main_close_window), window);
+		/* Action menu */
+		window->menubar.menu_item_action = gtk_menu_item_new_with_mnemonic(_("_Action"));
+
+		/* View menu */
+		window->menubar.menu_item_view = gtk_menu_item_new_with_mnemonic(_("_View"));
+
+
+		gtk_menu_bar_append(GTK_MENU_BAR(window->menu_bar), window->menubar.menu_item_file);
+		gtk_menu_bar_append(GTK_MENU_BAR(window->menu_bar), window->menubar.menu_item_action);
+		gtk_menu_bar_append(GTK_MENU_BAR(window->menu_bar), window->menubar.menu_item_view);
 	}
 
 	toolbar = gtk_toolbar_new();
@@ -487,6 +534,20 @@
 }
 
 static void
+cb_xa_main_close_archive(GtkWidget *widget, gpointer userdata)
+{
+	//XAMainWindow *window = XA_MAIN_WINDOW(userdata);
+	g_debug("Closing archive");
+}
+
+static void
+cb_xa_main_close_window(GtkWidget *widget, gpointer userdata)
+{
+	XAMainWindow *window = XA_MAIN_WINDOW(userdata);
+	gtk_widget_destroy(GTK_WIDGET(window));
+}
+
+static void
 cb_xa_main_stop_archive(GtkWidget *widget, gpointer userdata)
 {
 }
@@ -514,6 +575,7 @@
 
 	if(!gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook)))
 	{
+		gtk_widget_set_sensitive(window->menubar.menu_item_close, FALSE);
 		gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add), FALSE);
 		gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_extract), FALSE);
 		gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_remove), FALSE);
@@ -534,7 +596,20 @@
 			xa_notebook_add_archive(XA_NOTEBOOK(window->notebook), archive, support);
 		else
 			xa_notebook_page_set_archive(XA_NOTEBOOK(window->notebook), archive, support, replace);
+		gtk_widget_set_sensitive(window->menubar.menu_item_close, TRUE);
 		return 0;
 	}
+	else
+	{
+		GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(window), 
+				GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL, 
+				GTK_MESSAGE_ERROR, 
+				GTK_BUTTONS_OK,
+				_("Failed to open file"));
+		gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog), _("'%s'\nCould not be opened"), path);
+		gtk_dialog_run(GTK_DIALOG(dialog));
+		gtk_widget_destroy(dialog);
+	}
 	return 1;
 }
+

Modified: xarchiver/branches/xarchiver-psybsd/src/main_window.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/main_window.h	2006-11-11 22:14:00 UTC (rev 23832)
+++ xarchiver/branches/xarchiver-psybsd/src/main_window.h	2006-11-12 08:59:44 UTC (rev 23833)
@@ -56,21 +56,18 @@
 	XAApplication *app;
 	GtkWidget *menu_bar;
 	struct {
-		GtkWidget *menu_item_archive;
-		GtkWidget *menu_archive;
-		/* contents of 'archive' menu */
+		/* 'file' menu */
+		GtkWidget *menu_item_file;
+		GtkWidget *menu_file;
+		/* contents of 'file' menu */
 		GtkWidget *menu_item_new;
 		GtkWidget *menu_item_open;
 		GtkWidget *menu_item_properties;
 		GtkWidget *menu_item_close;
 		GtkWidget *menu_item_quit;
 
-		GtkWidget *menu_item_view;
-		GtkWidget *menu_view;
-		/* contents of 'view' menu */
-		GtkWidget *menu_location_selector;
-		GtkWidget *menu_item_settings;
 
+		/* 'action' menu */
 		GtkWidget *menu_item_action;
 		GtkWidget *menu_action;
 		/* contents of 'action' menu */
@@ -78,9 +75,16 @@
 		GtkWidget *menu_item_extract;
 		GtkWidget *menu_item_remove;
 
+		/* 'view' menu */
+		GtkWidget *menu_item_view;
+		GtkWidget *menu_view;
+		/* contents of 'view' menu */
+		GtkWidget *menu_location_selector;
+		GtkWidget *menu_item_settings;
+
+		/* 'help' menu */
 		GtkWidget *menu_item_help;
 		GtkWidget *menu_help;
-
 		/* contents of 'help' menu */
 		GtkWidget *menu_item_about;
 
@@ -97,6 +101,7 @@
 		GtkToolItem *tool_item_stop;
 	} toolbar;
 	XANavigationBar *navigationbar;
+	GtkAccelGroup *accel_group;
 	GtkWidget *notebook;
 	GtkWidget *statusbar;
 	GtkWidget *about_dlg;



More information about the Xfce4-commits mailing list