[frogr] Enable opening multiple pictures from details dialog
- From: Mario Sanchez Prada <msanchez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [frogr] Enable opening multiple pictures from details dialog
- Date: Fri, 8 Jul 2011 15:13:29 +0000 (UTC)
commit 8b8c728364d6ea48e9a1fc2a60de8aa5fa769af3
Author: Mario Sanchez Prada <msanchez igalia com>
Date: Fri Jul 8 16:20:27 2011 +0200
Enable opening multiple pictures from details dialog
src/frogr-details-dialog.c | 35 +++++++++++++++++++++--------------
1 files changed, 21 insertions(+), 14 deletions(-)
---
diff --git a/src/frogr-details-dialog.c b/src/frogr-details-dialog.c
index ddca39e..3d1bfd0 100644
--- a/src/frogr-details-dialog.c
+++ b/src/frogr-details-dialog.c
@@ -831,8 +831,6 @@ _fill_dialog_with_data (FrogrDetailsDialog *self)
frogr_util_get_app_data_dir ());
pixbuf = gdk_pixbuf_new_from_file (mpictures_full_path, NULL);
gtk_image_set_from_pixbuf (GTK_IMAGE (priv->picture_img), pixbuf);
- gtk_container_add (GTK_CONTAINER (priv->picture_container),
- priv->picture_img);
g_object_unref (pixbuf);
g_free (mpictures_full_path);
@@ -847,17 +845,18 @@ _fill_dialog_with_data (FrogrDetailsDialog *self)
GdkPixbuf *pixbuf = frogr_picture_get_pixbuf (picture);
GdkPixbuf *s_pixbuf = _get_scaled_pixbuf (pixbuf);
gtk_image_set_from_pixbuf (GTK_IMAGE (priv->picture_img), s_pixbuf);
- gtk_button_set_image (GTK_BUTTON (priv->picture_button),
- priv->picture_img);
- gtk_container_add (GTK_CONTAINER (priv->picture_container),
- priv->picture_button);
- priv->picture_button_handler_id =
- g_signal_connect (G_OBJECT (priv->picture_button), "clicked",
- G_CALLBACK (_on_picture_button_clicked),
- (gpointer) frogr_picture_get_fileuri (picture));
g_object_unref (s_pixbuf);
}
+ gtk_button_set_image (GTK_BUTTON (priv->picture_button),
+ priv->picture_img);
+
+ gtk_container_add (GTK_CONTAINER (priv->picture_container),
+ priv->picture_button);
+ priv->picture_button_handler_id =
+ g_signal_connect (G_OBJECT (priv->picture_button), "clicked",
+ G_CALLBACK (_on_picture_button_clicked),
+ self);
/* Update UI */
_update_ui (self);
@@ -1053,12 +1052,20 @@ _on_toggle_button_toggled (GtkToggleButton *tbutton, gpointer data)
static void
_on_picture_button_clicked (GtkButton *button, gpointer data)
{
- const gchar *image_file = (gchar *) data;
+ FrogrDetailsDialog *self = FROGR_DETAILS_DIALOG (data);
+ FrogrDetailsDialogPrivate *priv = FROGR_DETAILS_DIALOG_GET_PRIVATE (self);
+ GSList *current_pic = NULL;
+ GList *uris_list = NULL;
- if (image_file == NULL)
- return;
+ for (current_pic = priv->pictures; current_pic; current_pic = g_slist_next (current_pic))
+ {
+ FrogrPicture *picture = FROGR_PICTURE (current_pic->data);
+ uris_list = g_list_append (uris_list, (gchar*) frogr_picture_get_fileuri (picture));
+ }
+
+ frogr_util_open_images_in_viewer (uris_list);
- frogr_util_open_uri (image_file);
+ g_list_free (uris_list);
}
static void _dialog_response_cb (GtkDialog *dialog, gint response, gpointer data)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]