[shotwell] Offer a way to hide bottom toolbar



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]