|
|
ecdf9b |
From 7ca2edc8abfcba8384455a180a3c2e4f841abdfd Mon Sep 17 00:00:00 2001
|
|
|
ecdf9b |
From: Hans de Goede <hdegoede@redhat.com>
|
|
|
ecdf9b |
Date: Thu, 13 Jun 2013 09:40:18 +0200
|
|
|
ecdf9b |
Subject: [PATCH 29/35] cheese: Make widemode controllable from the app menu
|
|
|
ecdf9b |
|
|
|
ecdf9b |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
|
ecdf9b |
---
|
|
|
ecdf9b |
src/cheese-main.vala | 23 ++++++++++++++++++++++-
|
|
|
ecdf9b |
1 file changed, 22 insertions(+), 1 deletion(-)
|
|
|
ecdf9b |
|
|
|
ecdf9b |
diff --git a/src/cheese-main.vala b/src/cheese-main.vala
|
|
|
ecdf9b |
index 032e8cb..2adfdc0 100644
|
|
|
ecdf9b |
--- a/src/cheese-main.vala
|
|
|
ecdf9b |
+++ b/src/cheese-main.vala
|
|
|
ecdf9b |
@@ -49,6 +49,7 @@ public class Cheese.Main : Gtk.Application
|
|
|
ecdf9b |
{ "shoot", on_shoot },
|
|
|
ecdf9b |
{ "mode", on_action_radio, "s", "'photo'", on_mode_change },
|
|
|
ecdf9b |
{ "fullscreen", on_action_toggle, null, "false", on_fullscreen_change },
|
|
|
ecdf9b |
+ { "widemode", on_action_toggle, null, "false", on_widemode_change },
|
|
|
ecdf9b |
{ "effects", on_action_toggle, null, "false", on_effects_change },
|
|
|
ecdf9b |
{ "preferences", on_preferences },
|
|
|
ecdf9b |
{ "about", on_about },
|
|
|
ecdf9b |
@@ -103,6 +104,9 @@ public class Cheese.Main : Gtk.Application
|
|
|
ecdf9b |
item = new GLib.MenuItem (_("_Fullscreen"), "app.fullscreen");
|
|
|
ecdf9b |
item.set_attribute ("accel", "s", "F11");
|
|
|
ecdf9b |
section.append_item (item);
|
|
|
ecdf9b |
+ item = new GLib.MenuItem (_("_Wide Mode"), "app.widemode");
|
|
|
ecdf9b |
+ item.set_attribute ("accel", "s", "w");
|
|
|
ecdf9b |
+ section.append_item (item);
|
|
|
ecdf9b |
section = new GLib.Menu ();
|
|
|
ecdf9b |
menu.append_section (null, section);
|
|
|
ecdf9b |
section.append (_("_Effects"), "app.effects");
|
|
|
ecdf9b |
@@ -126,7 +130,7 @@ public class Cheese.Main : Gtk.Application
|
|
|
ecdf9b |
main_window.start_thumbview_monitors ();
|
|
|
ecdf9b |
|
|
|
ecdf9b |
if (wide)
|
|
|
ecdf9b |
- main_window.set_wide_mode (true);
|
|
|
ecdf9b |
+ change_action_state("widemode", true);
|
|
|
ecdf9b |
if (fullscreen)
|
|
|
ecdf9b |
change_action_state("fullscreen", true);
|
|
|
ecdf9b |
|
|
|
ecdf9b |
@@ -324,6 +328,23 @@ public class Cheese.Main : Gtk.Application
|
|
|
ecdf9b |
}
|
|
|
ecdf9b |
|
|
|
ecdf9b |
/**
|
|
|
ecdf9b |
+ * Handle wide mode being toggled on / off.
|
|
|
ecdf9b |
+ *
|
|
|
ecdf9b |
+ * @param action the action that emitted the signal
|
|
|
ecdf9b |
+ * @param value the state to switch to
|
|
|
ecdf9b |
+ */
|
|
|
ecdf9b |
+ private void on_widemode_change (SimpleAction action, Variant? value)
|
|
|
ecdf9b |
+ {
|
|
|
ecdf9b |
+ return_if_fail (value != null);
|
|
|
ecdf9b |
+
|
|
|
ecdf9b |
+ var state = value.get_boolean ();
|
|
|
ecdf9b |
+
|
|
|
ecdf9b |
+ main_window.set_wide_mode (state);
|
|
|
ecdf9b |
+
|
|
|
ecdf9b |
+ action.set_state (value);
|
|
|
ecdf9b |
+ }
|
|
|
ecdf9b |
+
|
|
|
ecdf9b |
+ /**
|
|
|
ecdf9b |
* Handle the effects state being changed.
|
|
|
ecdf9b |
*
|
|
|
ecdf9b |
* @param action the action that emitted the signal
|
|
|
ecdf9b |
--
|
|
|
ecdf9b |
1.8.2.1
|
|
|
ecdf9b |
|