/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2009 The Geeqie Team
+ * Copyright (C) 2008 - 2010 The Geeqie Team
*
* Author: John Ellis
*
#include "ui_menu.h"
#include "uri_utils.h"
#include "utilops.h"
+#include "view_file.h"
#include <gdk/gdkkeysyms.h> /* for keyboard values */
static void layout_image_popup_menu_destroy_cb(GtkWidget *widget, gpointer data)
{
- LayoutWindow *lw = data;
+ GList *editmenu_fd_list = data;
- filelist_free(lw->editmenu_fd_list);
- lw->editmenu_fd_list = NULL;
-}
+ filelist_free(editmenu_fd_list);
+}
static GList *layout_image_get_fd_list(LayoutWindow *lw)
{
FileData *fd = layout_image_get_fd(lw);
if (fd)
- list = g_list_append(NULL, file_data_ref(fd));
+ {
+ if (lw->vf)
+ /* optionally include sidecars if the filelist entry is not expanded */
+ list = vf_selection_get_one(lw->vf, fd);
+ else
+ list = g_list_append(NULL, file_data_ref(fd));
+ }
return list;
}
GtkWidget *submenu;
const gchar *path;
gboolean fullscreen;
+ GList *editmenu_fd_list;
path = layout_image_get_path(lw);
fullscreen = layout_image_full_screen_active(lw);
menu = popup_menu_short_lived();
- g_signal_connect(G_OBJECT(menu), "destroy",
- G_CALLBACK(layout_image_popup_menu_destroy_cb), lw);
menu_item_add_stock(menu, _("Zoom _in"), GTK_STOCK_ZOOM_IN, G_CALLBACK(li_pop_menu_zoom_in_cb), lw);
menu_item_add_stock(menu, _("Zoom _out"), GTK_STOCK_ZOOM_OUT, G_CALLBACK(li_pop_menu_zoom_out_cb), lw);
menu_item_add_stock(menu, _("Fit image to _window"), GTK_STOCK_ZOOM_FIT, G_CALLBACK(li_pop_menu_zoom_fit_cb), lw);
menu_item_add_divider(menu);
- lw->editmenu_fd_list = layout_image_get_fd_list(lw);
- submenu = submenu_add_edit(menu, &item, G_CALLBACK(li_pop_menu_edit_cb), lw, lw->editmenu_fd_list);
+ editmenu_fd_list = layout_image_get_fd_list(lw);
+ g_signal_connect(G_OBJECT(menu), "destroy",
+ G_CALLBACK(layout_image_popup_menu_destroy_cb), editmenu_fd_list);
+ submenu = submenu_add_edit(menu, &item, G_CALLBACK(li_pop_menu_edit_cb), lw, editmenu_fd_list);
if (!path) gtk_widget_set_sensitive(item, FALSE);
menu_item_add_divider(submenu);
menu_item_add(submenu, _("Set as _wallpaper"), G_CALLBACK(li_pop_menu_wallpaper_cb), lw);
FileData *dir_fd;
base = remove_level_from_path(fd->path);
- dir_fd = file_data_new_simple(base);
+ dir_fd = file_data_new_dir(base);
if (dir_fd != lw->dir_fd)
{
layout_set_fd(lw, dir_fd);
return image_get_desaturate(lw->image);
}
+/* stereo */
+/*
+gint layout_image_stereo_get(LayoutWindow *lw)
+{
+ if (!layout_valid(&lw)) return 0;
+
+ return image_stereo_get(lw->image);
+}
+
+void layout_image_stereo_set(LayoutWindow *lw, gint stereo_mode)
+{
+ if (!layout_valid(&lw)) return;
+
+ image_stereo_set(lw->image, stereo_mode);
+}
+void layout_image_stereo_swap(LayoutWindow *lw)
+{
+ if (!layout_valid(&lw)) return;
+
+ image_stereo_swap(lw->image);
+}
+*/
+
+gint layout_image_stereo_pixbuf_get(LayoutWindow *lw)
+{
+ if (!layout_valid(&lw)) return 0;
+
+ return image_stereo_pixbuf_get(lw->image);
+}
+
+void layout_image_stereo_pixbuf_set(LayoutWindow *lw, gint stereo_mode)
+{
+ if (!layout_valid(&lw)) return;
+ image_stereo_pixbuf_set(lw->image, stereo_mode);
+}
const gchar *layout_image_get_path(LayoutWindow *lw)
{
// layout_list_sync_path(lw, path);
layout_set_fd(lw, fd);
}
+ layout_status_update_image(lw);
}
layout_image_set_collection(lw, cd, new);
return;
}
+ layout_image_set_fd(lw, NULL);
}
-
- layout_image_set_fd(lw, NULL);
+
+ /* the image will be set to the next image from the list soon,
+ setting it to NULL here is not necessary*/
}
}