[Xfce4-commits] <ristretto:master> Revert "Drag and drop for images."
Stephan Arts
noreply at xfce.org
Sat Jan 7 09:46:02 CET 2012
Updating branch refs/heads/master
to 6e4f29ce317a6f0379ba3a4fae7b7347ed9cfa1a (commit)
from fbcfa257342a8ac84b624abc3289daf968621b2a (commit)
commit 6e4f29ce317a6f0379ba3a4fae7b7347ed9cfa1a
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Jan 7 09:32:42 2012 +0100
Revert "Drag and drop for images."
This reverts commit fbcfa257342a8ac84b624abc3289daf968621b2a.
src/image_viewer.c | 46 +--------------
src/main_window.c | 157 ----------------------------------------------------
2 files changed, 3 insertions(+), 200 deletions(-)
diff --git a/src/image_viewer.c b/src/image_viewer.c
index 5aa7d64..557e1e3 100644
--- a/src/image_viewer.c
+++ b/src/image_viewer.c
@@ -188,9 +188,6 @@ static void
cb_rstto_image_loader_closed (GdkPixbufLoader *loader, RsttoImageViewerTransaction *transaction);
static gboolean
cb_rstto_image_viewer_update_pixbuf (RsttoImageViewer *viewer);
-static void
-cb_rstto_image_viewer_dnd (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *data,
- guint info, guint time_, RsttoImageViewer *viewer);
static gboolean
rstto_scroll_event (
@@ -310,11 +307,6 @@ rstto_image_viewer_init ( GObject *object )
"notify::revert-zoom-direction",
G_CALLBACK (cb_rstto_zoom_direction_changed),
viewer);
- g_signal_connect (
- G_OBJECT(viewer),
- "drag-data-received",
- G_CALLBACK (cb_rstto_image_viewer_dnd),
- viewer);
gtk_widget_set_events (GTK_WIDGET(viewer),
GDK_BUTTON_PRESS_MASK |
@@ -323,11 +315,10 @@ rstto_image_viewer_init ( GObject *object )
GDK_ENTER_NOTIFY_MASK |
GDK_POINTER_MOTION_MASK);
-
- gtk_drag_dest_set(GTK_WIDGET(viewer), GTK_DEST_DEFAULT_ALL, NULL, 0,
+ /*
+ gtk_drag_dest_set(GTK_WIDGET(viewer), 0, drop_targets, G_N_ELEMENTS(drop_targets),
GDK_ACTION_COPY | GDK_ACTION_LINK | GDK_ACTION_MOVE | GDK_ACTION_PRIVATE);
- gtk_drag_dest_add_uri_targets (GTK_WIDGET(viewer));
-
+ */
}
/**
@@ -387,14 +378,6 @@ rstto_image_viewer_class_init(RsttoImageViewerClass *viewer_class)
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
- g_signal_new ("files-dnd",
- G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_FIRST,
- 0,
- NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
}
/**
@@ -2505,26 +2488,3 @@ rstto_popup_menu (
}
return FALSE;
}
-
-static void
-cb_rstto_image_viewer_dnd (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *data,
- guint info, guint time_, RsttoImageViewer *viewer)
-{
- g_return_if_fail ( RSTTO_IS_IMAGE_VIEWER(viewer) );
-
- if ((data->length >= 0) && (data->format == 8))
- {
- gchar **uris;
-
- uris = g_uri_list_extract_uris ((const gchar*)data->data);
-
- g_signal_emit_by_name (viewer, "files-dnd", uris);
-
- gtk_drag_finish (context, TRUE, FALSE, time_);
- g_strfreev (uris);
- }
- else
- {
- gtk_drag_finish (context, FALSE, FALSE, time_);
- }
-}
diff --git a/src/main_window.c b/src/main_window.c
index dab29f2..cb13fd4 100644
--- a/src/main_window.c
+++ b/src/main_window.c
@@ -117,8 +117,6 @@ struct _RsttoMainWindowPriv
gboolean playing;
gint play_timeout_id;
-
- GtkFileFilter *filter;
};
enum
@@ -194,8 +192,6 @@ static void
cb_rstto_main_window_save_copy (GtkWidget *widget, RsttoMainWindow *window);
static void
cb_rstto_main_window_delete (GtkWidget *widget, RsttoMainWindow *window);
-static void
-cb_rstto_main_window_dnd_files (GtkWidget *widget, gchar **uris, RsttoMainWindow *window);
static void
cb_rstto_main_window_set_as_wallpaper (GtkWidget *widget, RsttoMainWindow *window);
@@ -456,11 +452,6 @@ rstto_main_window_init (RsttoMainWindow *window)
window->priv->recent_manager = gtk_recent_manager_get_default();
window->priv->settings_manager = rstto_settings_new();
- /* Setup the image filter list for drag and drop */
- window->priv->filter = gtk_file_filter_new ();
- g_object_ref_sink (window->priv->filter);
- gtk_file_filter_add_pixbuf_formats (window->priv->filter);
-
/* D-Bus stuff */
window->priv->connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
@@ -777,7 +768,6 @@ rstto_main_window_init (RsttoMainWindow *window)
g_signal_connect(G_OBJECT(window->priv->thumbnailbar), "button-press-event", G_CALLBACK(cb_rstto_main_window_navigationtoolbar_button_press_event), window);
g_signal_connect(G_OBJECT(window->priv->image_viewer), "size-ready", G_CALLBACK(cb_rstto_main_window_update_statusbar), window);
g_signal_connect(G_OBJECT(window->priv->image_viewer), "scale-changed", G_CALLBACK(cb_rstto_main_window_update_statusbar), window);
- g_signal_connect(G_OBJECT(window->priv->image_viewer), "files-dnd", G_CALLBACK(cb_rstto_main_window_dnd_files), window);
if ( TRUE == rstto_settings_get_boolean_property (window->priv->settings_manager, "merge-toolbars"))
{
@@ -879,12 +869,6 @@ rstto_main_window_dispose(GObject *object)
g_object_unref (window->priv->image_list);
window->priv->image_list = NULL;
}
-
- if (window->priv->filter)
- {
- g_object_unref (window->priv->filter);
- window->priv->filter= NULL;
- }
g_free (window->priv);
window->priv = NULL;
}
@@ -3128,147 +3112,6 @@ cb_rstto_main_window_delete (
g_object_unref (file);
}
-static gboolean
-rstto_main_window_is_valid_image (RsttoMainWindow *window,
- RsttoFile *file)
-{
- GtkFileFilterInfo filter_info;
-
- filter_info.contains = GTK_FILE_FILTER_MIME_TYPE | GTK_FILE_FILTER_URI;
- filter_info.uri = rstto_file_get_uri (file);
- filter_info.mime_type = rstto_file_get_content_type (file);
-
- return gtk_file_filter_filter (window->priv->filter, &filter_info);
-}
-
-/**
- * cb_rstto_main_window_dnd_files:
- * @widget:
- * @uris:
- * @window:
- *
- */
-static void
-cb_rstto_main_window_dnd_files (GtkWidget *widget,
- gchar **uris,
- RsttoMainWindow *window)
-{
- RsttoFile *file;
- guint n;
- gboolean first = TRUE;
-
- g_return_if_fail ( RSTTO_IS_MAIN_WINDOW(window) );
-
- /* User dropped an image, load all images in the directory
- * and select the image.
- */
- if ( g_strv_length (uris) == 1)
- {
- file = rstto_file_new (g_file_new_for_uri (uris[n]));
- if ( TRUE == rstto_main_window_is_valid_image (window, file))
- {
- GFile *p_file;
- p_file = g_file_get_parent ( rstto_file_get_file (file) );
- rstto_image_list_set_directory (
- window->priv->image_list,
- p_file,
- NULL );
- rstto_image_list_iter_find_file (
- window->priv->iter,
- file );
- return;
- }
-
- /* Not a valid image, but it might be a valid directory */
- g_object_unref (file);
- }
-
- for (n = 0; n < g_strv_length (uris); n++)
- {
- file = rstto_file_new (g_file_new_for_uri (uris[n]));
-
- if ( TRUE == rstto_main_window_is_valid_image (window, file))
- {
- /* User dropped a selection of images, load only them.
- * On the first valid image, we reset the thumbnailbar.
- */
- if ( TRUE == first )
- {
- first = FALSE;
- rstto_image_list_set_directory (
- window->priv->image_list,
- NULL,
- NULL);
- }
-
- rstto_image_list_add_file ( window->priv->image_list, file, NULL);
- rstto_image_list_iter_find_file ( window->priv->iter,
- file );
- }
- else if ( g_file_query_file_type ( rstto_file_get_file (file),
- G_FILE_QUERY_INFO_NONE,
- NULL) == G_FILE_TYPE_DIRECTORY)
- {
- GFileEnumerator *enumerator;
-
- /* User dropped in a directory, get the files in it */
- enumerator = g_file_enumerate_children (
- rstto_file_get_file (file),
- "standard::name,access::can-read",
- G_FILE_QUERY_INFO_NONE,
- NULL,
- NULL);
-
- if (enumerator)
- {
- GFileInfo *f_info;
- RsttoFile *child;
-
- /* Check all the files for a valid image */
- for (f_info = g_file_enumerator_next_file (enumerator, NULL, NULL);
- f_info != NULL;
- f_info = g_file_enumerator_next_file (enumerator, NULL, NULL))
- {
- gchar *path = g_strdup_printf ("%s/%s",
- rstto_file_get_path (file),
- g_file_info_get_name (f_info));
-
- child = rstto_file_new (g_file_new_for_path (path));
-
- g_object_unref (f_info);
- g_free (path);
-
- if ( TRUE == rstto_main_window_is_valid_image (
- window,
- child))
- {
- /* Found a valid image, use the directory
- * and select the first image in the dir */
- rstto_image_list_set_directory (
- window->priv->image_list,
- rstto_file_get_file (file),
- NULL );
- rstto_image_list_iter_find_file (
- window->priv->iter,
- child );
-
- break;
- }
- /* Not a valid image file */
- g_object_unref (child);
- }
- g_file_enumerator_close (enumerator, NULL, NULL);
- g_object_unref (enumerator);
- }
- }
- else
- {
- /* Not an image file or directory */
- g_object_unref (file);
- }
- }
-}
-
/**********************/
/* PRINTING CALLBACKS */
/**********************/
More information about the Xfce4-commits
mailing list