[shotwell] Offer a way to hide bottom toolbar
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [shotwell] Offer a way to hide bottom toolbar
- Date: Fri, 22 Jul 2016 20:01:10 +0000 (UTC)
commit 9b5ed5a29086215a5cdf82f38d1145848d7a6c4f
Author: Jens Georg <mail jensge org>
Date: Fri Jul 22 21:58:07 2016 +0200
Offer a way to hide bottom toolbar
Available in menu like sidebar and with <Ctrl>-F9 Shortcut (slightly following
GNOME Builder there)
Only for LibarayWindow. Fullscreen and Slideshow offer their own means of
(auto-)hiding the toolbar already.
Signed-off-by: Jens Georg <mail jensge org>
https://bugzilla.gnome.org/show_bug.cgi?id=741962
misc/org.yorba.shotwell.gschema.xml | 6 ++++++
src/config/ConfigurationInterfaces.vala | 26 ++++++++++++++++++++++++++
src/config/GSettingsEngine.vala | 2 ++
src/library/LibraryWindow.vala | 27 +++++++++++++++++++++++++--
ui/events_directory.ui | 1 +
ui/import.ui | 1 +
ui/media.ui | 1 +
ui/offline.ui | 1 +
ui/photo.ui | 1 +
ui/trash.ui | 1 +
10 files changed, 65 insertions(+), 2 deletions(-)
---
diff --git a/misc/org.yorba.shotwell.gschema.xml b/misc/org.yorba.shotwell.gschema.xml
index fb3b733..f0e029a 100644
--- a/misc/org.yorba.shotwell.gschema.xml
+++ b/misc/org.yorba.shotwell.gschema.xml
@@ -35,6 +35,12 @@
<description>True if the sidebar is to be displayed, false otherwise.</description>
</key>
+ <key name="display-toolbar" type="b">
+ <default>true</default>
+ <summary>display toolbar</summary>
+ <description>True if the bottom toolbar is to be displayed, false otherwise.</description>
+ </key>
+
<key name="display-search-bar" type="b">
<default>false</default>
<summary>display search bar</summary>
diff --git a/src/config/ConfigurationInterfaces.vala b/src/config/ConfigurationInterfaces.vala
index 03e7f59..9414f49 100644
--- a/src/config/ConfigurationInterfaces.vala
+++ b/src/config/ConfigurationInterfaces.vala
@@ -36,6 +36,7 @@ public enum ConfigurableProperty {
DISPLAY_EVENT_COMMENTS,
DISPLAY_EXTENDED_PROPERTIES,
DISPLAY_SIDEBAR,
+ DISPLAY_TOOLBAR,
DISPLAY_SEARCH_BAR,
DISPLAY_PHOTO_RATINGS,
DISPLAY_PHOTO_TAGS,
@@ -132,6 +133,9 @@ public enum ConfigurableProperty {
case DISPLAY_SIDEBAR:
return "DISPLAY_SIDEBAR";
+
+ case DISPLAY_TOOLBAR:
+ return "DISPLAY_TOOLBAR";
case DISPLAY_SEARCH_BAR:
return "DISPLAY_SEARCH_BAR";
@@ -630,6 +634,28 @@ public abstract class ConfigurationFacade : Object {
}
}
+
+ //
+ // display toolbar
+ //
+ public virtual bool get_display_toolbar() {
+ try {
+ return get_engine().get_bool_property(ConfigurableProperty.DISPLAY_TOOLBAR);
+ } catch (ConfigurationError err) {
+ on_configuration_error(err);
+
+ return false;
+ }
+ }
+
+ public virtual void set_display_toolbar(bool display) {
+ try {
+ get_engine().set_bool_property(ConfigurableProperty.DISPLAY_TOOLBAR, display);
+ } catch (ConfigurationError err) {
+ on_configuration_error(err);
+ }
+ }
+
//
// display search & filter toolbar
//
diff --git a/src/config/GSettingsEngine.vala b/src/config/GSettingsEngine.vala
index d7ad69f..6329b78 100644
--- a/src/config/GSettingsEngine.vala
+++ b/src/config/GSettingsEngine.vala
@@ -49,6 +49,7 @@ public class GSettingsConfigurationEngine : ConfigurationEngine, GLib.Object {
schema_names[ConfigurableProperty.DISPLAY_BASIC_PROPERTIES] = UI_PREFS_SCHEMA_NAME;
schema_names[ConfigurableProperty.DISPLAY_EXTENDED_PROPERTIES] = UI_PREFS_SCHEMA_NAME;
schema_names[ConfigurableProperty.DISPLAY_SIDEBAR] = UI_PREFS_SCHEMA_NAME;
+ schema_names[ConfigurableProperty.DISPLAY_TOOLBAR] = UI_PREFS_SCHEMA_NAME;
schema_names[ConfigurableProperty.DISPLAY_SEARCH_BAR] = UI_PREFS_SCHEMA_NAME;
schema_names[ConfigurableProperty.DISPLAY_PHOTO_RATINGS] = UI_PREFS_SCHEMA_NAME;
schema_names[ConfigurableProperty.DISPLAY_PHOTO_TAGS] = UI_PREFS_SCHEMA_NAME;
@@ -114,6 +115,7 @@ public class GSettingsConfigurationEngine : ConfigurationEngine, GLib.Object {
key_names[ConfigurableProperty.DISPLAY_BASIC_PROPERTIES] = "display-basic-properties";
key_names[ConfigurableProperty.DISPLAY_EXTENDED_PROPERTIES] = "display-extended-properties";
key_names[ConfigurableProperty.DISPLAY_SIDEBAR] = "display-sidebar";
+ key_names[ConfigurableProperty.DISPLAY_TOOLBAR] = "display-toolbar";
key_names[ConfigurableProperty.DISPLAY_SEARCH_BAR] = "display-search-bar";
key_names[ConfigurableProperty.DISPLAY_PHOTO_RATINGS] = "display-photo-ratings";
key_names[ConfigurableProperty.DISPLAY_PHOTO_TAGS] = "display-photo-tags";
diff --git a/src/library/LibraryWindow.vala b/src/library/LibraryWindow.vala
index 21fc85e..19f819b 100644
--- a/src/library/LibraryWindow.vala
+++ b/src/library/LibraryWindow.vala
@@ -392,7 +392,13 @@ public class LibraryWindow : AppWindow {
sidebar.label = _("S_idebar");
sidebar.tooltip = _("Display the sidebar");
actions += sidebar;
-
+
+ Gtk.ToggleActionEntry toolbar = { "CommonDisplayToolbar", null, TRANSLATABLE,
+ "<Ctrl>F9", TRANSLATABLE, on_display_toolbar, is_toolbar_visible() };
+ toolbar.label = _("T_oolbar");
+ toolbar.tooltip = _("Display the tool bar");
+ actions += toolbar;
+
return actions;
}
@@ -837,7 +843,7 @@ public class LibraryWindow : AppWindow {
set_sidebar_visible(((Gtk.ToggleAction) action).get_active());
}
-
+
private void set_sidebar_visible(bool visible) {
sidebar_paned.set_visible(visible);
Config.Facade.get_instance().set_display_sidebar(visible);
@@ -847,6 +853,22 @@ public class LibraryWindow : AppWindow {
return Config.Facade.get_instance().get_display_sidebar();
}
+ private void on_display_toolbar (Gtk.Action action) {
+ set_toolbar_visible ((action as Gtk.ToggleAction).get_active ());
+ }
+
+ private void set_toolbar_visible (bool visible) {
+ var toolbar = get_current_page ().get_toolbar ();
+ if (toolbar != null) {
+ toolbar.set_visible (visible);
+ }
+ Config.Facade.get_instance().set_display_toolbar (visible);
+ }
+
+ private bool is_toolbar_visible () {
+ return Config.Facade.get_instance ().get_display_toolbar ();
+ }
+
private void show_extended_properties() {
sync_extended_properties(true);
}
@@ -1382,6 +1404,7 @@ public class LibraryWindow : AppWindow {
if (toolbar != null) {
right_vbox.add(toolbar);
toolbar.show_all();
+ toolbar.set_visible (this.is_toolbar_visible ());
}
page.ready();
diff --git a/ui/events_directory.ui b/ui/events_directory.ui
index a0041e2..a1a256f 100644
--- a/ui/events_directory.ui
+++ b/ui/events_directory.ui
@@ -27,6 +27,7 @@
<menuitem name="DisplayExtendedProperties" action="CommonDisplayExtendedProperties" />
<menuitem name="DisplaySearchbar" action="CommonDisplaySearchbar" />
<menuitem name="DisplaySidebar" action="CommonDisplaySidebar" />
+ <menuitem name="DisplayToolbar" action="CommonDisplayToolbar" />
<separator />
<menuitem name="ViewComment" action="ViewComment" />
<separator />
diff --git a/ui/import.ui b/ui/import.ui
index 600ae09..99c96a2 100644
--- a/ui/import.ui
+++ b/ui/import.ui
@@ -28,6 +28,7 @@
<menuitem name="DisplayExtendedProperties" action="CommonDisplayExtendedProperties" />
<menuitem name="DisplaySearchbar" action="CommonDisplaySearchbar" />
<menuitem name="DisplaySidebar" action="CommonDisplaySidebar" />
+ <menuitem name="DisplayToolbar" action="CommonDisplayToolbar" />
<separator />
<menuitem name="ViewTitle" action="ViewTitle" />
<separator />
diff --git a/ui/media.ui b/ui/media.ui
index befd0ed..58329ee 100644
--- a/ui/media.ui
+++ b/ui/media.ui
@@ -36,6 +36,7 @@
<menuitem name="DisplayExtendedProperties" action="CommonDisplayExtendedProperties" />
<menuitem name="DisplaySearchbar" action="CommonDisplaySearchbar" />
<menuitem name="DisplaySidebar" action="CommonDisplaySidebar" />
+ <menuitem name="DisplayToolbar" action="CommonDisplayToolbar" />
<separator />
<menuitem name="ViewTitle" action="ViewTitle" />
<menuitem name="ViewComment" action="ViewComment" />
diff --git a/ui/offline.ui b/ui/offline.ui
index b5b41ef..f4359a3 100644
--- a/ui/offline.ui
+++ b/ui/offline.ui
@@ -29,6 +29,7 @@
<menuitem name="DisplayExtendedProperties" action="CommonDisplayExtendedProperties" />
<menuitem name="DisplaySearchbar" action="CommonDisplaySearchbar" />
<menuitem name="DisplaySidebar" action="CommonDisplaySidebar" />
+ <menuitem name="DisplayToolbar" action="CommonDisplayToolbar" />
<separator />
<menu name="FilterPhotos" action="CommonFilterPhotos">
<menuitem name="DisplayFiveOrHigher" action="CommonDisplayFiveOrHigher" />
diff --git a/ui/photo.ui b/ui/photo.ui
index f11a25b..d91b0b3 100644
--- a/ui/photo.ui
+++ b/ui/photo.ui
@@ -35,6 +35,7 @@
<menuitem name="DisplayBasicProperties" action="CommonDisplayBasicProperties" />
<menuitem name="DisplayExtendedProperties" action="CommonDisplayExtendedProperties" />
<menuitem name="DisplaySidebar" action="CommonDisplaySidebar" />
+ <menuitem name="DisplayToolbar" action="CommonDisplayToolbar" />
<separator />
<menuitem name="ViewRatings" action="ViewRatings" />
<separator />
diff --git a/ui/trash.ui b/ui/trash.ui
index 7615512..2873416 100644
--- a/ui/trash.ui
+++ b/ui/trash.ui
@@ -31,6 +31,7 @@
<menuitem name="DisplayExtendedProperties" action="CommonDisplayExtendedProperties" />
<menuitem name="DisplaySearchbar" action="CommonDisplaySearchbar" />
<menuitem name="DisplaySidebar" action="CommonDisplaySidebar" />
+ <menuitem name="DisplayToolbar" action="CommonDisplayToolbar" />
<separator />
<menu name="FilterPhotos" action="CommonFilterPhotos">
<menuitem name="DisplayFiveOrHigher" action="CommonDisplayFiveOrHigher" />
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]