[gthumb] shortcuts: added shortcuts to scroll the image
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] shortcuts: added shortcuts to scroll the image
- Date: Sun, 24 Nov 2019 12:33:18 +0000 (UTC)
commit b3df268a59c8106b75e9e30265182e792e679d4d
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sat Nov 16 11:06:53 2019 +0100
shortcuts: added shortcuts to scroll the image
extensions/image_viewer/actions.c | 149 ++++++++++++++++++++++++
extensions/image_viewer/actions.h | 9 ++
extensions/image_viewer/callbacks.c | 12 ++
extensions/image_viewer/gth-image-viewer-page.c | 9 ++
extensions/image_viewer/main.c | 3 +-
extensions/image_viewer/shortcuts.h | 1 +
6 files changed, 182 insertions(+), 1 deletion(-)
---
diff --git a/extensions/image_viewer/actions.c b/extensions/image_viewer/actions.c
index c9f5d927..f48a62c4 100644
--- a/extensions/image_viewer/actions.c
+++ b/extensions/image_viewer/actions.c
@@ -395,3 +395,152 @@ gth_browser_activate_step_animation (GSimpleAction *action,
image_viewer = GTH_IMAGE_VIEWER (gth_image_viewer_page_get_image_viewer (viewer_page));
gth_image_viewer_step_animation (image_viewer);
}
+
+
+void
+gth_browser_activate_scroll_step_left (GSimpleAction *action,
+ GVariant *state,
+ gpointer user_data)
+{
+ GthBrowser *browser = user_data;
+ GthImageViewerPage *viewer_page = get_image_viewer_page (browser);
+ GthImageViewer *image_viewer;
+
+ if (viewer_page == NULL)
+ return;
+
+ image_viewer = GTH_IMAGE_VIEWER (gth_image_viewer_page_get_image_viewer (viewer_page));
+ gth_image_viewer_scroll_step_x (image_viewer, FALSE);
+}
+
+
+void
+gth_browser_activate_scroll_step_right (GSimpleAction *action,
+ GVariant *state,
+ gpointer user_data)
+{
+ GthBrowser *browser = user_data;
+ GthImageViewerPage *viewer_page = get_image_viewer_page (browser);
+ GthImageViewer *image_viewer;
+
+ if (viewer_page == NULL)
+ return;
+
+ image_viewer = GTH_IMAGE_VIEWER (gth_image_viewer_page_get_image_viewer (viewer_page));
+ gth_image_viewer_scroll_step_x (image_viewer, TRUE);
+}
+
+
+void
+gth_browser_activate_scroll_step_up (GSimpleAction *action,
+ GVariant *state,
+ gpointer user_data)
+{
+ GthBrowser *browser = user_data;
+ GthImageViewerPage *viewer_page = get_image_viewer_page (browser);
+ GthImageViewer *image_viewer;
+
+ if (viewer_page == NULL)
+ return;
+
+ image_viewer = GTH_IMAGE_VIEWER (gth_image_viewer_page_get_image_viewer (viewer_page));
+ gth_image_viewer_scroll_step_y (image_viewer, FALSE);
+}
+
+void
+gth_browser_activate_scroll_step_down (GSimpleAction *action,
+ GVariant *state,
+ gpointer user_data)
+{
+ GthBrowser *browser = user_data;
+ GthImageViewerPage *viewer_page = get_image_viewer_page (browser);
+ GthImageViewer *image_viewer;
+
+ if (viewer_page == NULL)
+ return;
+
+ image_viewer = GTH_IMAGE_VIEWER (gth_image_viewer_page_get_image_viewer (viewer_page));
+ gth_image_viewer_scroll_step_y (image_viewer, TRUE);
+}
+
+void
+gth_browser_activate_scroll_page_left (GSimpleAction *action,
+ GVariant *state,
+ gpointer user_data)
+{
+ GthBrowser *browser = user_data;
+ GthImageViewerPage *viewer_page = get_image_viewer_page (browser);
+ GthImageViewer *image_viewer;
+
+ if (viewer_page == NULL)
+ return;
+
+ image_viewer = GTH_IMAGE_VIEWER (gth_image_viewer_page_get_image_viewer (viewer_page));
+ gth_image_viewer_scroll_page_x (image_viewer, FALSE);
+}
+
+void
+gth_browser_activate_scroll_page_right (GSimpleAction *action,
+ GVariant *state,
+ gpointer user_data)
+{
+ GthBrowser *browser = user_data;
+ GthImageViewerPage *viewer_page = get_image_viewer_page (browser);
+ GthImageViewer *image_viewer;
+
+ if (viewer_page == NULL)
+ return;
+
+ image_viewer = GTH_IMAGE_VIEWER (gth_image_viewer_page_get_image_viewer (viewer_page));
+ gth_image_viewer_scroll_page_x (image_viewer, TRUE);
+}
+
+void
+gth_browser_activate_scroll_page_up (GSimpleAction *action,
+ GVariant *state,
+ gpointer user_data)
+{
+ GthBrowser *browser = user_data;
+ GthImageViewerPage *viewer_page = get_image_viewer_page (browser);
+ GthImageViewer *image_viewer;
+
+ if (viewer_page == NULL)
+ return;
+
+ image_viewer = GTH_IMAGE_VIEWER (gth_image_viewer_page_get_image_viewer (viewer_page));
+ gth_image_viewer_scroll_page_y (image_viewer, FALSE);
+}
+
+void
+gth_browser_activate_scroll_page_down (GSimpleAction *action,
+ GVariant *state,
+ gpointer user_data)
+{
+ GthBrowser *browser = user_data;
+ GthImageViewerPage *viewer_page = get_image_viewer_page (browser);
+ GthImageViewer *image_viewer;
+
+ if (viewer_page == NULL)
+ return;
+
+ image_viewer = GTH_IMAGE_VIEWER (gth_image_viewer_page_get_image_viewer (viewer_page));
+ gth_image_viewer_scroll_page_y (image_viewer, TRUE);
+}
+
+
+void
+gth_browser_activate_scroll_to_center (GSimpleAction *action,
+ GVariant *state,
+ gpointer user_data)
+{
+ GthBrowser *browser = user_data;
+ GthImageViewerPage *viewer_page = get_image_viewer_page (browser);
+ GthImageViewer *image_viewer;
+
+ if (viewer_page == NULL)
+ return;
+
+ image_viewer = GTH_IMAGE_VIEWER (gth_image_viewer_page_get_image_viewer (viewer_page));
+ gth_image_viewer_scroll_to_center (image_viewer);
+}
+
diff --git a/extensions/image_viewer/actions.h b/extensions/image_viewer/actions.h
index c1d20912..b12026b2 100644
--- a/extensions/image_viewer/actions.h
+++ b/extensions/image_viewer/actions.h
@@ -44,5 +44,14 @@ DEF_ACTION_CALLBACK (gth_browser_activate_image_zoom)
DEF_ACTION_CALLBACK (gth_browser_activate_toggle_animation)
DEF_ACTION_CALLBACK (gth_browser_activate_step_animation)
DEF_ACTION_CALLBACK (gth_browser_activate_transparency_style)
+DEF_ACTION_CALLBACK (gth_browser_activate_scroll_step_left)
+DEF_ACTION_CALLBACK (gth_browser_activate_scroll_step_right)
+DEF_ACTION_CALLBACK (gth_browser_activate_scroll_step_up)
+DEF_ACTION_CALLBACK (gth_browser_activate_scroll_step_down)
+DEF_ACTION_CALLBACK (gth_browser_activate_scroll_page_left)
+DEF_ACTION_CALLBACK (gth_browser_activate_scroll_page_right)
+DEF_ACTION_CALLBACK (gth_browser_activate_scroll_page_up)
+DEF_ACTION_CALLBACK (gth_browser_activate_scroll_page_down)
+DEF_ACTION_CALLBACK (gth_browser_activate_scroll_to_center)
#endif /* ACTIONS_H */
diff --git a/extensions/image_viewer/callbacks.c b/extensions/image_viewer/callbacks.c
index 5c04d8cc..ec08ad6d 100644
--- a/extensions/image_viewer/callbacks.c
+++ b/extensions/image_viewer/callbacks.c
@@ -44,6 +44,18 @@ static const GthShortcut shortcuts[] = {
{ "image-undo", N_("Undo edit"), GTH_SHORTCUT_CONTEXT_VIEWER, GTH_SHORTCUT_CATEGORY_IMAGE_EDITOR,
"<Primary>z" },
{ "image-redo", N_("Redo edit"), GTH_SHORTCUT_CONTEXT_VIEWER, GTH_SHORTCUT_CATEGORY_IMAGE_EDITOR,
"<Primary><Shift>z" },
+
+ { "scroll-step-left", N_("Scroll left"), GTH_SHORTCUT_CONTEXT_VIEWER,
GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE, "Left" },
+ { "scroll-step-right", N_("Scroll right"), GTH_SHORTCUT_CONTEXT_VIEWER,
GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE, "Right" },
+ { "scroll-step-up", N_("Scroll up"), GTH_SHORTCUT_CONTEXT_VIEWER, GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE,
"Up" },
+ { "scroll-step-down", N_("Scroll down"), GTH_SHORTCUT_CONTEXT_VIEWER,
GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE, "Down" },
+
+ { "scroll-page-left", N_("Scroll left fast"), GTH_SHORTCUT_CONTEXT_VIEWER,
GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE, "<Shift>Left" },
+ { "scroll-page-right", N_("Scroll right fast"), GTH_SHORTCUT_CONTEXT_VIEWER,
GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE, "<Shift>Right" },
+ { "scroll-page-up", N_("Scroll up fast"), GTH_SHORTCUT_CONTEXT_VIEWER,
GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE, "<Shift>Up" },
+ { "scroll-page-down", N_("Scroll down fast"), GTH_SHORTCUT_CONTEXT_VIEWER,
GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE, "<Shift>Down" },
+
+ { "scroll-to-center", N_("Scroll to center"), GTH_SHORTCUT_CONTEXT_VIEWER,
GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE, "<Primary>Down" },
};
diff --git a/extensions/image_viewer/gth-image-viewer-page.c b/extensions/image_viewer/gth-image-viewer-page.c
index 70e57efd..080f3480 100644
--- a/extensions/image_viewer/gth-image-viewer-page.c
+++ b/extensions/image_viewer/gth-image-viewer-page.c
@@ -67,6 +67,15 @@ static const GActionEntry actions[] = {
{ "step-animation", gth_browser_activate_step_animation },
{ "image-zoom", gth_browser_activate_image_zoom, "s", "''", NULL },
{ "transparency-style", gth_browser_activate_transparency_style, "s", "''", NULL },
+ { "scroll-step-left", gth_browser_activate_scroll_step_left },
+ { "scroll-step-right", gth_browser_activate_scroll_step_right },
+ { "scroll-step-up", gth_browser_activate_scroll_step_up },
+ { "scroll-step-down", gth_browser_activate_scroll_step_down },
+ { "scroll-page-left", gth_browser_activate_scroll_page_left },
+ { "scroll-page-right", gth_browser_activate_scroll_page_right },
+ { "scroll-page-up", gth_browser_activate_scroll_page_up },
+ { "scroll-page-down", gth_browser_activate_scroll_page_down },
+ { "scroll-to-center", gth_browser_activate_scroll_to_center },
};
diff --git a/extensions/image_viewer/main.c b/extensions/image_viewer/main.c
index 0dd89876..e155e1bd 100644
--- a/extensions/image_viewer/main.c
+++ b/extensions/image_viewer/main.c
@@ -33,7 +33,8 @@
static GthShortcutCategory shortcut_categories[] = {
{ GTH_SHORTCUT_CATEGORY_IMAGE_VIEWER, N_("Image Viewer"), 21 },
- { GTH_SHORTCUT_CATEGORY_IMAGE_EDITOR, N_("Image Editor"), 22 }
+ { GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE, N_("Scroll Image"), 22 },
+ { GTH_SHORTCUT_CATEGORY_IMAGE_EDITOR, N_("Image Editor"), 23 },
};
diff --git a/extensions/image_viewer/shortcuts.h b/extensions/image_viewer/shortcuts.h
index bcef5b9f..23461131 100644
--- a/extensions/image_viewer/shortcuts.h
+++ b/extensions/image_viewer/shortcuts.h
@@ -23,6 +23,7 @@
#define IMAGE_VIEWER_SHORTCUTS_H
#define GTH_SHORTCUT_CATEGORY_IMAGE_VIEWER "image-viewer"
+#define GTH_SHORTCUT_CATEGORY_SCROLL_IMAGE "scroll-image"
#define GTH_SHORTCUT_CATEGORY_IMAGE_EDITOR "image-editor"
#endif /* IMAGE_VIEWER_SHORTCUTS_H */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]