[gnome-photos/wip/rishi/zoom: 3/4] preview-view: Hook up GActions
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos/wip/rishi/zoom: 3/4] preview-view: Hook up GActions
- Date: Thu, 6 Apr 2017 12:26:49 +0000 (UTC)
commit b30dbea961fb28510c95d2fc4afcbbd0a7b2fcdc
Author: Debarshi Ray <debarshir gnome org>
Date: Thu Apr 6 14:19:49 2017 +0200
preview-view: Hook up GActions
src/photos-preview-view.c | 59 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 59 insertions(+), 0 deletions(-)
---
diff --git a/src/photos-preview-view.c b/src/photos-preview-view.c
index 41a10a1..9785390 100644
--- a/src/photos-preview-view.c
+++ b/src/photos-preview-view.c
@@ -634,6 +634,52 @@ photos_preview_view_window_mode_changed (PhotosPreviewView *self, PhotosWindowMo
static void
+photos_preview_view_zoom_best_fit (PhotosPreviewView *self)
+{
+ GtkWidget *view;
+ GtkWidget *view_container;
+
+ view_container = gtk_stack_get_visible_child (GTK_STACK (self->stack));
+ view = photos_preview_view_get_view_from_view_container (view_container);
+ photos_image_view_set_best_fit (PHOTOS_IMAGE_VIEW (view), TRUE);
+}
+
+
+static void
+photos_preview_view_zoom_in (PhotosPreviewView *self)
+{
+ GtkWidget *view;
+ GtkWidget *view_container;
+ gdouble zoom;
+
+ view_container = gtk_stack_get_visible_child (GTK_STACK (self->stack));
+ view = photos_preview_view_get_view_from_view_container (view_container);
+
+ zoom = photos_image_view_get_zoom (PHOTOS_IMAGE_VIEW (view));
+ zoom *= 1.05;
+
+ photos_image_view_set_zoom (PHOTOS_IMAGE_VIEW (view), zoom);
+}
+
+
+static void
+photos_preview_view_zoom_out (PhotosPreviewView *self)
+{
+ GtkWidget *view;
+ GtkWidget *view_container;
+ gdouble zoom;
+
+ view_container = gtk_stack_get_visible_child (GTK_STACK (self->stack));
+ view = photos_preview_view_get_view_from_view_container (view_container);
+
+ zoom = photos_image_view_get_zoom (PHOTOS_IMAGE_VIEW (view));
+ zoom /= 1.05;
+
+ photos_image_view_set_zoom (PHOTOS_IMAGE_VIEW (view), zoom);
+}
+
+
+static void
photos_preview_view_dispose (GObject *object)
{
PhotosPreviewView *self = PHOTOS_PREVIEW_VIEW (object);
@@ -787,6 +833,19 @@ photos_preview_view_init (PhotosPreviewView *self)
action = g_action_map_lookup_action (G_ACTION_MAP (app), "sharpen-current");
g_signal_connect_object (action, "activate", G_CALLBACK (photos_preview_view_sharpen), self,
G_CONNECT_SWAPPED);
+
+ action = g_action_map_lookup_action (G_ACTION_MAP (app), "zoom-best-fit");
+ g_signal_connect_object (action,
+ "activate",
+ G_CALLBACK (photos_preview_view_zoom_best_fit),
+ self,
+ G_CONNECT_SWAPPED);
+
+ action = g_action_map_lookup_action (G_ACTION_MAP (app), "zoom-in");
+ g_signal_connect_object (action, "activate", G_CALLBACK (photos_preview_view_zoom_in), self,
G_CONNECT_SWAPPED);
+
+ action = g_action_map_lookup_action (G_ACTION_MAP (app), "zoom-out");
+ g_signal_connect_object (action, "activate", G_CALLBACK (photos_preview_view_zoom_out), self,
G_CONNECT_SWAPPED);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]