/*
- * Geeqie
- * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2012 The Geeqie Team
+ * Copyright (C) 2006 John Ellis
+ * Copyright (C) 2008 - 2016 The Geeqie Team
*
* Author: John Ellis
*
- * This software is released under the GNU General Public License (GNU GPL).
- * Please read the included file COPYING for more information.
- * This software comes with no warranty of any kind, use at your own risk!
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-
#include "main.h"
#include "img-view.h"
switch (event->keyval)
{
case 'R': case 'r':
- image_alter_orientation(imd, ALTER_ROTATE_180);
+ image_alter_orientation(imd, imd->image_fd, ALTER_ROTATE_180);
break;
case 'M': case 'm':
- image_alter_orientation(imd, ALTER_MIRROR);
+ image_alter_orientation(imd, imd->image_fd, ALTER_MIRROR);
break;
case 'F': case 'f':
- image_alter_orientation(imd, ALTER_FLIP);
+ image_alter_orientation(imd, imd->image_fd, ALTER_FLIP);
break;
case 'G': case 'g':
image_set_desaturate(imd, !image_get_desaturate(imd));
view_overlay_toggle(vw);
break;
case ']':
- image_alter_orientation(imd, ALTER_ROTATE_90);
+ image_alter_orientation(imd, imd->image_fd, ALTER_ROTATE_90);
break;
case '[':
- image_alter_orientation(imd, ALTER_ROTATE_90_CC);
+ image_alter_orientation(imd, imd->image_fd, ALTER_ROTATE_90_CC);
break;
case GDK_KEY_Delete: case GDK_KEY_KP_Delete:
if (options->file_ops.enable_delete_key)
switch (event->button)
{
case MOUSE_BUTTON_LEFT:
- view_step_next(vw);
+ if (options->image_lm_click_nav)
+ view_step_next(vw);
break;
case MOUSE_BUTTON_MIDDLE:
- view_step_prev(vw);
+ if (options->image_lm_click_nav)
+ view_step_prev(vw);
break;
case MOUSE_BUTTON_RIGHT:
menu = view_popup_menu(vw);
{
ViewWindow *vw = data;
- if (event->state & GDK_CONTROL_MASK)
+ if ((event->state & GDK_CONTROL_MASK) ||
+ (imd->mouse_wheel_mode && !options->image_lm_click_nav))
{
switch (event->direction)
{
{
if (image_osd_get(vw->imd) & OSD_SHOW_INFO)
image_osd_set(vw->imd, image_osd_get(vw->fs->imd));
-
+
fullscreen_stop(vw->fs);
}
else
ImageWindow *imd;
imd = view_window_active_image(vw);
-
+
image_osd_toggle(imd);
}
req_size.height = h;
gtk_widget_size_allocate(GTK_WIDGET(vw->window), &req_size);
+#if !GTK_CHECK_VERSION(3,0,0)
gtk_widget_set_size_request(vw->imd->pr, w, h);
+#endif
gtk_widget_show(vw->window);
{
ViewWindow *vw = work->data;
work = work->next;
-
+
image_background_set_color_from_options(vw->imd, !!vw->fs);
}
}
type = GPOINTER_TO_INT(data);
if (!vw) return;
- image_alter_orientation(vw->imd, type);
+ image_alter_orientation(vw->imd, vw->imd->image_fd, type);
}
static void view_wallpaper_cb(GtkWidget *widget, gpointer data)
FileData *fd = image_get_fd(imd);
if (fd) list = g_list_append(NULL, file_data_ref(fd));
}
-
+
return list;
}
G_CALLBACK(view_popup_menu_destroy_cb), editmenu_fd_list);
item = submenu_add_edit(menu, NULL, G_CALLBACK(view_edit_cb), vw, editmenu_fd_list);
menu_item_add_divider(item);
+#if !GTK_CHECK_VERSION(3,0,0)
menu_item_add(item, _("Set as _wallpaper"), G_CALLBACK(view_wallpaper_cb), vw);
-
+#endif
submenu_add_alter(menu, G_CALLBACK(view_alter_cb), vw);
menu_item_add_stock(menu, _("View in _new window"), GTK_STOCK_NEW, G_CALLBACK(view_new_window_cb), vw);
ViewWindow *vw = data;
if (!(type & NOTIFY_CHANGE) || !fd->change) return;
-
+
DEBUG_1("Notify view_window: %s %04x", fd->path, type);
switch (fd->change->type)