summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2005-07-11 08:52:21 +0000
committerAlexander Larsson <alexl@src.gnome.org>2005-07-11 08:52:21 +0000
commitc2b26edbf87e012b94ca02b5b03ec6fbb0b68cd9 (patch)
treea33bd311667beb622c6d82cc20a51d2be0900e4c
parentc5258c211ba97ed809d487956684813b74fc4a4a (diff)
downloadnautilus-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--ChangeLog9
-rw-r--r--libnautilus-private/nautilus-global-preferences.c4
-rw-r--r--libnautilus-private/nautilus-global-preferences.h1
-rw-r--r--src/nautilus-actions.h1
-rw-r--r--src/nautilus-navigation-window-menus.c27
-rw-r--r--src/nautilus-navigation-window-ui.xml1
-rw-r--r--src/nautilus-navigation-window.c30
7 files changed, 73 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8fcbd025d..d2e604261 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 {