summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2012-01-06 12:53:04 +0100
committerCosimo Cecchi <cosimoc@gnome.org>2012-01-09 17:22:46 -0500
commitf876211d2e318580d1f28c57e7f0182f7c5bfb3a (patch)
tree62ad0389342692fbe08b60ca46e1b0e83907d748
parent419d49de7dd714095fbd63dd7093fec5c07a52fb (diff)
downloadnautilus-f876211d2e318580d1f28c57e7f0182f7c5bfb3a.tar.gz
window: add nautilus_window_get_main_action_group()
-rw-r--r--src/nautilus-desktop-window.c12
-rw-r--r--src/nautilus-window-menus.c30
-rw-r--r--src/nautilus-window.c33
-rw-r--r--src/nautilus-window.h2
4 files changed, 46 insertions, 31 deletions
diff --git a/src/nautilus-desktop-window.c b/src/nautilus-desktop-window.c
index 616b2f786..b9b42f0b3 100644
--- a/src/nautilus-desktop-window.c
+++ b/src/nautilus-desktop-window.c
@@ -62,22 +62,26 @@ nautilus_desktop_window_dispose (GObject *obj)
static void
nautilus_desktop_window_constructed (GObject *obj)
{
+ GtkActionGroup *action_group;
GtkAction *action;
AtkObject *accessible;
NautilusDesktopWindow *window = NAUTILUS_DESKTOP_WINDOW (obj);
+ NautilusWindow *nwindow = NAUTILUS_WINDOW (obj);
G_OBJECT_CLASS (nautilus_desktop_window_parent_class)->constructed (obj);
- gtk_widget_hide (NAUTILUS_WINDOW (window)->details->statusbar);
- gtk_widget_hide (NAUTILUS_WINDOW (window)->details->menubar);
+ gtk_widget_hide (nwindow->details->statusbar);
+ gtk_widget_hide (nwindow->details->menubar);
+
+ action_group = nautilus_window_get_main_action_group (nwindow);
/* Don't allow close action on desktop */
- action = gtk_action_group_get_action (NAUTILUS_WINDOW (window)->details->main_action_group,
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_CLOSE);
gtk_action_set_sensitive (action, FALSE);
/* Don't allow new tab on desktop */
- action = gtk_action_group_get_action (NAUTILUS_WINDOW (window)->details->main_action_group,
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_NEW_TAB);
gtk_action_set_sensitive (action, FALSE);
diff --git a/src/nautilus-window-menus.c b/src/nautilus-window-menus.c
index 1b74a6f38..8e8b001e7 100644
--- a/src/nautilus-window-menus.c
+++ b/src/nautilus-window-menus.c
@@ -276,8 +276,8 @@ show_hidden_files_preference_callback (gpointer callback_data)
window = NAUTILUS_WINDOW (callback_data);
if (window->details->show_hidden_files_mode == NAUTILUS_WINDOW_SHOW_HIDDEN_FILES_DEFAULT) {
- action = gtk_action_group_get_action (window->details->main_action_group, NAUTILUS_ACTION_SHOW_HIDDEN_FILES);
- g_assert (GTK_IS_ACTION (action));
+ action = gtk_action_group_get_action (nautilus_window_get_main_action_group (window),
+ NAUTILUS_ACTION_SHOW_HIDDEN_FILES);
/* update button */
g_signal_handlers_block_by_func (action, action_show_hidden_files_callback, window);
@@ -514,7 +514,7 @@ trash_state_changed_cb (NautilusTrashMonitor *monitor,
GtkAction *action;
GIcon *gicon;
- action_group = window->details->main_action_group;
+ action_group = nautilus_window_get_main_action_group (window);
action = gtk_action_group_get_action (action_group, "Go to Trash");
gicon = nautilus_trash_monitor_get_icon ();
@@ -653,17 +653,18 @@ sidebar_id_to_value (const gchar *sidebar_id)
void
nautilus_window_update_show_hide_menu_items (NautilusWindow *window)
{
+ GtkActionGroup *action_group;
GtkAction *action;
guint current_value;
- g_assert (NAUTILUS_IS_WINDOW (window));
+ action_group = nautilus_window_get_main_action_group (window);
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_SHOW_HIDE_EXTRA_PANE);
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action),
nautilus_window_split_view_showing (window));
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action = gtk_action_group_get_action (action_group,
"Sidebar Places");
current_value = sidebar_id_to_value (window->details->sidebar_id);
gtk_radio_action_set_current_value (GTK_RADIO_ACTION (action), current_value);
@@ -727,8 +728,6 @@ nautilus_window_initialize_go_menu (NautilusWindow *window)
GtkWidget *menuitem;
int i;
- g_assert (NAUTILUS_IS_WINDOW (window));
-
ui_manager = nautilus_window_get_ui_manager (NAUTILUS_WINDOW (window));
for (i = 0; i < G_N_ELEMENTS (icon_entries); i++) {
@@ -753,10 +752,8 @@ nautilus_window_update_split_view_actions_sensitivity (NautilusWindow *window)
NautilusWindowPane *next_pane;
NautilusWindowSlot *active_slot;
- g_assert (NAUTILUS_IS_WINDOW (window));
-
- action_group = window->details->main_action_group;
active_slot = nautilus_window_get_active_slot (window);
+ action_group = nautilus_window_get_main_action_group (window);
/* collect information */
have_multiple_panes = (window->details->panes && window->details->panes->next);
@@ -1163,9 +1160,12 @@ nautilus_window_create_toolbar_action_group (NautilusWindow *window)
static void
window_menus_set_bindings (NautilusWindow *window)
{
+ GtkActionGroup *action_group;
GtkAction *action;
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action_group = nautilus_window_get_main_action_group (window);
+
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_SHOW_HIDE_TOOLBAR);
g_settings_bind (nautilus_window_state,
@@ -1174,7 +1174,7 @@ window_menus_set_bindings (NautilusWindow *window)
"active",
G_SETTINGS_BIND_DEFAULT);
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_SHOW_HIDE_STATUSBAR);
g_settings_bind (nautilus_window_state,
@@ -1183,7 +1183,7 @@ window_menus_set_bindings (NautilusWindow *window)
"active",
G_SETTINGS_BIND_DEFAULT);
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_SHOW_HIDE_SIDEBAR);
g_settings_bind (nautilus_window_state,
@@ -1202,7 +1202,7 @@ nautilus_window_initialize_actions (NautilusWindow *window)
NAUTILUS_ACTION_SEARCH, NULL
};
- action_group = window->details->main_action_group;
+ action_group = nautilus_window_get_main_action_group (window);
window->details->nav_state = nautilus_navigation_state_new (action_group,
nav_state_actions);
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 5c9418d82..a9a64370e 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -240,16 +240,18 @@ nautilus_window_new_tab (NautilusWindow *window)
}
void
-nautilus_window_allow_up (NautilusWindow *window, gboolean allow)
+nautilus_window_allow_up (NautilusWindow *window,
+ gboolean allow)
{
GtkAction *action;
-
- g_assert (NAUTILUS_IS_WINDOW (window));
+ GtkActionGroup *action_group;
+
+ action_group = nautilus_window_get_main_action_group (window);
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_UP);
gtk_action_set_sensitive (action, allow);
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_UP_ACCEL);
gtk_action_set_sensitive (action, allow);
}
@@ -279,9 +281,7 @@ nautilus_window_sync_allow_stop (NautilusWindow *window,
gboolean allow_stop, slot_is_active;
NautilusNotebook *notebook;
- g_assert (NAUTILUS_IS_WINDOW (window));
-
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action = gtk_action_group_get_action (nautilus_window_get_main_action_group (window),
NAUTILUS_ACTION_STOP);
allow_stop = gtk_action_get_sensitive (action);
@@ -1443,6 +1443,7 @@ nautilus_window_sync_zoom_widgets (NautilusWindow *window)
{
NautilusWindowSlot *slot;
NautilusView *view;
+ GtkActionGroup *action_group;
GtkAction *action;
gboolean supports_zooming;
gboolean can_zoom, can_zoom_in, can_zoom_out;
@@ -1467,17 +1468,19 @@ nautilus_window_sync_zoom_widgets (NautilusWindow *window)
can_zoom_out = FALSE;
}
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action_group = nautilus_window_get_main_action_group (window);
+
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_ZOOM_IN);
gtk_action_set_visible (action, supports_zooming);
gtk_action_set_sensitive (action, can_zoom_in);
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_ZOOM_OUT);
gtk_action_set_visible (action, supports_zooming);
gtk_action_set_sensitive (action, can_zoom_out);
- action = gtk_action_group_get_action (window->details->main_action_group,
+ action = gtk_action_group_get_action (action_group,
NAUTILUS_ACTION_ZOOM_NORMAL);
gtk_action_set_visible (action, supports_zooming);
gtk_action_set_sensitive (action, can_zoom);
@@ -1588,6 +1591,14 @@ nautilus_window_get_ui_manager (NautilusWindow *window)
return window->details->ui_manager;
}
+GtkActionGroup *
+nautilus_window_get_main_action_group (NautilusWindow *window)
+{
+ g_return_val_if_fail (NAUTILUS_IS_WINDOW (window), NULL);
+
+ return window->details->main_action_group;
+}
+
NautilusWindowPane *
nautilus_window_get_next_pane (NautilusWindow *window)
{
diff --git a/src/nautilus-window.h b/src/nautilus-window.h
index 3471b61ff..860303d33 100644
--- a/src/nautilus-window.h
+++ b/src/nautilus-window.h
@@ -119,7 +119,7 @@ void nautilus_window_prompt_for_location (NautilusWindow *window
void nautilus_window_allow_up (NautilusWindow *window,
gboolean allow);
GtkUIManager * nautilus_window_get_ui_manager (NautilusWindow *window);
-
+GtkActionGroup * nautilus_window_get_main_action_group (NautilusWindow *window);
void nautilus_window_report_load_complete (NautilusWindow *window,
NautilusView *view);