[gthumb: 4/9] disable drag&drop when the file list is used in a dialog
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb: 4/9] disable drag&drop when the file list is used in a dialog
- Date: Tue, 27 Apr 2010 19:29:07 +0000 (UTC)
commit 06a13e5e29759c4350080224ea89906784f8ced9
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sun Apr 25 19:12:18 2010 +0200
disable drag&drop when the file list is used in a dialog
extensions/catalogs/gth-organize-task.c | 2 +-
extensions/facebook/dlg-export-to-facebook.c | 2 +-
extensions/flicker/dlg-export-to-flickr.c | 2 +-
extensions/flicker/dlg-import-from-flickr.c | 2 +-
extensions/photo_importer/dlg-photo-importer.c | 2 +-
extensions/picasaweb/dlg-export-to-picasaweb.c | 2 +-
extensions/picasaweb/dlg-import-from-picasaweb.c | 2 +-
gthumb/gth-browser.c | 4 +-
gthumb/gth-file-list.c | 51 ++++++++++++----------
gthumb/gth-file-list.h | 3 +-
10 files changed, 39 insertions(+), 33 deletions(-)
---
diff --git a/extensions/catalogs/gth-organize-task.c b/extensions/catalogs/gth-organize-task.c
index ff28633..6c43532 100644
--- a/extensions/catalogs/gth-organize-task.c
+++ b/extensions/catalogs/gth-organize-task.c
@@ -595,7 +595,7 @@ gth_organize_task_init (GthOrganizeTask *self)
gtk_icon_theme_get_for_screen (gtk_widget_get_screen (GET_WIDGET ("organization_treeview"))));
g_object_unref (icon);
- self->priv->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL);
+ self->priv->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL, FALSE);
gth_file_list_set_caption (GTH_FILE_LIST (self->priv->file_list), "standard::display-name");
gtk_widget_show (self->priv->file_list);
gtk_box_pack_start (GTK_BOX (GET_WIDGET ("preview_box")), self->priv->file_list, TRUE, TRUE, 0);
diff --git a/extensions/facebook/dlg-export-to-facebook.c b/extensions/facebook/dlg-export-to-facebook.c
index efb47b5..e736da3 100644
--- a/extensions/facebook/dlg-export-to-facebook.c
+++ b/extensions/facebook/dlg-export-to-facebook.c
@@ -533,7 +533,7 @@ dlg_export_to_facebook (GthBrowser *browser,
/* Set the widget data */
- list_view = gth_file_list_new (GTH_FILE_LIST_TYPE_NO_SELECTION);
+ list_view = gth_file_list_new (GTH_FILE_LIST_TYPE_NO_SELECTION, FALSE);
gth_file_list_set_thumb_size (GTH_FILE_LIST (list_view), 112);
gth_file_view_set_spacing (GTH_FILE_VIEW (gth_file_list_get_view (GTH_FILE_LIST (list_view))), 0);
gth_file_list_enable_thumbs (GTH_FILE_LIST (list_view), TRUE);
diff --git a/extensions/flicker/dlg-export-to-flickr.c b/extensions/flicker/dlg-export-to-flickr.c
index 2601a2f..9f7bf92 100644
--- a/extensions/flicker/dlg-export-to-flickr.c
+++ b/extensions/flicker/dlg-export-to-flickr.c
@@ -527,7 +527,7 @@ dlg_export_to_flickr (FlickrServer *server,
/* Set the widget data */
- list_view = gth_file_list_new (GTH_FILE_LIST_TYPE_NO_SELECTION);
+ list_view = gth_file_list_new (GTH_FILE_LIST_TYPE_NO_SELECTION, FALSE);
gth_file_list_set_thumb_size (GTH_FILE_LIST (list_view), 112);
gth_file_view_set_spacing (GTH_FILE_VIEW (gth_file_list_get_view (GTH_FILE_LIST (list_view))), 0);
gth_file_list_enable_thumbs (GTH_FILE_LIST (list_view), TRUE);
diff --git a/extensions/flicker/dlg-import-from-flickr.c b/extensions/flicker/dlg-import-from-flickr.c
index 7658405..bb7304b 100644
--- a/extensions/flicker/dlg-import-from-flickr.c
+++ b/extensions/flicker/dlg-import-from-flickr.c
@@ -552,7 +552,7 @@ dlg_import_from_flickr (FlickrServer *server,
/* Set the widget data */
- data->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL);
+ data->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL, FALSE);
thumb_loader = gth_file_list_get_thumb_loader (GTH_FILE_LIST (data->file_list));
gth_thumb_loader_use_cache (thumb_loader, FALSE);
gth_thumb_loader_set_loader (thumb_loader, flickr_thumbnail_loader);
diff --git a/extensions/photo_importer/dlg-photo-importer.c b/extensions/photo_importer/dlg-photo-importer.c
index 42e81ac..8f9cb76 100644
--- a/extensions/photo_importer/dlg-photo-importer.c
+++ b/extensions/photo_importer/dlg-photo-importer.c
@@ -525,7 +525,7 @@ dlg_photo_importer (GthBrowser *browser,
"text", SOURCE_LIST_COLUMN_NAME,
NULL);
- data->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL);
+ data->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL, FALSE);
sort_type = gth_main_get_sort_type ("file::mtime");
gth_file_list_set_sort_func (GTH_FILE_LIST (data->file_list), sort_type->cmp_func, FALSE);
gth_file_list_enable_thumbs (GTH_FILE_LIST (data->file_list), TRUE);
diff --git a/extensions/picasaweb/dlg-export-to-picasaweb.c b/extensions/picasaweb/dlg-export-to-picasaweb.c
index f34c00b..e5c4d60 100644
--- a/extensions/picasaweb/dlg-export-to-picasaweb.c
+++ b/extensions/picasaweb/dlg-export-to-picasaweb.c
@@ -868,7 +868,7 @@ dlg_export_to_picasaweb (GthBrowser *browser,
/* Set the widget data */
- list_view = gth_file_list_new (GTH_FILE_LIST_TYPE_NO_SELECTION);
+ list_view = gth_file_list_new (GTH_FILE_LIST_TYPE_NO_SELECTION, FALSE);
gth_file_list_set_thumb_size (GTH_FILE_LIST (list_view), 112);
gth_file_view_set_spacing (GTH_FILE_VIEW (gth_file_list_get_view (GTH_FILE_LIST (list_view))), 0);
gth_file_list_enable_thumbs (GTH_FILE_LIST (list_view), TRUE);
diff --git a/extensions/picasaweb/dlg-import-from-picasaweb.c b/extensions/picasaweb/dlg-import-from-picasaweb.c
index 5108896..5cd9420 100644
--- a/extensions/picasaweb/dlg-import-from-picasaweb.c
+++ b/extensions/picasaweb/dlg-import-from-picasaweb.c
@@ -945,7 +945,7 @@ dlg_import_from_picasaweb (GthBrowser *browser)
/* Set the widget data */
- data->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL);
+ data->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL, FALSE);
thumb_loader = gth_file_list_get_thumb_loader (GTH_FILE_LIST (data->file_list));
gth_thumb_loader_use_cache (thumb_loader, FALSE);
gth_thumb_loader_set_loader (thumb_loader, picasa_web_thumbnail_loader);
diff --git a/gthumb/gth-browser.c b/gthumb/gth-browser.c
index 459d506..5d675b7 100644
--- a/gthumb/gth-browser.c
+++ b/gthumb/gth-browser.c
@@ -3531,7 +3531,7 @@ _gth_browser_construct (GthBrowser *browser)
gtk_widget_set_size_request (browser->priv->viewer_sidebar, MAX (eel_gconf_get_integer (PREF_UI_VIEWER_SIDEBAR_WIDTH, DEF_VIEWER_SIDEBAR_WIDTH), DEF_VIEWER_SIDEBAR_WIDTH), -1);
gtk_paned_pack2 (GTK_PANED (browser->priv->viewer_sidebar_pane), browser->priv->viewer_sidebar, FALSE, TRUE);
- browser->priv->thumbnail_list = gth_file_list_new (GTH_FILE_LIST_TYPE_THUMBNAIL);
+ browser->priv->thumbnail_list = gth_file_list_new (GTH_FILE_LIST_TYPE_THUMBNAIL, TRUE);
gth_file_list_set_caption (GTH_FILE_LIST (browser->priv->thumbnail_list), "none");
gth_file_view_set_spacing (GTH_FILE_VIEW (gth_file_list_get_view (GTH_FILE_LIST (browser->priv->thumbnail_list))), 0);
gth_file_list_set_thumb_size (GTH_FILE_LIST (browser->priv->thumbnail_list), 95);
@@ -3687,7 +3687,7 @@ _gth_browser_construct (GthBrowser *browser)
/* the file list */
- browser->priv->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL);
+ browser->priv->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL, TRUE);
gth_browser_set_sort_order (browser,
gth_main_get_sort_type (eel_gconf_get_string (PREF_SORT_TYPE, "file::mtime")),
FALSE);
diff --git a/gthumb/gth-file-list.c b/gthumb/gth-file-list.c
index e202225..420f0a7 100644
--- a/gthumb/gth-file-list.c
+++ b/gthumb/gth-file-list.c
@@ -516,15 +516,13 @@ checkbox_toggled_cb (GtkCellRendererToggle *cell_renderer,
static void
gth_file_list_construct (GthFileList *file_list,
- GthFileListType list_type)
+ GthFileListType list_type,
+ gboolean enable_drag_drop)
{
GtkWidget *scrolled;
GtkWidget *viewport;
GtkCellRenderer *renderer;
GthFileStore *model;
- GtkTargetList *target_list;
- GtkTargetEntry *targets;
- int n_targets;
file_list->priv->type = list_type;
@@ -582,23 +580,29 @@ gth_file_list_construct (GthFileList *file_list,
else
gth_file_selection_set_selection_mode (GTH_FILE_SELECTION (file_list->priv->view), GTK_SELECTION_MULTIPLE);
- target_list = gtk_target_list_new (NULL, 0);
- gtk_target_list_add_uri_targets (target_list, 0);
- gtk_target_list_add_text_targets (target_list, 0);
- targets = gtk_target_table_new_from_list (target_list, &n_targets);
- gth_file_view_enable_drag_source (GTH_FILE_VIEW (file_list->priv->view),
- GDK_BUTTON1_MASK,
- targets,
- n_targets,
- GDK_ACTION_MOVE | GDK_ACTION_COPY);
-
- gtk_target_list_unref (target_list);
- gtk_target_table_free (targets, n_targets);
-
- g_signal_connect (G_OBJECT (file_list->priv->view),
- "drag-data-get",
- G_CALLBACK (file_view_drag_data_get_cb),
- file_list);
+ if (enable_drag_drop) {
+ GtkTargetList *target_list;
+ GtkTargetEntry *targets;
+ int n_targets;
+
+ target_list = gtk_target_list_new (NULL, 0);
+ gtk_target_list_add_uri_targets (target_list, 0);
+ gtk_target_list_add_text_targets (target_list, 0);
+ targets = gtk_target_table_new_from_list (target_list, &n_targets);
+ gth_file_view_enable_drag_source (GTH_FILE_VIEW (file_list->priv->view),
+ GDK_BUTTON1_MASK,
+ targets,
+ n_targets,
+ GDK_ACTION_MOVE | GDK_ACTION_COPY);
+
+ gtk_target_list_unref (target_list);
+ gtk_target_table_free (targets, n_targets);
+
+ g_signal_connect (G_OBJECT (file_list->priv->view),
+ "drag-data-get",
+ G_CALLBACK (file_view_drag_data_get_cb),
+ file_list);
+ }
/* checkbox */
@@ -711,12 +715,13 @@ gth_file_list_get_type (void)
GtkWidget*
-gth_file_list_new (GthFileListType list_type)
+gth_file_list_new (GthFileListType list_type,
+ gboolean enable_drag_drop)
{
GtkWidget *widget;
widget = GTK_WIDGET (g_object_new (GTH_TYPE_FILE_LIST, NULL));
- gth_file_list_construct (GTH_FILE_LIST (widget), list_type);
+ gth_file_list_construct (GTH_FILE_LIST (widget), list_type, enable_drag_drop);
return widget;
}
diff --git a/gthumb/gth-file-list.h b/gthumb/gth-file-list.h
index 353d626..f01556e 100644
--- a/gthumb/gth-file-list.h
+++ b/gthumb/gth-file-list.h
@@ -61,7 +61,8 @@ struct _GthFileListClass {
};
GType gth_file_list_get_type (void);
-GtkWidget * gth_file_list_new (GthFileListType list_type);
+GtkWidget * gth_file_list_new (GthFileListType list_type,
+ gboolean enable_drag_drop);
void gth_file_list_cancel (GthFileList *file_list,
DataFunc done_func,
gpointer user_data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]