[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