[gnome-clocks] Switch pages with ctrl+alt+page_up/down
- From: Paolo Borelli <pborelli src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-clocks] Switch pages with ctrl+alt+page_up/down
- Date: Wed, 9 Dec 2015 23:24:10 +0000 (UTC)
commit 32cc13a6fa76ca8bf90aa750f8d5149d8bf7c81a
Author: Paolo Borelli <pborelli gnome org>
Date: Wed Dec 9 23:41:30 2015 +0100
Switch pages with ctrl+alt+page_up/down
src/window.vala | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
---
diff --git a/src/window.vala b/src/window.vala
index 4fb8bfc..a770e35 100644
--- a/src/window.vala
+++ b/src/window.vala
@@ -113,6 +113,20 @@ public class Window : Gtk.ApplicationWindow {
stack.child_set_property (timer, "needs-attention", timer.state == Timer.Face.State.RUNNING);
});
+ unowned Gtk.BindingSet binding_set = Gtk.BindingSet.by_class (get_class ());
+
+ // plain ctrl+page_up/down is easten by the scrolled window...
+ Gtk.BindingEntry.add_signal (binding_set,
+ Gdk.Key.Page_Up,
+ Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.MOD1_MASK,
+ "change-page", 1,
+ typeof(int), -1);
+ Gtk.BindingEntry.add_signal (binding_set,
+ Gdk.Key.Page_Down,
+ Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.MOD1_MASK,
+ "change-page", 1,
+ typeof(int), 1);
+
stack.visible_child = panels[settings.get_enum ("panel-id")];
update_header_bar ();
@@ -120,6 +134,19 @@ public class Window : Gtk.ApplicationWindow {
show_all ();
}
+ [Signal(action = true)]
+ public virtual signal void change_page (int offset) {
+ int page;
+
+ stack.child_get (stack.visible_child, "position", out page);
+ page += offset;
+ if (page >= 0 && page < panels.length) {
+ stack.visible_child = panels[page];
+ } else {
+ stack.error_bell ();
+ }
+ }
+
private void on_new_activate () {
((Clock) stack.visible_child).activate_new ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]