[Xfce4-commits] r22931 - in xarchiver/branches/xarchiver-psybsd: libxarchiver po src

Stephan Arts stephan at xfce.org
Tue Aug 29 11:50:46 UTC 2006


Author: stephan
Date: 2006-08-29 11:50:44 +0000 (Tue, 29 Aug 2006)
New Revision: 22931

Modified:
   xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c
   xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.c
   xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.h
   xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c
   xarchiver/branches/xarchiver-psybsd/po/nl.po
   xarchiver/branches/xarchiver-psybsd/po/xarchiver.pot
   xarchiver/branches/xarchiver-psybsd/src/extract_dialog.c
Log:
boolean extract options are now supported by extract-dialog



Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c	2006-08-29 08:18:18 UTC (rev 22930)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c	2006-08-29 11:50:44 UTC (rev 22931)
@@ -265,7 +265,7 @@
 		if(command)
 		{
 			lxa_execute(command, archive, NULL, NULL, NULL, NULL);
-			g_debug("Extracting archive '%s' to '%s'", archive->path, dest_path);
+			g_debug("Extracting archive '%s' to '%s'\nUsing command '%s'", archive->path, dest_path, command);
 			g_free(command);
 		}
 	}

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.c	2006-08-29 08:18:18 UTC (rev 22930)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.c	2006-08-29 11:50:44 UTC (rev 22931)
@@ -31,8 +31,6 @@
 enum
 {
 	LXA_ARCHIVE_SUPPORT_ZIP_EXTRACT_OVERWRITE = 1,
-	LXA_ARCHIVE_SUPPORT_ZIP_EXTRACT_FRESHEN_EXISTING,
-	LXA_ARCHIVE_SUPPORT_ZIP_EXTRACT_UPDATE_EXISTING,
 	LXA_ARCHIVE_SUPPORT_ZIP_ADD_COMPRESSION_LEVEL,
 	LXA_ARCHIVE_SUPPORT_ZIP_PASSWORD,
 };
@@ -95,6 +93,13 @@
 	object_class->set_property = lxa_archive_support_zip_set_property;
 	object_class->get_property = lxa_archive_support_zip_get_property;
 
+	pspec = g_param_spec_string("extract-password",
+		_("Password"),
+		_("Password"),
+		"",
+		G_PARAM_READWRITE);
+	g_object_class_install_property(object_class, LXA_ARCHIVE_SUPPORT_ZIP_PASSWORD, pspec);
+
 	pspec = g_param_spec_boolean("extract-overwrite",
 		_("Overwrite existing files"),
 		_("Overwrite existing files on extraction"),
@@ -207,6 +212,9 @@
 		case LXA_ARCHIVE_SUPPORT_ZIP_EXTRACT_OVERWRITE:
 			g_value_set_boolean(value, LXA_ARCHIVE_SUPPORT_ZIP(object)->_extr_overwrite);
 			break;
+		case LXA_ARCHIVE_SUPPORT_ZIP_PASSWORD:
+			g_value_set_string (value, LXA_ARCHIVE_SUPPORT_ZIP(object)->_extr_password);
+			break;
 		default:
 			G_OBJECT_WARN_INVALID_PROPERTY_ID(object,prop_id,pspec);
 			break;
@@ -221,6 +229,9 @@
 		case LXA_ARCHIVE_SUPPORT_ZIP_EXTRACT_OVERWRITE:
 			LXA_ARCHIVE_SUPPORT_ZIP(object)->_extr_overwrite = g_value_get_boolean(value);
 			break;
+		case LXA_ARCHIVE_SUPPORT_ZIP_PASSWORD:
+			LXA_ARCHIVE_SUPPORT_ZIP(object)->_extr_password = (gchar *)g_value_get_string(value);
+			break;
 		default:
 			G_OBJECT_WARN_INVALID_PROPERTY_ID(object,prop_id,pspec);
 			break;

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.h	2006-08-29 08:18:18 UTC (rev 22930)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.h	2006-08-29 11:50:44 UTC (rev 22931)
@@ -46,7 +46,8 @@
 struct _LXAArchiveSupportZip
 {
 	LXAArchiveSupport parent;
-	gboolean _extr_overwrite;
+	gboolean  _extr_overwrite;
+	gchar    *_extr_password;
 };
 
 typedef struct _LXAArchiveSupportZipClass LXAArchiveSupportZipClass;

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c	2006-08-29 08:18:18 UTC (rev 22930)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c	2006-08-29 11:50:44 UTC (rev 22931)
@@ -225,11 +225,15 @@
 	GParamSpec **pspecs = g_object_class_list_properties(support_class, &_nprops);
 	GSList *pspec_list = NULL;
 
-	for(i = 0; i < _nprops; i++)
+/* Reverse the array, because the list gets prepended
+ * Otherwise the option-list gets reversed
+ */
+	for(i = _nprops; i > 0; i--)
 	{
-		if(!strncmp(prefix, g_param_spec_get_name(pspecs[i]), strlen(prefix)))
+		if(!strncmp(prefix, g_param_spec_get_name(pspecs[i-1]), strlen(prefix)))
 		{
-			pspec_list = g_slist_prepend(pspec_list, pspecs[i]);
+			pspec_list = g_slist_prepend(pspec_list, pspecs[i-1]);
 		}
 	}
+	return pspec_list;
 }

Modified: xarchiver/branches/xarchiver-psybsd/po/nl.po
===================================================================
--- xarchiver/branches/xarchiver-psybsd/po/nl.po	2006-08-29 08:18:18 UTC (rev 22930)
+++ xarchiver/branches/xarchiver-psybsd/po/nl.po	2006-08-29 11:50:44 UTC (rev 22931)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: xarchiver 0.3.9psybsd\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-08-29 00:00+0200\n"
+"POT-Creation-Date: 2006-08-29 07:38+0200\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"
@@ -26,6 +26,11 @@
 msgid "Overwrite existing files on extraction"
 msgstr "Bestaande bestanden overschrijven tijdens uitpakken"
 
+#: ../libxarchiver/archive-support-zip.c:107
+#: ../libxarchiver/archive-support-zip.c:108
+msgid "Password"
+msgstr "Wachtwoord"
+
 #: ../src/main.c:47
 msgid "[destination path]"
 msgstr "[bestemmings map]"

Modified: xarchiver/branches/xarchiver-psybsd/po/xarchiver.pot
===================================================================
--- xarchiver/branches/xarchiver-psybsd/po/xarchiver.pot	2006-08-29 08:18:18 UTC (rev 22930)
+++ xarchiver/branches/xarchiver-psybsd/po/xarchiver.pot	2006-08-29 11:50:44 UTC (rev 22931)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-08-29 00:00+0200\n"
+"POT-Creation-Date: 2006-08-29 07:38+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -26,6 +26,11 @@
 msgid "Overwrite existing files on extraction"
 msgstr ""
 
+#: ../libxarchiver/archive-support-zip.c:107
+#: ../libxarchiver/archive-support-zip.c:108
+msgid "Password"
+msgstr ""
+
 #: ../src/main.c:47
 msgid "[destination path]"
 msgstr ""

Modified: xarchiver/branches/xarchiver-psybsd/src/extract_dialog.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/extract_dialog.c	2006-08-29 08:18:18 UTC (rev 22930)
+++ xarchiver/branches/xarchiver-psybsd/src/extract_dialog.c	2006-08-29 11:50:44 UTC (rev 22931)
@@ -31,6 +31,9 @@
 static void
 xa_extract_archive_dialog_init(XAExtractArchiveDialog *archive);
 
+void
+xa_extract_dialog_option_toggled (GtkWidget *widget, gpointer data);
+
 GType
 xa_extract_archive_dialog_get_type ()
 {
@@ -120,9 +123,10 @@
 			{
 				case (G_TYPE_BOOLEAN):
 					test = gtk_check_button_new_with_label(g_param_spec_get_nick(G_PARAM_SPEC(extract_options->data)));
+					g_signal_connect(G_OBJECT(test), "toggled", G_CALLBACK(xa_extract_dialog_option_toggled), (void *)g_param_spec_get_name(G_PARAM_SPEC(extract_options->data)));
 					gtk_box_pack_start(GTK_BOX(r_vbox), test, FALSE, FALSE, 0);
 					break;
-				case (G_TYPE_STRING):
+				case (G_TYPE_STRING): /* TODO: Add text-field */
 					test = gtk_label_new(g_param_spec_get_nick(G_PARAM_SPEC(extract_options->data)));
 					gtk_box_pack_start(GTK_BOX(r_vbox), test, FALSE, FALSE, 0);
 					break;
@@ -133,3 +137,18 @@
 	gtk_widget_show_all(r_vbox);
 	return GTK_WIDGET(dialog);
 }
+
+void
+xa_extract_dialog_option_toggled (GtkWidget *widget, gpointer data)
+{
+	GValue *val = g_new0(GValue, 1);
+	gboolean active;
+
+	val = g_value_init(val, G_TYPE_BOOLEAN);
+
+	g_value_set_boolean(val, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
+
+	g_object_set_property(G_OBJECT(XA_EXTRACT_ARCHIVE_DIALOG(gtk_widget_get_ancestor(widget, GTK_TYPE_DIALOG))->support), (gchar *)data, val);
+
+	g_free(val);
+}



More information about the Xfce4-commits mailing list