[Xfce4-commits] r25699 - in squeeze/trunk: libsqueeze src
Stephan Arts
stephan at xfce.org
Thu May 10 12:02:38 CEST 2007
Author: stephan
Date: 2007-05-10 10:02:38 +0000 (Thu, 10 May 2007)
New Revision: 25699
Removed:
squeeze/trunk/src/add_dialog.c
squeeze/trunk/src/add_dialog.h
Modified:
squeeze/trunk/libsqueeze/archive.c
squeeze/trunk/libsqueeze/command-builder-compr.c
squeeze/trunk/libsqueeze/command-builder-gnu-tar.c
squeeze/trunk/libsqueeze/command-builder-rar.c
squeeze/trunk/libsqueeze/command-builder-zip.c
squeeze/trunk/libsqueeze/command-builder.h
squeeze/trunk/libsqueeze/libsqueeze-archive.h
squeeze/trunk/libsqueeze/libsqueeze.c
squeeze/trunk/libsqueeze/libsqueeze.h
squeeze/trunk/src/Makefile.am
squeeze/trunk/src/application.c
squeeze/trunk/src/main_window.c
squeeze/trunk/src/main_window.h
squeeze/trunk/src/new_dialog.c
Log:
changed stuff
Modified: squeeze/trunk/libsqueeze/archive.c
===================================================================
--- squeeze/trunk/libsqueeze/archive.c 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/libsqueeze/archive.c 2007-05-10 10:02:38 UTC (rev 25699)
@@ -356,6 +356,15 @@
return NULL;
}
+LSQSupportType
+lsq_archive_get_support_mask(const LSQArchive *archive)
+{
+ if(archive->builder)
+ return archive->builder->support_mask;
+ else
+ return 0;
+}
+
void
lsq_archive_refreshed(const LSQArchive *archive)
{
Modified: squeeze/trunk/libsqueeze/command-builder-compr.c
===================================================================
--- squeeze/trunk/libsqueeze/command-builder-compr.c 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/libsqueeze/command-builder-compr.c 2007-05-10 10:02:38 UTC (rev 25699)
@@ -99,6 +99,8 @@
{
LSQCommandBuilder *command_builder = LSQ_COMMAND_BUILDER(command_builder_compr);
+ command_builder->support_mask = LSQ_SUPPORT_FILES;
+
command_builder->build_add = lsq_command_builder_compr_build_add;
command_builder->build_extract = lsq_command_builder_compr_build_extract;
command_builder->build_remove = lsq_command_builder_compr_build_remove;
Modified: squeeze/trunk/libsqueeze/command-builder-gnu-tar.c
===================================================================
--- squeeze/trunk/libsqueeze/command-builder-gnu-tar.c 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/libsqueeze/command-builder-gnu-tar.c 2007-05-10 10:02:38 UTC (rev 25699)
@@ -110,6 +110,10 @@
{
LSQCommandBuilder *command_builder = LSQ_COMMAND_BUILDER(command_builder_gnu_tar);
+ command_builder->support_mask = LSQ_SUPPORT_FILES |
+ LSQ_SUPPORT_FOLDERS |
+ LSQ_SUPPORT_MANY;
+
command_builder->build_add = lsq_command_builder_gnu_tar_build_add;
command_builder->build_extract = lsq_command_builder_gnu_tar_build_extract;
command_builder->build_remove = lsq_command_builder_gnu_tar_build_remove;
Modified: squeeze/trunk/libsqueeze/command-builder-rar.c
===================================================================
--- squeeze/trunk/libsqueeze/command-builder-rar.c 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/libsqueeze/command-builder-rar.c 2007-05-10 10:02:38 UTC (rev 25699)
@@ -105,6 +105,10 @@
{
LSQCommandBuilder *command_builder = LSQ_COMMAND_BUILDER(command_builder_rar);
+ command_builder->support_mask = LSQ_SUPPORT_FILES |
+ LSQ_SUPPORT_FOLDERS |
+ LSQ_SUPPORT_MANY;
+
gchar *rar_path = g_find_program_in_path("rar");
gchar *unrar_path = g_find_program_in_path("unrar");
Modified: squeeze/trunk/libsqueeze/command-builder-zip.c
===================================================================
--- squeeze/trunk/libsqueeze/command-builder-zip.c 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/libsqueeze/command-builder-zip.c 2007-05-10 10:02:38 UTC (rev 25699)
@@ -94,6 +94,10 @@
{
LSQCommandBuilder *command_builder = LSQ_COMMAND_BUILDER(command_builder_zip);
+ command_builder->support_mask = LSQ_SUPPORT_FILES |
+ LSQ_SUPPORT_FOLDERS |
+ LSQ_SUPPORT_MANY;
+
gchar *zip_path = g_find_program_in_path("zip");
gchar *unzip_path = g_find_program_in_path("unzip");
Modified: squeeze/trunk/libsqueeze/command-builder.h
===================================================================
--- squeeze/trunk/libsqueeze/command-builder.h 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/libsqueeze/command-builder.h 2007-05-10 10:02:38 UTC (rev 25699)
@@ -21,13 +21,16 @@
G_TYPE_CHECK_CLASS_TYPE ((klass), \
LSQ_TYPE_COMMAND_BUILDER))
+
+
typedef struct _LSQCommandBuilder LSQCommandBuilder;
struct _LSQCommandBuilder
{
- GObject parent;
- gchar *id;
- gchar **mime_types;
+ GObject parent;
+ gchar *id;
+ gchar **mime_types;
+ LSQSupportType support_mask;
LSQBuilderSettings *settings;
Modified: squeeze/trunk/libsqueeze/libsqueeze-archive.h
===================================================================
--- squeeze/trunk/libsqueeze/libsqueeze-archive.h 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/libsqueeze/libsqueeze-archive.h 2007-05-10 10:02:38 UTC (rev 25699)
@@ -24,6 +24,13 @@
LSQ_ARCHIVE_PROP_USER
};
+typedef enum
+{
+ LSQ_SUPPORT_FILES = 1 << 0x0,
+ LSQ_SUPPORT_FOLDERS = 1 << 0x1,
+ LSQ_SUPPORT_MANY = 1 << 0x2
+} LSQSupportType;
+
typedef struct _LSQArchiveIter LSQArchiveIter;
#define LSQ_TYPE_ARCHIVE lsq_archive_get_type()
@@ -55,6 +62,7 @@
gchar *lsq_archive_get_filename(const LSQArchive *archive);
const gchar *lsq_archive_get_mimetype(const LSQArchive *archive);
gboolean lsq_archive_exists(const LSQArchive *archive);
+LSQSupportType lsq_archive_get_support_mask(const LSQArchive *archive);
#ifdef DEBUG
LSQArchiveIter *_lsq_archive_iter_ref(LSQArchiveIter *iter, const gchar*, int);
@@ -65,6 +73,7 @@
*/
#endif
+
LSQArchiveIter *lsq_archive_iter_ref(LSQArchiveIter *iter);
void lsq_archive_iter_unref(LSQArchiveIter *iter);
Modified: squeeze/trunk/libsqueeze/libsqueeze.c
===================================================================
--- squeeze/trunk/libsqueeze/libsqueeze.c 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/libsqueeze/libsqueeze.c 2007-05-10 10:02:38 UTC (rev 25699)
@@ -131,10 +131,10 @@
GSList *
-lsq_get_supported_mime_types(LSQSupportTypes types)
+lsq_get_supported_mime_types(LSQOperationSupportType types)
{
GSList *m_types = g_slist_copy(lsq_mime_info_list);
- if(types &= LSQ_SUPPORT_ADD)
+ if(types &= LSQ_OPERATION_SUPPORT_ADD)
{
GSList *_types = m_types;
while(_types)
Modified: squeeze/trunk/libsqueeze/libsqueeze.h
===================================================================
--- squeeze/trunk/libsqueeze/libsqueeze.h 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/libsqueeze/libsqueeze.h 2007-05-10 10:02:38 UTC (rev 25699)
@@ -26,12 +26,13 @@
typedef enum
{
- LSQ_SUPPORT_ADD = 1,
- LSQ_SUPPORT_REMOVE = 2,
- LSQ_SUPPORT_REFRESH = 3,
- LSQ_SUPPORT_EXTRACT = 4
-} LSQSupportTypes;
+ LSQ_OPERATION_SUPPORT_ADD = 1 << 0x0,
+ LSQ_OPERATION_SUPPORT_REMOVE = 1 << 0x1,
+ LSQ_OPERATION_SUPPORT_EXTRACT = 1 << 0x2,
+ LSQ_OPERATION_SUPPORT_SHOW = 1 << 0x3
+} LSQOperationSupportType;
+
/*
* void
* lsq_init()
@@ -81,7 +82,7 @@
lsq_close_archive( LSQArchive *archive );
GSList *
-lsq_get_supported_mime_types(LSQSupportTypes);
+lsq_get_supported_mime_types(LSQOperationSupportType types);
gboolean
lsq_is_supported(const gchar *filename);
Modified: squeeze/trunk/src/Makefile.am
===================================================================
--- squeeze/trunk/src/Makefile.am 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/src/Makefile.am 2007-05-10 10:02:38 UTC (rev 25699)
@@ -27,7 +27,6 @@
throbber-fallback.c throbber-fallback.h \
throbber.c throbber.h \
new_dialog.c new_dialog.h \
- add_dialog.c add_dialog.h \
extract_dialog.c extract_dialog.h \
widget_factory.c widget_factory.h
# location_entry.c location_entry.h
Deleted: squeeze/trunk/src/add_dialog.c
Deleted: squeeze/trunk/src/add_dialog.h
Modified: squeeze/trunk/src/application.c
===================================================================
--- squeeze/trunk/src/application.c 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/src/application.c 2007-05-10 10:02:38 UTC (rev 25699)
@@ -22,7 +22,6 @@
#include <libsqueeze/libsqueeze.h>
#include "new_dialog.h"
-#include "add_dialog.h"
#include "message_dialog.h"
#include "extract_dialog.h"
Modified: squeeze/trunk/src/main_window.c
===================================================================
--- squeeze/trunk/src/main_window.c 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/src/main_window.c 2007-05-10 10:02:38 UTC (rev 25699)
@@ -60,7 +60,6 @@
#include "new_dialog.h"
#include "extract_dialog.h"
-#include "add_dialog.h"
#include "main.h"
@@ -86,7 +85,8 @@
static void cb_sq_main_new_archive(GtkWidget *widget, gpointer userdata);
static void cb_sq_main_open_archive(GtkWidget *widget, gpointer userdata);
static void cb_sq_main_extract_archive(GtkWidget *widget, gpointer userdata);
-static void cb_sq_main_add_to_archive(GtkWidget *widget, gpointer userdata);
+static void cb_sq_main_add_files_to_archive(GtkWidget *widget, gpointer userdata);
+static void cb_sq_main_add_folders_to_archive(GtkWidget *widget, gpointer userdata);
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);
@@ -313,11 +313,17 @@
gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->menubar.menu_item_action), window->menubar.menu_action);
tmp_image = sq_main_window_find_image("archive-add.png", GTK_ICON_SIZE_MENU);
- window->menubar.menu_item_add = g_object_ref(gtk_image_menu_item_new_with_mnemonic(_("_Add")));
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(window->menubar.menu_item_add), tmp_image);
- gtk_widget_set_sensitive(window->menubar.menu_item_add, FALSE);
- gtk_container_add(GTK_CONTAINER(window->menubar.menu_action), window->menubar.menu_item_add);
+ window->menubar.menu_item_add_files = g_object_ref(gtk_image_menu_item_new_with_mnemonic(_("_Add files")));
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(window->menubar.menu_item_add_files), tmp_image);
+ gtk_widget_set_sensitive(window->menubar.menu_item_add_files, FALSE);
+ gtk_container_add(GTK_CONTAINER(window->menubar.menu_action), window->menubar.menu_item_add_files);
+ tmp_image = sq_main_window_find_image("archive-add.png", GTK_ICON_SIZE_MENU);
+ window->menubar.menu_item_add_folders = g_object_ref(gtk_image_menu_item_new_with_mnemonic(_("_Add _folders")));
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(window->menubar.menu_item_add_folders), tmp_image);
+ gtk_widget_set_sensitive(window->menubar.menu_item_add_folders, FALSE);
+ gtk_container_add(GTK_CONTAINER(window->menubar.menu_action), window->menubar.menu_item_add_folders);
+
tmp_image = sq_main_window_find_image("archive-extract.png", GTK_ICON_SIZE_MENU);
window->menubar.menu_item_extract = g_object_ref(gtk_image_menu_item_new_with_mnemonic(_("_Extract")));
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(window->menubar.menu_item_extract), tmp_image);
@@ -332,7 +338,8 @@
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_add_files), "activate", G_CALLBACK(cb_sq_main_add_files_to_archive), window);
+ g_signal_connect(G_OBJECT(window->menubar.menu_item_add_folders), "activate", G_CALLBACK(cb_sq_main_add_folders_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);
@@ -421,9 +428,13 @@
/* Action pane */
tmp_image = sq_main_window_find_image("archive-add.png", GTK_ICON_SIZE_LARGE_TOOLBAR);
- window->toolbar.tool_item_add = gtk_tool_button_new(tmp_image, _("Add"));
- gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add), FALSE);
+ window->toolbar.tool_item_add_files = gtk_tool_button_new(tmp_image, _("Add files"));
+ gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add_files), FALSE);
+ tmp_image = sq_main_window_find_image("archive-add.png", GTK_ICON_SIZE_LARGE_TOOLBAR);
+ window->toolbar.tool_item_add_folders = gtk_tool_button_new(tmp_image, _("Add folders"));
+ gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add_folders), FALSE);
+
tmp_image = sq_main_window_find_image("archive-extract.png", GTK_ICON_SIZE_LARGE_TOOLBAR);
window->toolbar.tool_item_extract = gtk_tool_button_new(tmp_image, _("Extract"));
gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_extract), FALSE);
@@ -433,12 +444,14 @@
tool_separator = gtk_separator_tool_item_new ();
- gtk_container_add(GTK_CONTAINER(window->tool_bar), GTK_WIDGET(window->toolbar.tool_item_add));
+ gtk_container_add(GTK_CONTAINER(window->tool_bar), GTK_WIDGET(window->toolbar.tool_item_add_files));
+ gtk_container_add(GTK_CONTAINER(window->tool_bar), GTK_WIDGET(window->toolbar.tool_item_add_folders));
gtk_container_add(GTK_CONTAINER(window->tool_bar), GTK_WIDGET(window->toolbar.tool_item_extract));
gtk_container_add(GTK_CONTAINER(window->tool_bar), GTK_WIDGET(window->toolbar.tool_item_remove));
gtk_container_add(GTK_CONTAINER(window->tool_bar), GTK_WIDGET(tool_separator));
- g_signal_connect(G_OBJECT(window->toolbar.tool_item_add), "clicked", G_CALLBACK(cb_sq_main_add_to_archive), window);
+ g_signal_connect(G_OBJECT(window->toolbar.tool_item_add_files), "clicked", G_CALLBACK(cb_sq_main_add_files_to_archive), window);
+ g_signal_connect(G_OBJECT(window->toolbar.tool_item_add_folders), "clicked", G_CALLBACK(cb_sq_main_add_folders_to_archive), window);
g_signal_connect(G_OBJECT(window->toolbar.tool_item_extract), "clicked", G_CALLBACK(cb_sq_main_extract_archive), window);
g_signal_connect(G_OBJECT(window->toolbar.tool_item_remove), "clicked", G_CALLBACK(cb_sq_main_remove_from_archive), window);
@@ -633,6 +646,7 @@
gchar *archive_path = NULL;
SQMainWindow *window = SQ_MAIN_WINDOW(userdata);
LSQArchive *archive = NULL;
+ LSQSupportType support_mask = 0;
gint result = 0;
result = gtk_dialog_run (GTK_DIALOG (dialog) );
@@ -647,15 +661,24 @@
if(!lsq_new_archive(archive_path, TRUE, NULL, &archive))
{
+ support_mask = lsq_archive_get_support_mask(archive);
sq_notebook_add_archive(SQ_NOTEBOOK(window->notebook), archive, TRUE);
- gtk_widget_set_sensitive(window->menubar.menu_item_add, TRUE);
+ if(support_mask & LSQ_SUPPORT_FILES)
+ gtk_widget_set_sensitive(window->menubar.menu_item_add_files, TRUE);
+ if(support_mask & LSQ_SUPPORT_FOLDERS)
+ gtk_widget_set_sensitive(window->menubar.menu_item_add_folders, 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);
if(window->tool_bar)
{
- gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add), TRUE);
+ if(support_mask & LSQ_SUPPORT_FILES)
+ gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add_files), TRUE);
+ if(support_mask & LSQ_SUPPORT_FOLDERS)
+ gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add_folders), TRUE);
+
gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_extract), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_remove), TRUE);
@@ -802,7 +825,7 @@
}
static void
-cb_sq_main_add_to_archive(GtkWidget *widget, gpointer userdata)
+cb_sq_main_add_files_to_archive(GtkWidget *widget, gpointer userdata)
{
SQMainWindow *window = SQ_MAIN_WINDOW(userdata);
@@ -812,13 +835,20 @@
gint result;
sq_notebook_get_active_archive(SQ_NOTEBOOK(window->notebook), &lp_archive);
- dialog = sq_add_dialog_new();
+ dialog = gtk_file_chooser_dialog_new(_("Add files"),
+ GTK_WINDOW(window),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL,
+ GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN,
+ GTK_RESPONSE_OK,
+ NULL);
result = gtk_dialog_run (GTK_DIALOG(dialog));
if(result == GTK_RESPONSE_OK)
{
gtk_widget_hide(dialog);
- filenames = sq_add_dialog_get_filenames(SQ_ADD_DIALOG(dialog));
+ filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog));
if(filenames)
{
if(!lsq_archive_add(lp_archive, filenames))
@@ -837,6 +867,49 @@
}
static void
+cb_sq_main_add_folders_to_archive(GtkWidget *widget, gpointer userdata)
+{
+ SQMainWindow *window = SQ_MAIN_WINDOW(userdata);
+
+ LSQArchive *lp_archive = NULL;
+ GtkWidget *dialog = NULL;
+ GSList *filenames = NULL;
+ gint result;
+ sq_notebook_get_active_archive(SQ_NOTEBOOK(window->notebook), &lp_archive);
+
+ dialog = gtk_file_chooser_dialog_new(_("Add folders"),
+ GTK_WINDOW(window),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL,
+ GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN,
+ GTK_RESPONSE_OK,
+ NULL);
+
+ result = gtk_dialog_run (GTK_DIALOG(dialog));
+ if(result == GTK_RESPONSE_OK)
+ {
+ gtk_widget_hide(dialog);
+ filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog));
+ if(filenames)
+ {
+ if(!lsq_archive_add(lp_archive, filenames))
+ {
+ GtkWidget *warning_dialog = gtk_message_dialog_new(GTK_WINDOW(window),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_WARNING,
+ GTK_BUTTONS_CLOSE,
+ _("Squeeze cannot add folders to this archive type,\n"
+ "the application to support this is missing."));
+ gtk_dialog_run (GTK_DIALOG (warning_dialog) );
+ gtk_widget_destroy(warning_dialog);
+ }
+ }
+ }
+ gtk_widget_destroy (dialog);
+}
+
+static void
cb_sq_main_remove_from_archive(GtkWidget *widget, gpointer userdata)
{
SQMainWindow *window = SQ_MAIN_WINDOW(userdata);
@@ -1051,14 +1124,15 @@
if(window->menu_bar)
{
sq_throbber_set_animated(SQ_THROBBER(window->throbber), FALSE);
- gtk_widget_set_sensitive(window->menubar.menu_item_add, TRUE);
+ /* FIXME: */
+ /* 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);
}
if(window->tool_bar)
{
- gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add), TRUE);
+ /* gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add), TRUE); */
gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_extract), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_remove), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_stop), FALSE);
@@ -1069,7 +1143,8 @@
if(window->menu_bar)
{
sq_throbber_set_animated(SQ_THROBBER(window->throbber), TRUE);
- gtk_widget_set_sensitive(window->menubar.menu_item_add, FALSE);
+ /* FIXME: */
+ /* 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);
@@ -1077,7 +1152,7 @@
if(window->tool_bar)
{
- gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add), 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);
gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_stop), TRUE);
@@ -1099,7 +1174,8 @@
gtk_widget_set_sensitive(window->menubar.menu_item_close, FALSE);
/*gtk_widget_set_sensitive(window->menubar.menu_item_properties, FALSE);*/
- gtk_widget_set_sensitive(window->menubar.menu_item_add, FALSE);
+ /* FIXME: */
+ /*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);
@@ -1107,7 +1183,7 @@
if(window->tool_bar)
{
- gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add), 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);
gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_stop), FALSE);
@@ -1276,6 +1352,7 @@
cb_sq_main_window_notebook_state_changed(SQNotebook *notebook, LSQArchive *archive, gpointer userdata)
{
SQMainWindow *window = SQ_MAIN_WINDOW(userdata);
+ LSQSupportType support_mask = lsq_archive_get_support_mask(archive);
guint context_id = gtk_statusbar_get_context_id(GTK_STATUSBAR(window->statusbar), "Window Statusbar");
const gchar *message = lsq_archive_get_status(archive);
@@ -1285,7 +1362,10 @@
message = _("Done");
if(window->menu_bar)
{
- gtk_widget_set_sensitive(window->menubar.menu_item_add, TRUE);
+ if(support_mask & LSQ_SUPPORT_FILES)
+ gtk_widget_set_sensitive(window->menubar.menu_item_add_files, TRUE);
+ if(support_mask & LSQ_SUPPORT_FOLDERS)
+ gtk_widget_set_sensitive(window->menubar.menu_item_add_folders, 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);
@@ -1293,7 +1373,10 @@
if(window->tool_bar)
{
- gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add), TRUE);
+ if(support_mask & LSQ_SUPPORT_FILES)
+ gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add_files), TRUE);
+ if(support_mask & LSQ_SUPPORT_FOLDERS)
+ gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add_folders), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_extract), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_remove), TRUE);
@@ -1306,7 +1389,8 @@
if(window->menu_bar)
{
sq_throbber_set_animated(SQ_THROBBER(window->throbber), TRUE);
- gtk_widget_set_sensitive(window->menubar.menu_item_add, FALSE);
+ gtk_widget_set_sensitive(window->menubar.menu_item_add_files, FALSE);
+ gtk_widget_set_sensitive(window->menubar.menu_item_add_folders, 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);
@@ -1314,7 +1398,8 @@
if(window->tool_bar)
{
- gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add_files), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(window->toolbar.tool_item_add_folders), 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);
Modified: squeeze/trunk/src/main_window.h
===================================================================
--- squeeze/trunk/src/main_window.h 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/src/main_window.h 2007-05-10 10:02:38 UTC (rev 25699)
@@ -90,7 +90,8 @@
GtkWidget *menu_item_action;
GtkWidget *menu_action;
/* contents of 'action' menu */
- GtkWidget *menu_item_add;
+ GtkWidget *menu_item_add_files;
+ GtkWidget *menu_item_add_folders;
GtkWidget *menu_item_extract;
GtkWidget *menu_item_remove;
GtkWidget *menu_item_refresh;
@@ -116,7 +117,8 @@
GtkToolItem *tool_item_open;
/* contents of 'action' pane */
- GtkToolItem *tool_item_add;
+ GtkToolItem *tool_item_add_files;
+ GtkToolItem *tool_item_add_folders;
GtkToolItem *tool_item_extract;
GtkToolItem *tool_item_remove;
GtkToolItem *tool_item_stop;
Modified: squeeze/trunk/src/new_dialog.c
===================================================================
--- squeeze/trunk/src/new_dialog.c 2007-05-09 20:55:21 UTC (rev 25698)
+++ squeeze/trunk/src/new_dialog.c 2007-05-10 10:02:38 UTC (rev 25699)
@@ -73,7 +73,7 @@
gtk_widget_show_all(hbox);
- dialog->supported_mime_types = lsq_get_supported_mime_types(LSQ_SUPPORT_ADD);
+ dialog->supported_mime_types = lsq_get_supported_mime_types(LSQ_OPERATION_SUPPORT_ADD);
GSList *_supported_mime_types = dialog->supported_mime_types;
dialog->file_filter = gtk_file_filter_new();
More information about the Xfce4-commits
mailing list