diff options
author | Alexander Larsson <alexl@redhat.com> | 2005-07-11 08:52:21 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2005-07-11 08:52:21 +0000 |
commit | c2b26edbf87e012b94ca02b5b03ec6fbb0b68cd9 (patch) | |
tree | a33bd311667beb622c6d82cc20a51d2be0900e4c | |
parent | c5258c211ba97ed809d487956684813b74fc4a4a (diff) | |
download | nautilus-c2b26edbf87e012b94ca02b5b03ec6fbb0b68cd9.tar.gz |
Add toggle to hide/show main toolbar.
2005-07-11 Alexander Larsson <alexl@redhat.com>
* libnautilus-private/nautilus-global-preferences.[ch]:
* src/nautilus-actions.h:
* src/nautilus-navigation-window-menus.c:
* src/nautilus-navigation-window-ui.xml:
* src/nautilus-navigation-window.c:
Add toggle to hide/show main toolbar.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | libnautilus-private/nautilus-global-preferences.c | 4 | ||||
-rw-r--r-- | libnautilus-private/nautilus-global-preferences.h | 1 | ||||
-rw-r--r-- | src/nautilus-actions.h | 1 | ||||
-rw-r--r-- | src/nautilus-navigation-window-menus.c | 27 | ||||
-rw-r--r-- | src/nautilus-navigation-window-ui.xml | 1 | ||||
-rw-r--r-- | src/nautilus-navigation-window.c | 30 |
7 files changed, 73 insertions, 0 deletions
@@ -1,3 +1,12 @@ +2005-07-11 Alexander Larsson <alexl@redhat.com> + + * libnautilus-private/nautilus-global-preferences.[ch]: + * src/nautilus-actions.h: + * src/nautilus-navigation-window-menus.c: + * src/nautilus-navigation-window-ui.xml: + * src/nautilus-navigation-window.c: + Add toggle to hide/show main toolbar. + 2005-07-10 Christian Neumair <chris@gnome-de.org> * src/nautilus-property-browser.c: (add_color_to_browser): Don't allow diff --git a/libnautilus-private/nautilus-global-preferences.c b/libnautilus-private/nautilus-global-preferences.c index 24f3fc798..e418e97d0 100644 --- a/libnautilus-private/nautilus-global-preferences.c +++ b/libnautilus-private/nautilus-global-preferences.c @@ -390,6 +390,10 @@ static const PreferenceDefault preference_defaults[] = { PREFERENCE_BOOLEAN, GINT_TO_POINTER (FALSE) }, + { NAUTILUS_PREFERENCES_START_WITH_TOOLBAR, + PREFERENCE_BOOLEAN, + GINT_TO_POINTER (TRUE) + }, { NAUTILUS_PREFERENCES_START_WITH_LOCATION_BAR, PREFERENCE_BOOLEAN, GINT_TO_POINTER (TRUE) diff --git a/libnautilus-private/nautilus-global-preferences.h b/libnautilus-private/nautilus-global-preferences.h index 610756c06..14611e71d 100644 --- a/libnautilus-private/nautilus-global-preferences.h +++ b/libnautilus-private/nautilus-global-preferences.h @@ -85,6 +85,7 @@ typedef enum #define NAUTILUS_PREFERENCES_ALWAYS_USE_LOCATION_ENTRY "preferences/always_use_location_entry" #define NAUTILUS_PREFERENCES_START_WITH_STATUS_BAR "preferences/start_with_status_bar" #define NAUTILUS_PREFERENCES_START_WITH_SIDEBAR "preferences/start_with_sidebar" +#define NAUTILUS_PREFERENCES_START_WITH_TOOLBAR "preferences/start_with_toolbar" #define NAUTILUS_PREFERENCES_SIDE_PANE_VIEW "preferences/side_pane_view" #define NAUTILUS_PREFERENCES_NAVIGATION_WINDOW_SAVED_GEOMETRY "preferences/navigation_window_saved_geometry" diff --git a/src/nautilus-actions.h b/src/nautilus-actions.h index 0254fbfeb..77c92f265 100644 --- a/src/nautilus-actions.h +++ b/src/nautilus-actions.h @@ -33,6 +33,7 @@ #define NAUTILUS_ACTION_UP_ACCEL "UpAccel" #define NAUTILUS_ACTION_UP_ACCEL "UpAccel" #define NAUTILUS_ACTION_FORWARD "Forward" +#define NAUTILUS_ACTION_SHOW_HIDE_TOOLBAR "Show Hide Toolbar" #define NAUTILUS_ACTION_SHOW_HIDE_SIDEBAR "Show Hide Sidebar" #define NAUTILUS_ACTION_SHOW_HIDE_STATUSBAR "Show Hide Statusbar" #define NAUTILUS_ACTION_SHOW_HIDE_LOCATION_BAR "Show Hide Location Bar" diff --git a/src/nautilus-navigation-window-menus.c b/src/nautilus-navigation-window-menus.c index 8eed02d71..a1c7cc2b5 100644 --- a/src/nautilus-navigation-window-menus.c +++ b/src/nautilus-navigation-window-menus.c @@ -144,6 +144,23 @@ action_clear_history_callback (GtkAction *action, } static void +action_show_hide_toolbar_callback (GtkAction *action, + gpointer user_data) +{ + NautilusNavigationWindow *window; + + window = NAUTILUS_NAVIGATION_WINDOW (user_data); + + if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action))) { + nautilus_navigation_window_show_toolbar (window); + } else { + nautilus_navigation_window_hide_toolbar (window); + } +} + + + +static void action_show_hide_sidebar_callback (GtkAction *action, gpointer user_data) { @@ -196,6 +213,11 @@ nautilus_navigation_window_update_show_hide_menu_items (NautilusNavigationWindow g_assert (NAUTILUS_IS_NAVIGATION_WINDOW (window)); action = gtk_action_group_get_action (window->details->navigation_action_group, + NAUTILUS_ACTION_SHOW_HIDE_TOOLBAR); + gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), + nautilus_navigation_window_toolbar_showing (window)); + + action = gtk_action_group_get_action (window->details->navigation_action_group, NAUTILUS_ACTION_SHOW_HIDE_SIDEBAR); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), nautilus_navigation_window_sidebar_showing (window)); @@ -414,6 +436,11 @@ static const GtkActionEntry navigation_entries[] = { }; static const GtkToggleActionEntry navigation_toggle_entries[] = { + { "Show Hide Toolbar", NULL, /* name, stock id */ + N_("_Main Toolbar"), NULL, /* label, accelerator */ + N_("Change the visibility of this window's main toolbar"), /* tooltip */ + G_CALLBACK (action_show_hide_toolbar_callback), + TRUE}, /* is_active */ { "Show Hide Sidebar", NULL, /* name, stock id */ N_("_Side Pane"), "F9", /* label, accelerator */ N_("Change the visibility of this window's sidebar"), /* tooltip */ diff --git a/src/nautilus-navigation-window-ui.xml b/src/nautilus-navigation-window-ui.xml index 9cbf9099c..b15da7441 100644 --- a/src/nautilus-navigation-window-ui.xml +++ b/src/nautilus-navigation-window-ui.xml @@ -11,6 +11,7 @@ </menu> <menu action="View"> <placeholder name="Show Hide Placeholder"> + <menuitem name="Show Hide Toolbar" action="Show Hide Toolbar"/> <menuitem name="Show Hide Sidebar" action="Show Hide Sidebar"/> <menuitem name="Show Hide Location Bar" action="Show Hide Location Bar"/> <menuitem name="Show Hide Statusbar" action="Show Hide Statusbar"/> diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c index 30d7d0883..c41753102 100644 --- a/src/nautilus-navigation-window.c +++ b/src/nautilus-navigation-window.c @@ -1031,6 +1031,29 @@ nautilus_navigation_window_status_bar_showing (NautilusNavigationWindow *window) return TRUE; } + +void +nautilus_navigation_window_hide_toolbar (NautilusNavigationWindow *window) +{ + gtk_widget_hide (window->details->toolbar); + nautilus_navigation_window_update_show_hide_menu_items (window); + if (eel_preferences_key_is_writable (NAUTILUS_PREFERENCES_START_WITH_TOOLBAR) && + eel_preferences_get_boolean (NAUTILUS_PREFERENCES_START_WITH_TOOLBAR)) { + eel_preferences_set_boolean (NAUTILUS_PREFERENCES_START_WITH_TOOLBAR, FALSE); + } +} + +void +nautilus_navigation_window_show_toolbar (NautilusNavigationWindow *window) +{ + gtk_widget_show (window->details->toolbar); + nautilus_navigation_window_update_show_hide_menu_items (window); + if (eel_preferences_key_is_writable (NAUTILUS_PREFERENCES_START_WITH_TOOLBAR) && + !eel_preferences_get_boolean (NAUTILUS_PREFERENCES_START_WITH_TOOLBAR)) { + eel_preferences_set_boolean (NAUTILUS_PREFERENCES_START_WITH_TOOLBAR, TRUE); + } +} + void nautilus_navigation_window_hide_sidebar (NautilusNavigationWindow *window) { @@ -1117,6 +1140,13 @@ nautilus_navigation_window_show (GtkWidget *widget) /* Initially show or hide views based on preferences; once the window is displayed * these can be controlled on a per-window basis from View menu items. */ + + if (eel_preferences_get_boolean (NAUTILUS_PREFERENCES_START_WITH_TOOLBAR)) { + nautilus_navigation_window_show_toolbar (window); + } else { + nautilus_navigation_window_hide_toolbar (window); + } + if (eel_preferences_get_boolean (NAUTILUS_PREFERENCES_START_WITH_LOCATION_BAR)) { nautilus_navigation_window_show_location_bar (window, FALSE); } else { |