[Xfce4-commits] r24109 - in squeeze/trunk: libsqueeze po src

Stephan Arts stephan at xfce.org
Fri Dec 15 00:34:59 CET 2006


Author: stephan
Date: 2006-12-14 23:34:58 +0000 (Thu, 14 Dec 2006)
New Revision: 24109

Modified:
   squeeze/trunk/libsqueeze/archive.c
   squeeze/trunk/libsqueeze/archive.h
   squeeze/trunk/libsqueeze/internals.c
   squeeze/trunk/libsqueeze/internals.h
   squeeze/trunk/po/nl.po
   squeeze/trunk/src/add_dialog.c
   squeeze/trunk/src/add_dialog.h
   squeeze/trunk/src/main_window.c
   squeeze/trunk/src/notebook.c
Log:
Add dialog allows the adding of files, but the archive needs to be refreshed after adding.

Modified: squeeze/trunk/libsqueeze/archive.c
===================================================================
--- squeeze/trunk/libsqueeze/archive.c	2006-12-14 21:57:06 UTC (rev 24108)
+++ squeeze/trunk/libsqueeze/archive.c	2006-12-14 23:34:58 UTC (rev 24109)
@@ -2,7 +2,8 @@
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version.
+ *  the Free Software Foundation; either version 2 of the License, or 
+ *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -1312,3 +1313,10 @@
 	g_return_val_if_fail(LSQ_IS_ARCHIVE(archive), LSQ_ARCHIVESTATUS_ERROR);
 	return archive->status;
 }
+
+LSQArchiveStatus
+lsq_archive_get_old_status(LSQArchive *archive)
+{
+	g_return_val_if_fail(LSQ_IS_ARCHIVE(archive), LSQ_ARCHIVESTATUS_ERROR);
+	return archive->old_status;
+}

Modified: squeeze/trunk/libsqueeze/archive.h
===================================================================
--- squeeze/trunk/libsqueeze/archive.h	2006-12-14 21:57:06 UTC (rev 24108)
+++ squeeze/trunk/libsqueeze/archive.h	2006-12-14 23:34:58 UTC (rev 24109)
@@ -103,6 +103,7 @@
 
 void                lsq_archive_set_status(LSQArchive *archive, LSQArchiveStatus status);
 LSQArchiveStatus    lsq_archive_get_status(LSQArchive *archive);
+LSQArchiveStatus    lsq_archive_get_old_status(LSQArchive *archive);
 const gchar *       lsq_archive_get_filename(LSQArchive *archive);
 
 /* new */

Modified: squeeze/trunk/libsqueeze/internals.c
===================================================================
--- squeeze/trunk/libsqueeze/internals.c	2006-12-14 21:57:06 UTC (rev 24108)
+++ squeeze/trunk/libsqueeze/internals.c	2006-12-14 23:34:58 UTC (rev 24109)
@@ -125,7 +125,7 @@
 	while(_filenames)
 	{
 		_concat_str = concat_str;
-		concat_str = g_strconcat(concat_str, g_shell_quote(_filenames->data) , NULL);
+		concat_str = g_strconcat(concat_str, " ", g_shell_quote(_filenames->data) , NULL);
 		_filenames = _filenames->next;
 		g_free(_concat_str);
 	}

Modified: squeeze/trunk/libsqueeze/internals.h
===================================================================
--- squeeze/trunk/libsqueeze/internals.h	2006-12-14 21:57:06 UTC (rev 24108)
+++ squeeze/trunk/libsqueeze/internals.h	2006-12-14 23:34:58 UTC (rev 24109)
@@ -16,10 +16,6 @@
  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-#ifdef DEBUG
-//#define LSQ_TRACE_ALLOCATION 1
-#endif /* DEBUG */
-
 const gchar            *lsq_tmp_dir;
 GSList                 *lsq_archive_support_list;
 

Modified: squeeze/trunk/po/nl.po
===================================================================
--- squeeze/trunk/po/nl.po	2006-12-14 21:57:06 UTC (rev 24108)
+++ squeeze/trunk/po/nl.po	2006-12-14 23:34:58 UTC (rev 24109)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: Squeeze 0.0.1-svn-r24005\n"
 "Report-Msgid-Bugs-To: stephan at xfce.org\n"
-"POT-Creation-Date: 2006-12-12 14:01+0100\n"
+"POT-Creation-Date: 2006-12-13 17:19+0100\n"
 "PO-Revision-Date: 2006-11-28 22:52+0100\n"
 "Last-Translator: Stephan Arts <stephan at xfce.org>\n"
 "Language-Team: Dutch <vertaling at vrijschrift.org>\n"
@@ -16,11 +16,11 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../libsqueeze/archive.c:421
+#: ../libsqueeze/archive.c:422
 msgid "Filename"
 msgstr "Bestandsnaam"
 
-#: ../libsqueeze/archive.c:424
+#: ../libsqueeze/archive.c:425
 msgid "Mime type"
 msgstr "Mime type"
 
@@ -295,26 +295,36 @@
 msgid "Create new archive"
 msgstr "Nieuw archief maken"
 
-#: ../src/add_dialog.c:69
+#: ../src/add_dialog.c:75
 msgid "Files and directories to add"
 msgstr "Bestanden en mappen om toe te voegen"
 
-#: ../src/add_dialog.c:70
+#: ../src/add_dialog.c:76
 msgid "Options:"
 msgstr "Opties:"
 
-#: ../src/add_dialog.c:101
+#: ../src/add_dialog.c:107
 msgid "Files"
 msgstr "Bestanden"
 
-#: ../src/add_dialog.c:105
+#: ../src/add_dialog.c:111
 msgid "Directories"
 msgstr "Mappen"
 
-#: ../src/add_dialog.c:138
+#: ../src/add_dialog.c:147
 msgid "Add file(s) to archive"
 msgstr "Bestand(en) toevoegen aan archief"
 
+#. Select Files Dialog
+#: ../src/add_dialog.c:180
+msgid "Select files"
+msgstr "Selecteer bestanden"
+
+#. Select Folder Dialog
+#: ../src/add_dialog.c:186
+msgid "Select folders"
+msgstr "Selecteer mappen"
+
 #: ../src/extract_dialog.c:78
 msgid "<b>Extract files:</b>"
 msgstr "<b>Bestanden uitpakken:</b>"
@@ -347,11 +357,16 @@
 msgid "The amount of space between the path buttons"
 msgstr "De ruimte tussen de pad knoppen"
 
-#: ../src/notebook.c:314
+#: ../src/notebook.c:319
 #, c-format
 msgid "Failed to open archive '%s'."
 msgstr "Kan archief '%s' niet openen."
 
+#: ../src/notebook.c:322
+#, c-format
+msgid "Failed to extract contents of archive '%s'."
+msgstr "Het uitpakken van de inhoud van archief '%s' is mislukt."
+
 #: ../src/archive_store.c:242
 msgid "Show mime icons"
 msgstr "Mime iconen weergeven"

Modified: squeeze/trunk/src/add_dialog.c
===================================================================
--- squeeze/trunk/src/add_dialog.c	2006-12-14 21:57:06 UTC (rev 24108)
+++ squeeze/trunk/src/add_dialog.c	2006-12-14 23:34:58 UTC (rev 24109)
@@ -91,7 +91,7 @@
 
 	renderer = gtk_cell_renderer_pixbuf_new();
 	gtk_tree_view_column_pack_start (column, renderer, FALSE);
-	gtk_tree_view_column_add_attribute (column, renderer, "stock-id", 0);
+	gtk_tree_view_column_add_attribute (column, renderer, "icon-name", 0);
 
 	renderer = gtk_cell_renderer_text_new();
 	gtk_tree_view_column_pack_start(column, renderer, TRUE);
@@ -173,8 +173,11 @@
 {
 	SQAddDialog *dialog = SQ_ADD_DIALOG(user_data);
 	GtkWidget *add_dialog = NULL;
+	GtkTreeIter iter;
 	gint result = 0;
 
+	GSList *filenames, *_filenames;
+
 	if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->files_radio)))
 	{ /* Select Files Dialog */
 		add_dialog = gtk_file_chooser_dialog_new(_("Select files"), (GtkWindow *)dialog, GTK_FILE_CHOOSER_ACTION_OPEN, 
@@ -194,7 +197,17 @@
 	switch(result)
 	{
 		case GTK_RESPONSE_OK:
-			/* TODO: add filenames to list in sq_add_dialog */
+			filenames = gtk_file_chooser_get_filenames((GtkFileChooser *)add_dialog);
+			_filenames = filenames;
+			while(_filenames)
+			{
+				gtk_list_store_append(dialog->file_liststore, &iter);
+				if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->files_radio)))
+					gtk_list_store_set(dialog->file_liststore, &iter, 0, "unknown", 1, _filenames->data, -1);
+				else
+					gtk_list_store_set(dialog->file_liststore, &iter, 0, "folder", 1, _filenames->data, -1);
+				_filenames = _filenames->next;
+			}
 			break;
 		case GTK_RESPONSE_CANCEL:
 			/* Probably do nothing */
@@ -206,5 +219,26 @@
 static void
 cb_add_dialog_remove_button_clicked(GtkButton *button, gpointer user_data)
 {
+//	SQAddDialog *dialog = SQ_ADD_DIALOG(user_data);
+	
+}
 
+GSList *
+sq_add_dialog_get_filenames(SQAddDialog *dialog)
+{
+	GtkTreeIter iter;
+	GSList *filenames = NULL;
+	GValue *value = g_new0(GValue, 1);
+	gtk_tree_model_get_iter_first(GTK_TREE_MODEL(dialog->file_liststore), &iter);
+	while(TRUE)
+	{
+		gtk_tree_model_get_value(GTK_TREE_MODEL(dialog->file_liststore), &iter, 1, value);
+		filenames = g_slist_prepend(filenames, g_value_dup_string(value)); 
+		g_value_unset(value);
+		if(!gtk_tree_model_iter_next(GTK_TREE_MODEL(dialog->file_liststore), &iter))
+			break;
+	}
+	
+	g_free(value);
+	return filenames;
 }

Modified: squeeze/trunk/src/add_dialog.h
===================================================================
--- squeeze/trunk/src/add_dialog.h	2006-12-14 21:57:06 UTC (rev 24108)
+++ squeeze/trunk/src/add_dialog.h	2006-12-14 23:34:58 UTC (rev 24109)
@@ -61,7 +61,9 @@
 	GtkDialogClass parent;
 };
 
+GType      sq_add_dialog_get_type();
 GtkWidget *sq_add_dialog_new(LSQArchiveSupport *support);
+GSList    *sq_add_dialog_get_filenames(SQAddDialog *dialog);
 
 G_END_DECLS
 #endif /* __SQRCHIVER_ADD_DIALOG_H__ */

Modified: squeeze/trunk/src/main_window.c
===================================================================
--- squeeze/trunk/src/main_window.c	2006-12-14 21:57:06 UTC (rev 24108)
+++ squeeze/trunk/src/main_window.c	2006-12-14 23:34:58 UTC (rev 24109)
@@ -667,6 +667,7 @@
 	LSQArchive        *lp_archive = NULL;
 	LSQArchiveSupport *lp_support = NULL;
 	GtkWidget         *dialog = NULL;
+	GSList            *filenames = NULL;
 	gint result;
 	sq_notebook_get_active_archive(SQ_NOTEBOOK(window->notebook), &lp_archive, &lp_support);
 
@@ -676,6 +677,8 @@
 	if(result == GTK_RESPONSE_OK)
 	{
 		gtk_widget_hide(dialog);
+		filenames = sq_add_dialog_get_filenames(SQ_ADD_DIALOG(dialog));
+		lsq_archive_support_add(lp_support, lp_archive, filenames);
 	}
 	gtk_widget_destroy (dialog);
 }

Modified: squeeze/trunk/src/notebook.c
===================================================================
--- squeeze/trunk/src/notebook.c	2006-12-14 21:57:06 UTC (rev 24108)
+++ squeeze/trunk/src/notebook.c	2006-12-14 23:34:58 UTC (rev 24109)
@@ -306,12 +306,24 @@
 void
 cb_notebook_archive_status_changed(LSQArchive *archive, SQNotebook *notebook)
 {
+	GtkWidget *dialog = NULL;
+
 #ifdef DEBUG
 	g_debug("NOTEBOOK: Archive status changed");
 #endif /* DEBUG */
 	if(lsq_archive_get_status(archive) == LSQ_ARCHIVESTATUS_ERROR)
 	{
-		GtkWidget *dialog = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Failed to open archive '%s'."), archive->path);
+		switch(lsq_archive_get_old_status(archive))
+		{
+			case LSQ_ARCHIVESTATUS_REFRESH:
+				dialog = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Failed to open archive '%s'."), archive->path);
+				break;
+			case LSQ_ARCHIVESTATUS_EXTRACT:
+				dialog = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Failed to extract contents of archive '%s'."), archive->path);
+				break;
+			default:
+				break;
+		}
 		gdk_threads_enter();
 		gtk_dialog_run((GtkDialog *)dialog);
 		gdk_threads_leave();



More information about the Xfce4-commits mailing list