summaryrefslogtreecommitdiff
path: root/src/nautilus-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nautilus-window.c')
-rw-r--r--src/nautilus-window.c3512
1 files changed, 1839 insertions, 1673 deletions
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 883ae9b10..b6bfc30e5 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -1,4 +1,3 @@
-
/*
* Nautilus
*
@@ -19,7 +18,7 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*
* Authors: Elliot Lee <sopwith@redhat.com>
- * John Sullivan <sullivan@eazel.com>
+ * John Sullivan <sullivan@eazel.com>
* Alexander Larsson <alexl@redhat.com>
*/
@@ -75,82 +74,85 @@ static gboolean mouse_extra_buttons = TRUE;
static int mouse_forward_button = 9;
static int mouse_back_button = 8;
-static void mouse_back_button_changed (gpointer callback_data);
-static void mouse_forward_button_changed (gpointer callback_data);
-static void use_extra_mouse_buttons_changed (gpointer callback_data);
-static void nautilus_window_initialize_actions (NautilusWindow *window);
-static GtkWidget * nautilus_window_ensure_location_entry (NautilusWindow *window);
-static void close_slot (NautilusWindow *window,
- NautilusWindowSlot *slot,
- gboolean remove_from_notebook);
-
-/* Sanity check: highest mouse button value I could find was 14. 5 is our
- * lower threshold (well-documented to be the one of the button events for the
+static void mouse_back_button_changed (gpointer callback_data);
+static void mouse_forward_button_changed (gpointer callback_data);
+static void use_extra_mouse_buttons_changed (gpointer callback_data);
+static void nautilus_window_initialize_actions (NautilusWindow *window);
+static GtkWidget *nautilus_window_ensure_location_entry (NautilusWindow *window);
+static void close_slot (NautilusWindow *window,
+ NautilusWindowSlot *slot,
+ gboolean remove_from_notebook);
+
+/* Sanity check: highest mouse button value I could find was 14. 5 is our
+ * lower threshold (well-documented to be the one of the button events for the
* scrollwheel), so it's hardcoded in the functions below. However, if you have
- * a button that registers higher and want to map it, file a bug and
- * we'll move the bar. Makes you wonder why the X guys don't have
+ * a button that registers higher and want to map it, file a bug and
+ * we'll move the bar. Makes you wonder why the X guys don't have
* defined values for these like the XKB stuff, huh?
*/
#define UPPER_MOUSE_LIMIT 14
-#define NOTIFICATION_TIMEOUT 6 //s
+#define NOTIFICATION_TIMEOUT 6 /*s */
-struct _NautilusWindowPrivate {
- GtkWidget *notebook;
+struct _NautilusWindowPrivate
+{
+ GtkWidget *notebook;
- /* available slots, and active slot.
- * Both of them may never be NULL.
- */
- GList *slots;
- NautilusWindowSlot *active_slot;
-
- GtkWidget *content_paned;
-
- /* Side Pane */
- int side_pane_width;
- GtkWidget *sidebar; /* container for the GtkPlacesSidebar */
- GtkWidget *places_sidebar; /* the actual GtkPlacesSidebar */
- GVolume *selected_volume; /* the selected volume in the sidebar popup callback */
- GFile *selected_file; /* the selected file in the sidebar popup callback */
-
- /* Main view */
- GtkWidget *main_view;
-
- /* Notifications */
- GtkWidget *notification_delete;
- GtkWidget *notification_delete_label;
- GtkWidget *notification_delete_close;
- GtkWidget *notification_delete_undo;
- guint notification_delete_timeout_id;
- GtkWidget *notification_operation;
- GtkWidget *notification_operation_label;
- GtkWidget *notification_operation_close;
- GtkWidget *notification_operation_open;
- guint notification_operation_timeout_id;
- GFile *folder_to_open;
-
- /* Toolbar */
- GtkWidget *toolbar;
- gboolean temporary_navigation_bar;
-
- /* focus widget before the location bar has been shown temporarily */
- GtkWidget *last_focus_widget;
-
- gboolean disable_chrome;
-
- guint sidebar_width_handler_id;
- guint bookmarks_id;
+ /* available slots, and active slot.
+ * Both of them may never be NULL.
+ */
+ GList *slots;
+ NautilusWindowSlot *active_slot;
+
+ GtkWidget *content_paned;
+
+ /* Side Pane */
+ int side_pane_width;
+ GtkWidget *sidebar; /* container for the GtkPlacesSidebar */
+ GtkWidget *places_sidebar; /* the actual GtkPlacesSidebar */
+ GVolume *selected_volume; /* the selected volume in the sidebar popup callback */
+ GFile *selected_file; /* the selected file in the sidebar popup callback */
+
+ /* Main view */
+ GtkWidget *main_view;
+
+ /* Notifications */
+ GtkWidget *notification_delete;
+ GtkWidget *notification_delete_label;
+ GtkWidget *notification_delete_close;
+ GtkWidget *notification_delete_undo;
+ guint notification_delete_timeout_id;
+ GtkWidget *notification_operation;
+ GtkWidget *notification_operation_label;
+ GtkWidget *notification_operation_close;
+ GtkWidget *notification_operation_open;
+ guint notification_operation_timeout_id;
+ GFile *folder_to_open;
+
+ /* Toolbar */
+ GtkWidget *toolbar;
+ gboolean temporary_navigation_bar;
+
+ /* focus widget before the location bar has been shown temporarily */
+ GtkWidget *last_focus_widget;
+
+ gboolean disable_chrome;
+
+ guint sidebar_width_handler_id;
+ guint bookmarks_id;
};
-enum {
- PROP_DISABLE_CHROME = 1,
- NUM_PROPERTIES,
+enum
+{
+ PROP_DISABLE_CHROME = 1,
+ NUM_PROPERTIES,
};
-enum {
- SLOT_ADDED,
- SLOT_REMOVED,
- LAST_SIGNAL
+enum
+{
+ SLOT_ADDED,
+ SLOT_REMOVED,
+ LAST_SIGNAL
};
static guint signals[LAST_SIGNAL] = { 0 };
@@ -158,259 +160,265 @@ static GParamSpec *properties[NUM_PROPERTIES] = { NULL, };
G_DEFINE_TYPE_WITH_PRIVATE (NautilusWindow, nautilus_window, GTK_TYPE_APPLICATION_WINDOW);
-static const struct {
- unsigned int keyval;
- const char *action;
-} extra_window_keybindings [] = {
+static const struct
+{
+ unsigned int keyval;
+ const char *action;
+} extra_window_keybindings [] =
+{
#ifdef HAVE_X11_XF86KEYSYM_H
- /* Window actions */
- { XF86XK_AddFavorite, "bookmark-current-location" },
- { XF86XK_Favorites, "bookmarks" },
- { XF86XK_Go, "enter-location" },
- { XF86XK_HomePage, "go-home" },
- { XF86XK_OpenURL, "enter-location" },
- { XF86XK_Refresh, "reload" },
- { XF86XK_Reload, "reload" },
- { XF86XK_Search, "search" },
- { XF86XK_Start, "go-home" },
- { XF86XK_Stop, "stop" },
- { XF86XK_Back, "back" },
- { XF86XK_Forward, "forward" },
+ /* Window actions */
+ { XF86XK_AddFavorite, "bookmark-current-location" },
+ { XF86XK_Favorites, "bookmarks" },
+ { XF86XK_Go, "enter-location" },
+ { XF86XK_HomePage, "go-home" },
+ { XF86XK_OpenURL, "enter-location" },
+ { XF86XK_Refresh, "reload" },
+ { XF86XK_Reload, "reload" },
+ { XF86XK_Search, "search" },
+ { XF86XK_Start, "go-home" },
+ { XF86XK_Stop, "stop" },
+ { XF86XK_Back, "back" },
+ { XF86XK_Forward, "forward" },
#endif
};
static void
action_close_current_view (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window;
- NautilusWindowSlot *slot;
+ NautilusWindow *window;
+ NautilusWindowSlot *slot;
- window = NAUTILUS_WINDOW (user_data);
- slot = nautilus_window_get_active_slot (window);
+ window = NAUTILUS_WINDOW (user_data);
+ slot = nautilus_window_get_active_slot (window);
- nautilus_window_slot_close (window, slot);
+ nautilus_window_slot_close (window, slot);
}
static void
action_go_home (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window;
- GFile *home;
+ NautilusWindow *window;
+ GFile *home;
- window = NAUTILUS_WINDOW (user_data);
- home = g_file_new_for_path (g_get_home_dir ());
+ window = NAUTILUS_WINDOW (user_data);
+ home = g_file_new_for_path (g_get_home_dir ());
- nautilus_window_open_location_full (window, home, nautilus_event_get_window_open_flags (), NULL, NULL);
+ nautilus_window_open_location_full (window, home, nautilus_event_get_window_open_flags (), NULL, NULL);
- g_object_unref (home);
+ g_object_unref (home);
}
static void
action_reload (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindowSlot *slot;
+ NautilusWindowSlot *slot;
- slot = nautilus_window_get_active_slot (NAUTILUS_WINDOW (user_data));
- nautilus_window_slot_queue_reload (slot);
+ slot = nautilus_window_get_active_slot (NAUTILUS_WINDOW (user_data));
+ nautilus_window_slot_queue_reload (slot);
}
static void
action_stop (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window;
- NautilusWindowSlot *slot;
+ NautilusWindow *window;
+ NautilusWindowSlot *slot;
- window = NAUTILUS_WINDOW (user_data);
- slot = nautilus_window_get_active_slot (window);
+ window = NAUTILUS_WINDOW (user_data);
+ slot = nautilus_window_get_active_slot (window);
- nautilus_window_slot_stop_loading (slot);
+ nautilus_window_slot_stop_loading (slot);
}
static void
action_up (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindowSlot *slot;
- GFile *parent, *location;
+ NautilusWindowSlot *slot;
+ GFile *parent, *location;
- slot = nautilus_window_get_active_slot (NAUTILUS_WINDOW (user_data));
- location = nautilus_window_slot_get_location (slot);
+ slot = nautilus_window_get_active_slot (NAUTILUS_WINDOW (user_data));
+ location = nautilus_window_slot_get_location (slot);
- if (location != NULL) {
- parent = g_file_get_parent (location);
- if (parent != NULL)
- nautilus_window_open_location_full (NAUTILUS_WINDOW (user_data),
- parent,
- nautilus_event_get_window_open_flags (),
- NULL, NULL);
+ if (location != NULL)
+ {
+ parent = g_file_get_parent (location);
+ if (parent != NULL)
+ {
+ nautilus_window_open_location_full (NAUTILUS_WINDOW (user_data),
+ parent,
+ nautilus_event_get_window_open_flags (),
+ NULL, NULL);
+ }
- g_clear_object (&parent);
- }
+ g_clear_object (&parent);
+ }
}
static void
action_back (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- nautilus_window_back_or_forward (NAUTILUS_WINDOW (user_data),
- TRUE, 0, nautilus_event_get_window_open_flags ());
+ nautilus_window_back_or_forward (NAUTILUS_WINDOW (user_data),
+ TRUE, 0, nautilus_event_get_window_open_flags ());
}
static void
action_forward (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- nautilus_window_back_or_forward (NAUTILUS_WINDOW (user_data),
- FALSE, 0, nautilus_event_get_window_open_flags ());
+ nautilus_window_back_or_forward (NAUTILUS_WINDOW (user_data),
+ FALSE, 0, nautilus_event_get_window_open_flags ());
}
static void
action_bookmark_current_location (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
- NautilusApplication *app = NAUTILUS_APPLICATION (g_application_get_default ());
- NautilusWindowSlot *slot;
+ NautilusWindow *window = user_data;
+ NautilusApplication *app = NAUTILUS_APPLICATION (g_application_get_default ());
+ NautilusWindowSlot *slot;
- slot = nautilus_window_get_active_slot (window);
- nautilus_bookmark_list_append (nautilus_application_get_bookmarks (app),
- nautilus_window_slot_get_bookmark (slot));
+ slot = nautilus_window_get_active_slot (window);
+ nautilus_bookmark_list_append (nautilus_application_get_bookmarks (app),
+ nautilus_window_slot_get_bookmark (slot));
}
static void
action_new_tab (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- nautilus_window_new_tab (NAUTILUS_WINDOW (user_data));
+ nautilus_window_new_tab (NAUTILUS_WINDOW (user_data));
}
static void
action_enter_location (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- nautilus_window_ensure_location_entry (window);
+ nautilus_window_ensure_location_entry (window);
}
static void
action_tab_previous (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- nautilus_notebook_prev_page (NAUTILUS_NOTEBOOK (window->priv->notebook));
+ nautilus_notebook_prev_page (NAUTILUS_NOTEBOOK (window->priv->notebook));
}
static void
action_tab_next (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- nautilus_notebook_next_page (NAUTILUS_NOTEBOOK (window->priv->notebook));
+ nautilus_notebook_next_page (NAUTILUS_NOTEBOOK (window->priv->notebook));
}
static void
action_tab_move_left (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), -1);
+ nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), -1);
}
static void
action_tab_move_right (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), 1);
+ nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), 1);
}
static void
action_go_to_tab (GSimpleAction *action,
- GVariant *value,
- gpointer user_data)
+ GVariant *value,
+ gpointer user_data)
{
- NautilusWindow *window = NAUTILUS_WINDOW (user_data);
- GtkNotebook *notebook;
- gint16 num;
+ NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+ GtkNotebook *notebook;
+ gint16 num;
- notebook = GTK_NOTEBOOK (window->priv->notebook);
+ notebook = GTK_NOTEBOOK (window->priv->notebook);
- num = g_variant_get_int32 (value);
- if (num < gtk_notebook_get_n_pages (notebook)) {
- gtk_notebook_set_current_page (notebook, num);
- }
+ num = g_variant_get_int32 (value);
+ if (num < gtk_notebook_get_n_pages (notebook))
+ {
+ gtk_notebook_set_current_page (notebook, num);
+ }
}
static void
action_prompt_for_location_root (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
- GFile *location;
- GtkWidget *entry;
+ NautilusWindow *window = user_data;
+ GFile *location;
+ GtkWidget *entry;
- location = g_file_new_for_path ("/");
- entry = nautilus_window_ensure_location_entry (window);
- nautilus_location_entry_set_location (NAUTILUS_LOCATION_ENTRY (entry), location);
+ location = g_file_new_for_path ("/");
+ entry = nautilus_window_ensure_location_entry (window);
+ nautilus_location_entry_set_location (NAUTILUS_LOCATION_ENTRY (entry), location);
- g_object_unref (location);
+ g_object_unref (location);
}
static void
action_prompt_for_location_home (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- GtkWidget *entry;
+ GtkWidget *entry;
- entry = nautilus_window_ensure_location_entry (NAUTILUS_WINDOW (user_data));
- nautilus_location_entry_set_special_text (NAUTILUS_LOCATION_ENTRY (entry),
- "~");
- gtk_editable_set_position (GTK_EDITABLE (entry), -1);
+ entry = nautilus_window_ensure_location_entry (NAUTILUS_WINDOW (user_data));
+ nautilus_location_entry_set_special_text (NAUTILUS_LOCATION_ENTRY (entry),
+ "~");
+ gtk_editable_set_position (GTK_EDITABLE (entry), -1);
}
static void
action_redo (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- nautilus_file_undo_manager_redo (GTK_WINDOW (window));
+ nautilus_file_undo_manager_redo (GTK_WINDOW (window));
}
static void
action_undo (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
+ GVariant *state,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- nautilus_file_undo_manager_undo (GTK_WINDOW (window));
+ nautilus_file_undo_manager_undo (GTK_WINDOW (window));
}
static void
@@ -418,19 +426,19 @@ action_toggle_state_view_button (GSimpleAction *action,
GVariant *state,
gpointer user_data)
{
- GVariant *current_state;
+ GVariant *current_state;
- current_state = g_action_get_state (G_ACTION (action));
- g_action_change_state (G_ACTION (action),
- g_variant_new_boolean (!g_variant_get_boolean (current_state)));
- g_variant_unref (current_state);
+ current_state = g_action_get_state (G_ACTION (action));
+ g_action_change_state (G_ACTION (action),
+ g_variant_new_boolean (!g_variant_get_boolean (current_state)));
+ g_variant_unref (current_state);
}
static void
on_location_changed (NautilusWindow *window)
{
- gtk_places_sidebar_set_location (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
- nautilus_window_slot_get_location (nautilus_window_get_active_slot (window)));
+ gtk_places_sidebar_set_location (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
+ nautilus_window_slot_get_location (nautilus_window_get_active_slot (window)));
}
static void
@@ -438,74 +446,80 @@ on_slot_location_changed (NautilusWindowSlot *slot,
GParamSpec *pspec,
NautilusWindow *window)
{
- if (nautilus_window_get_active_slot (window) == slot)
- on_location_changed (window);
+ if (nautilus_window_get_active_slot (window) == slot)
+ {
+ on_location_changed (window);
+ }
}
static void
notebook_switch_page_cb (GtkNotebook *notebook,
- GtkWidget *page,
- unsigned int page_num,
- NautilusWindow *window)
+ GtkWidget *page,
+ unsigned int page_num,
+ NautilusWindow *window)
{
- NautilusWindowSlot *slot;
- GtkWidget *widget;
+ NautilusWindowSlot *slot;
+ GtkWidget *widget;
- widget = gtk_notebook_get_nth_page (GTK_NOTEBOOK (window->priv->notebook), page_num);
- g_assert (widget != NULL);
+ widget = gtk_notebook_get_nth_page (GTK_NOTEBOOK (window->priv->notebook), page_num);
+ g_assert (widget != NULL);
- /* find slot corresponding to the target page */
- slot = NAUTILUS_WINDOW_SLOT (widget);
- g_assert (slot != NULL);
+ /* find slot corresponding to the target page */
+ slot = NAUTILUS_WINDOW_SLOT (widget);
+ g_assert (slot != NULL);
- nautilus_window_set_active_slot (nautilus_window_slot_get_window (slot),
- slot);
+ nautilus_window_set_active_slot (nautilus_window_slot_get_window (slot),
+ slot);
}
static void
connect_slot (NautilusWindow *window,
NautilusWindowSlot *slot)
{
- g_signal_connect (slot, "notify::location",
- G_CALLBACK (on_slot_location_changed), window);
+ g_signal_connect (slot, "notify::location",
+ G_CALLBACK (on_slot_location_changed), window);
}
static void
disconnect_slot (NautilusWindow *window,
NautilusWindowSlot *slot)
{
- g_signal_handlers_disconnect_by_data (slot, window);
+ g_signal_handlers_disconnect_by_data (slot, window);
}
static NautilusWindowSlot *
nautilus_window_create_slot (NautilusWindow *window,
GFile *location)
{
- return NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS(window))->create_slot (window, location);
+ return NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS (window))->create_slot (window, location);
}
static NautilusWindowSlot *
real_create_slot (NautilusWindow *window,
GFile *location)
{
- NautilusFile *file = NULL;
- NautilusWindowSlot *slot;
+ NautilusFile *file = NULL;
+ NautilusWindowSlot *slot;
- if (location) {
- file = nautilus_file_get (location);
- }
- /* If not file, assume we open the home directory. We will switch eventually
- * to a different location if not.
- */
- if (file && nautilus_file_is_other_locations (file)) {
- slot = NAUTILUS_WINDOW_SLOT (nautilus_other_locations_window_slot_new (window));
- } else {
- slot = nautilus_window_slot_new (window);
- }
+ if (location)
+ {
+ file = nautilus_file_get (location);
+ }
+ /* If not file, assume we open the home directory. We will switch eventually
+ * to a different location if not.
+ */
+ if (file && nautilus_file_is_other_locations (file))
+ {
+ slot = NAUTILUS_WINDOW_SLOT (nautilus_other_locations_window_slot_new (window));
+ }
+ else
+ {
+ slot = nautilus_window_slot_new (window);
+ }
- nautilus_file_unref (file);
+ nautilus_file_unref (file);
- return slot;
+ return slot;
}
static NautilusWindowSlot *
@@ -513,17 +527,18 @@ replace_active_slot (NautilusWindow *window,
GFile *location,
NautilusWindowOpenFlags flags)
{
- NautilusWindowSlot *new_slot;
- NautilusWindowSlot *active_slot;
+ NautilusWindowSlot *new_slot;
+ NautilusWindowSlot *active_slot;
- new_slot = nautilus_window_create_slot (window, location);
- nautilus_window_initialize_slot (window, new_slot, flags);
- active_slot = nautilus_window_get_active_slot (window);
- if (active_slot) {
- close_slot (window, active_slot, TRUE);
- }
+ new_slot = nautilus_window_create_slot (window, location);
+ nautilus_window_initialize_slot (window, new_slot, flags);
+ active_slot = nautilus_window_get_active_slot (window);
+ if (active_slot)
+ {
+ close_slot (window, active_slot, TRUE);
+ }
- return new_slot;
+ return new_slot;
}
void
@@ -531,26 +546,26 @@ nautilus_window_initialize_slot (NautilusWindow *window,
NautilusWindowSlot *slot,
NautilusWindowOpenFlags flags)
{
- g_assert (NAUTILUS_IS_WINDOW (window));
- g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
+ g_assert (NAUTILUS_IS_WINDOW (window));
+ g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
- connect_slot (window, slot);
+ connect_slot (window, slot);
- g_signal_handlers_block_by_func (window->priv->notebook,
- G_CALLBACK (notebook_switch_page_cb),
- window);
- nautilus_notebook_add_tab (NAUTILUS_NOTEBOOK (window->priv->notebook),
- slot,
- (flags & NAUTILUS_WINDOW_OPEN_SLOT_APPEND) != 0 ?
- -1 :
- gtk_notebook_get_current_page (GTK_NOTEBOOK (window->priv->notebook)) + 1,
- FALSE);
- g_signal_handlers_unblock_by_func (window->priv->notebook,
- G_CALLBACK (notebook_switch_page_cb),
- window);
+ g_signal_handlers_block_by_func (window->priv->notebook,
+ G_CALLBACK (notebook_switch_page_cb),
+ window);
+ nautilus_notebook_add_tab (NAUTILUS_NOTEBOOK (window->priv->notebook),
+ slot,
+ (flags & NAUTILUS_WINDOW_OPEN_SLOT_APPEND) != 0 ?
+ -1 :
+ gtk_notebook_get_current_page (GTK_NOTEBOOK (window->priv->notebook)) + 1,
+ FALSE);
+ g_signal_handlers_unblock_by_func (window->priv->notebook,
+ G_CALLBACK (notebook_switch_page_cb),
+ window);
- window->priv->slots = g_list_append (window->priv->slots, slot);
- g_signal_emit (window, signals[SLOT_ADDED], 0, slot);
+ window->priv->slots = g_list_append (window->priv->slots, slot);
+ g_signal_emit (window, signals[SLOT_ADDED], 0, slot);
}
void
@@ -560,271 +575,300 @@ nautilus_window_open_location_full (NautilusWindow *window,
GList *selection,
NautilusWindowSlot *target_slot)
{
- NautilusWindowSlot *active_slot;
- gboolean new_tab_at_end;
+ NautilusWindowSlot *active_slot;
+ gboolean new_tab_at_end;
- /* The location owner can be one of the slots requesting to handle an
- * unhandled location. But this slot can be destroyed when switching to
- * a new slot. So keep the location alive.
- */
- g_object_ref (location);
-
- /* Assert that we are not managing new windows */
- g_assert (! (flags & NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW));
- /* if the flags say we want a new tab, open a slot in the current window */
- if ((flags & NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB) != 0) {
- new_tab_at_end = g_settings_get_enum (nautilus_preferences, NAUTILUS_PREFERENCES_NEW_TAB_POSITION) == NAUTILUS_NEW_TAB_POSITION_END;
- if (new_tab_at_end)
- flags |= NAUTILUS_WINDOW_OPEN_SLOT_APPEND;
- }
-
- active_slot = nautilus_window_get_active_slot (window);
- if (!target_slot)
- target_slot = active_slot;
-
- if (target_slot == NULL || (flags & NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB) != 0) {
- target_slot = nautilus_window_create_slot (window, location);
- nautilus_window_initialize_slot (window, target_slot, flags);
- } else if (!nautilus_window_slot_handles_location (target_slot, location)) {
- target_slot = replace_active_slot (window, location, flags);
- }
+ /* The location owner can be one of the slots requesting to handle an
+ * unhandled location. But this slot can be destroyed when switching to
+ * a new slot. So keep the location alive.
+ */
+ g_object_ref (location);
- /* Make the opened location the one active if we weren't ask for the
- * oposite, since it's the most usual use case */
- if (!(flags & NAUTILUS_WINDOW_OPEN_FLAG_DONT_MAKE_ACTIVE)) {
- gtk_window_present (GTK_WINDOW (window));
- nautilus_window_set_active_slot (window, target_slot);
+ /* Assert that we are not managing new windows */
+ g_assert (!(flags & NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW));
+ /* if the flags say we want a new tab, open a slot in the current window */
+ if ((flags & NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB) != 0)
+ {
+ new_tab_at_end = g_settings_get_enum (nautilus_preferences, NAUTILUS_PREFERENCES_NEW_TAB_POSITION) == NAUTILUS_NEW_TAB_POSITION_END;
+ if (new_tab_at_end)
+ {
+ flags |= NAUTILUS_WINDOW_OPEN_SLOT_APPEND;
}
+ }
+
+ active_slot = nautilus_window_get_active_slot (window);
+ if (!target_slot)
+ {
+ target_slot = active_slot;
+ }
- nautilus_window_slot_open_location_full (target_slot, location, flags, selection);
+ if (target_slot == NULL || (flags & NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB) != 0)
+ {
+ target_slot = nautilus_window_create_slot (window, location);
+ nautilus_window_initialize_slot (window, target_slot, flags);
+ }
+ else if (!nautilus_window_slot_handles_location (target_slot, location))
+ {
+ target_slot = replace_active_slot (window, location, flags);
+ }
- g_object_unref (location);
+ /* Make the opened location the one active if we weren't ask for the
+ * oposite, since it's the most usual use case */
+ if (!(flags & NAUTILUS_WINDOW_OPEN_FLAG_DONT_MAKE_ACTIVE))
+ {
+ gtk_window_present (GTK_WINDOW (window));
+ nautilus_window_set_active_slot (window, target_slot);
+ }
+
+ nautilus_window_slot_open_location_full (target_slot, location, flags, selection);
+
+ g_object_unref (location);
}
static int
-bookmark_list_get_uri_index (GList *list, GFile *location)
+bookmark_list_get_uri_index (GList *list,
+ GFile *location)
{
- NautilusBookmark *bookmark;
- GList *l;
- GFile *tmp;
- int i;
+ NautilusBookmark *bookmark;
+ GList *l;
+ GFile *tmp;
+ int i;
- g_return_val_if_fail (location != NULL, -1);
+ g_return_val_if_fail (location != NULL, -1);
- for (i = 0, l = list; l != NULL; i++, l = l->next) {
- bookmark = NAUTILUS_BOOKMARK (l->data);
+ for (i = 0, l = list; l != NULL; i++, l = l->next)
+ {
+ bookmark = NAUTILUS_BOOKMARK (l->data);
- tmp = nautilus_bookmark_get_location (bookmark);
- if (g_file_equal (location, tmp)) {
- g_object_unref (tmp);
- return i;
- }
- g_object_unref (tmp);
- }
+ tmp = nautilus_bookmark_get_location (bookmark);
+ if (g_file_equal (location, tmp))
+ {
+ g_object_unref (tmp);
+ return i;
+ }
+ g_object_unref (tmp);
+ }
- return -1;
+ return -1;
}
static void
unset_focus_widget (NautilusWindow *window)
{
- if (window->priv->last_focus_widget != NULL) {
- g_object_remove_weak_pointer (G_OBJECT (window->priv->last_focus_widget),
- (gpointer *) &window->priv->last_focus_widget);
- window->priv->last_focus_widget = NULL;
- }
+ if (window->priv->last_focus_widget != NULL)
+ {
+ g_object_remove_weak_pointer (G_OBJECT (window->priv->last_focus_widget),
+ (gpointer *) &window->priv->last_focus_widget);
+ window->priv->last_focus_widget = NULL;
+ }
}
static void
remember_focus_widget (NautilusWindow *window)
{
- GtkWidget *focus_widget;
+ GtkWidget *focus_widget;
- focus_widget = gtk_window_get_focus (GTK_WINDOW (window));
- if (focus_widget != NULL) {
- unset_focus_widget (window);
+ focus_widget = gtk_window_get_focus (GTK_WINDOW (window));
+ if (focus_widget != NULL)
+ {
+ unset_focus_widget (window);
- window->priv->last_focus_widget = focus_widget;
- g_object_add_weak_pointer (G_OBJECT (focus_widget),
- (gpointer *) &(window->priv->last_focus_widget));
- }
+ window->priv->last_focus_widget = focus_widget;
+ g_object_add_weak_pointer (G_OBJECT (focus_widget),
+ (gpointer *) &(window->priv->last_focus_widget));
+ }
}
static void
nautilus_window_grab_focus (GtkWidget *widget)
{
- NautilusWindowSlot *slot;
+ NautilusWindowSlot *slot;
- slot = nautilus_window_get_active_slot (NAUTILUS_WINDOW (widget));
+ slot = nautilus_window_get_active_slot (NAUTILUS_WINDOW (widget));
- GTK_WIDGET_CLASS (nautilus_window_parent_class)->grab_focus (widget);
+ GTK_WIDGET_CLASS (nautilus_window_parent_class)->grab_focus (widget);
- if (slot) {
- gtk_widget_grab_focus (GTK_WIDGET (slot));
- }
+ if (slot)
+ {
+ gtk_widget_grab_focus (GTK_WIDGET (slot));
+ }
}
static void
restore_focus_widget (NautilusWindow *window)
{
- if (window->priv->last_focus_widget != NULL) {
- gtk_widget_grab_focus (window->priv->last_focus_widget);
- unset_focus_widget (window);
- }
+ if (window->priv->last_focus_widget != NULL)
+ {
+ gtk_widget_grab_focus (window->priv->last_focus_widget);
+ unset_focus_widget (window);
+ }
}
static void
location_entry_cancel_callback (GtkWidget *widget,
- NautilusWindow *window)
+ NautilusWindow *window)
{
- nautilus_toolbar_set_show_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar), FALSE);
+ nautilus_toolbar_set_show_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar), FALSE);
- restore_focus_widget (window);
+ restore_focus_widget (window);
}
static void
location_entry_location_changed_callback (GtkWidget *widget,
- GFile *location,
- NautilusWindow *window)
+ GFile *location,
+ NautilusWindow *window)
{
- nautilus_toolbar_set_show_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar), FALSE);
+ nautilus_toolbar_set_show_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar), FALSE);
- restore_focus_widget (window);
+ restore_focus_widget (window);
- nautilus_window_open_location_full (window, location, 0, NULL, NULL);
+ nautilus_window_open_location_full (window, location, 0, NULL, NULL);
}
static void
close_slot (NautilusWindow *window,
- NautilusWindowSlot *slot,
- gboolean remove_from_notebook)
+ NautilusWindowSlot *slot,
+ gboolean remove_from_notebook)
{
- int page_num;
- GtkNotebook *notebook;
+ int page_num;
+ GtkNotebook *notebook;
- g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
+ g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
- DEBUG ("Closing slot %p", slot);
+ DEBUG ("Closing slot %p", slot);
- disconnect_slot (window, slot);
+ disconnect_slot (window, slot);
- window->priv->slots = g_list_remove (window->priv->slots, slot);
+ window->priv->slots = g_list_remove (window->priv->slots, slot);
- g_signal_emit (window, signals[SLOT_REMOVED], 0, slot);
+ g_signal_emit (window, signals[SLOT_REMOVED], 0, slot);
- notebook = GTK_NOTEBOOK (window->priv->notebook);
+ notebook = GTK_NOTEBOOK (window->priv->notebook);
- if (remove_from_notebook) {
- page_num = gtk_notebook_page_num (notebook, GTK_WIDGET (slot));
- g_assert (page_num >= 0);
+ if (remove_from_notebook)
+ {
+ page_num = gtk_notebook_page_num (notebook, GTK_WIDGET (slot));
+ g_assert (page_num >= 0);
- /* this will call gtk_widget_destroy on the slot */
- gtk_notebook_remove_page (notebook, page_num);
- }
+ /* this will call gtk_widget_destroy on the slot */
+ gtk_notebook_remove_page (notebook, page_num);
+ }
}
void
nautilus_window_new_tab (NautilusWindow *window)
{
- NautilusWindowSlot *current_slot;
- NautilusWindowOpenFlags flags;
- GFile *location;
- char *scheme;
+ NautilusWindowSlot *current_slot;
+ NautilusWindowOpenFlags flags;
+ GFile *location;
+ char *scheme;
- current_slot = nautilus_window_get_active_slot (window);
- location = nautilus_window_slot_get_location (current_slot);
+ current_slot = nautilus_window_get_active_slot (window);
+ location = nautilus_window_slot_get_location (current_slot);
- if (location != NULL) {
- flags = g_settings_get_enum (nautilus_preferences, NAUTILUS_PREFERENCES_NEW_TAB_POSITION);
+ if (location != NULL)
+ {
+ flags = g_settings_get_enum (nautilus_preferences, NAUTILUS_PREFERENCES_NEW_TAB_POSITION);
- scheme = g_file_get_uri_scheme (location);
- if (strcmp (scheme, "x-nautilus-search") == 0) {
- location = g_file_new_for_path (g_get_home_dir ());
- } else {
- g_object_ref (location);
- }
+ scheme = g_file_get_uri_scheme (location);
+ if (strcmp (scheme, "x-nautilus-search") == 0)
+ {
+ location = g_file_new_for_path (g_get_home_dir ());
+ }
+ else
+ {
+ g_object_ref (location);
+ }
- g_free (scheme);
+ g_free (scheme);
- flags |= NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB;
- nautilus_window_open_location_full (window, location, flags, NULL, NULL);
- g_object_unref (location);
- }
+ flags |= NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB;
+ nautilus_window_open_location_full (window, location, flags, NULL, NULL);
+ g_object_unref (location);
+ }
}
static void
update_cursor (NautilusWindow *window)
{
- NautilusWindowSlot *slot;
- GdkCursor *cursor;
+ NautilusWindowSlot *slot;
+ GdkCursor *cursor;
- slot = nautilus_window_get_active_slot (window);
+ slot = nautilus_window_get_active_slot (window);
- if (nautilus_window_slot_get_allow_stop (slot)) {
- GdkDisplay *display;
+ if (nautilus_window_slot_get_allow_stop (slot))
+ {
+ GdkDisplay *display;
- display = gtk_widget_get_display (GTK_WIDGET (window));
- cursor = gdk_cursor_new_from_name (display, "progress");
- gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (window)), cursor);
- g_object_unref (cursor);
- } else {
- gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (window)), NULL);
- }
+ display = gtk_widget_get_display (GTK_WIDGET (window));
+ cursor = gdk_cursor_new_from_name (display, "progress");
+ gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (window)), cursor);
+ g_object_unref (cursor);
+ }
+ else
+ {
+ gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (window)), NULL);
+ }
}
void
nautilus_window_hide_view_menu (NautilusWindow *window)
{
- GAction *menu_action;
+ GAction *menu_action;
- menu_action = g_action_map_lookup_action (G_ACTION_MAP (window), "view-menu");
- g_action_change_state (menu_action, g_variant_new_boolean (FALSE));
+ menu_action = g_action_map_lookup_action (G_ACTION_MAP (window), "view-menu");
+ g_action_change_state (menu_action, g_variant_new_boolean (FALSE));
}
void
nautilus_window_reset_menus (NautilusWindow *window)
{
- nautilus_window_sync_allow_stop (window, nautilus_window_get_active_slot (window));
+ nautilus_window_sync_allow_stop (window, nautilus_window_get_active_slot (window));
}
void
-nautilus_window_sync_allow_stop (NautilusWindow *window,
- NautilusWindowSlot *slot)
-{
- GAction *stop_action;
- GAction *reload_action;
- gboolean allow_stop, slot_is_active, slot_allow_stop;
-
- stop_action = g_action_map_lookup_action (G_ACTION_MAP (window),
- "stop");
- reload_action = g_action_map_lookup_action (G_ACTION_MAP (window),
- "reload");
- allow_stop = g_action_get_enabled (stop_action);
-
- slot_allow_stop = nautilus_window_slot_get_allow_stop (slot);
- slot_is_active = (slot == nautilus_window_get_active_slot (window));
-
- if (!slot_is_active ||
- allow_stop != slot_allow_stop) {
- if (slot_is_active) {
- g_simple_action_set_enabled (G_SIMPLE_ACTION (stop_action), slot_allow_stop);
- g_simple_action_set_enabled (G_SIMPLE_ACTION (reload_action), !slot_allow_stop);
- }
- if (gtk_widget_get_realized (GTK_WIDGET (window))) {
- update_cursor (window);
- }
-
- /* Avoid updating the notebook if we are calling on dispose or
- * on removal of a notebook tab */
- if (nautilus_notebook_contains_slot (NAUTILUS_NOTEBOOK (window->priv->notebook), slot))
- nautilus_notebook_sync_loading (NAUTILUS_NOTEBOOK (window->priv->notebook), slot);
- }
+nautilus_window_sync_allow_stop (NautilusWindow *window,
+ NautilusWindowSlot *slot)
+{
+ GAction *stop_action;
+ GAction *reload_action;
+ gboolean allow_stop, slot_is_active, slot_allow_stop;
+
+ stop_action = g_action_map_lookup_action (G_ACTION_MAP (window),
+ "stop");
+ reload_action = g_action_map_lookup_action (G_ACTION_MAP (window),
+ "reload");
+ allow_stop = g_action_get_enabled (stop_action);
+
+ slot_allow_stop = nautilus_window_slot_get_allow_stop (slot);
+ slot_is_active = (slot == nautilus_window_get_active_slot (window));
+
+ if (!slot_is_active ||
+ allow_stop != slot_allow_stop)
+ {
+ if (slot_is_active)
+ {
+ g_simple_action_set_enabled (G_SIMPLE_ACTION (stop_action), slot_allow_stop);
+ g_simple_action_set_enabled (G_SIMPLE_ACTION (reload_action), !slot_allow_stop);
+ }
+ if (gtk_widget_get_realized (GTK_WIDGET (window)))
+ {
+ update_cursor (window);
+ }
+
+ /* Avoid updating the notebook if we are calling on dispose or
+ * on removal of a notebook tab */
+ if (nautilus_notebook_contains_slot (NAUTILUS_NOTEBOOK (window->priv->notebook), slot))
+ {
+ nautilus_notebook_sync_loading (NAUTILUS_NOTEBOOK (window->priv->notebook), slot);
+ }
+ }
}
GtkWidget *
nautilus_window_get_notebook (NautilusWindow *window)
{
- return window->priv->notebook;
+ return window->priv->notebook;
}
/* Code should never force the window taller than this size.
@@ -833,7 +877,7 @@ nautilus_window_get_notebook (NautilusWindow *window)
static guint
get_max_forced_height (GdkScreen *screen)
{
- return (gdk_screen_get_height (screen) * 90) / 100;
+ return (gdk_screen_get_height (screen) * 90) / 100;
}
/* Code should never force the window wider than this size.
@@ -842,7 +886,7 @@ get_max_forced_height (GdkScreen *screen)
static guint
get_max_forced_width (GdkScreen *screen)
{
- return (gdk_screen_get_width (screen) * 90) / 100;
+ return (gdk_screen_get_width (screen) * 90) / 100;
}
/* This must be called when construction of NautilusWindow is finished,
@@ -852,76 +896,78 @@ get_max_forced_width (GdkScreen *screen)
static void
nautilus_window_set_initial_window_geometry (NautilusWindow *window)
{
- GdkScreen *screen;
- guint max_width_for_screen, max_height_for_screen;
- guint default_width, default_height;
+ GdkScreen *screen;
+ guint max_width_for_screen, max_height_for_screen;
+ guint default_width, default_height;
- screen = gtk_window_get_screen (GTK_WINDOW (window));
-
- max_width_for_screen = get_max_forced_width (screen);
- max_height_for_screen = get_max_forced_height (screen);
-
- default_width = NAUTILUS_WINDOW_DEFAULT_WIDTH;
- default_height = NAUTILUS_WINDOW_DEFAULT_HEIGHT;
+ screen = gtk_window_get_screen (GTK_WINDOW (window));
- gtk_window_set_default_size (GTK_WINDOW (window),
- MIN (default_width,
- max_width_for_screen),
- MIN (default_height,
- max_height_for_screen));
+ max_width_for_screen = get_max_forced_width (screen);
+ max_height_for_screen = get_max_forced_height (screen);
+
+ default_width = NAUTILUS_WINDOW_DEFAULT_WIDTH;
+ default_height = NAUTILUS_WINDOW_DEFAULT_HEIGHT;
+
+ gtk_window_set_default_size (GTK_WINDOW (window),
+ MIN (default_width,
+ max_width_for_screen),
+ MIN (default_height,
+ max_height_for_screen));
}
static gboolean
save_sidebar_width_cb (gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- window->priv->sidebar_width_handler_id = 0;
+ window->priv->sidebar_width_handler_id = 0;
- DEBUG ("Saving sidebar width: %d", window->priv->side_pane_width);
+ DEBUG ("Saving sidebar width: %d", window->priv->side_pane_width);
- g_settings_set_int (nautilus_window_state,
- NAUTILUS_WINDOW_STATE_SIDEBAR_WIDTH,
- window->priv->side_pane_width);
+ g_settings_set_int (nautilus_window_state,
+ NAUTILUS_WINDOW_STATE_SIDEBAR_WIDTH,
+ window->priv->side_pane_width);
- return FALSE;
+ return FALSE;
}
/* side pane helpers */
static void
-side_pane_size_allocate_callback (GtkWidget *widget,
- GtkAllocation *allocation,
- gpointer user_data)
+side_pane_size_allocate_callback (GtkWidget *widget,
+ GtkAllocation *allocation,
+ gpointer user_data)
{
- NautilusWindow *window;
+ NautilusWindow *window;
- window = user_data;
+ window = user_data;
- if (window->priv->sidebar_width_handler_id != 0) {
- g_source_remove (window->priv->sidebar_width_handler_id);
- window->priv->sidebar_width_handler_id = 0;
- }
+ if (window->priv->sidebar_width_handler_id != 0)
+ {
+ g_source_remove (window->priv->sidebar_width_handler_id);
+ window->priv->sidebar_width_handler_id = 0;
+ }
- if (allocation->width != window->priv->side_pane_width &&
- allocation->width > 1) {
- window->priv->side_pane_width = allocation->width;
+ if (allocation->width != window->priv->side_pane_width &&
+ allocation->width > 1)
+ {
+ window->priv->side_pane_width = allocation->width;
- window->priv->sidebar_width_handler_id =
- g_idle_add (save_sidebar_width_cb, window);
- }
+ window->priv->sidebar_width_handler_id =
+ g_idle_add (save_sidebar_width_cb, window);
+ }
}
static void
setup_side_pane_width (NautilusWindow *window)
{
- g_return_if_fail (window->priv->sidebar != NULL);
+ g_return_if_fail (window->priv->sidebar != NULL);
- window->priv->side_pane_width =
- g_settings_get_int (nautilus_window_state,
- NAUTILUS_WINDOW_STATE_SIDEBAR_WIDTH);
+ window->priv->side_pane_width =
+ g_settings_get_int (nautilus_window_state,
+ NAUTILUS_WINDOW_STATE_SIDEBAR_WIDTH);
- gtk_paned_set_position (GTK_PANED (window->priv->content_paned),
- window->priv->side_pane_width);
+ gtk_paned_set_position (GTK_PANED (window->priv->content_paned),
+ window->priv->side_pane_width);
}
/* Callback used when the places sidebar changes location; we need to change the displayed folder */
@@ -930,88 +976,95 @@ open_location_cb (NautilusWindow *window,
GFile *location,
GtkPlacesOpenFlags open_flags)
{
- NautilusWindowOpenFlags flags;
+ NautilusWindowOpenFlags flags;
- switch (open_flags) {
- case GTK_PLACES_OPEN_NEW_TAB:
- flags = NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB |
- NAUTILUS_WINDOW_OPEN_FLAG_DONT_MAKE_ACTIVE;
- break;
+ switch (open_flags)
+ {
+ case GTK_PLACES_OPEN_NEW_TAB:
+ {
+ flags = NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB |
+ NAUTILUS_WINDOW_OPEN_FLAG_DONT_MAKE_ACTIVE;
+ }
+ break;
- case GTK_PLACES_OPEN_NEW_WINDOW:
- flags = NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW;
- break;
+ case GTK_PLACES_OPEN_NEW_WINDOW:
+ {
+ flags = NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW;
+ }
+ break;
- case GTK_PLACES_OPEN_NORMAL: /* fall-through */
- default:
- flags = 0;
- break;
- }
+ case GTK_PLACES_OPEN_NORMAL: /* fall-through */
+ default:
+ {
+ flags = 0;
+ }
+ break;
+ }
- /* FIXME: We shouldn't need to provide the window, but seems gtk_application_get_active_window
- * is not working properly in GtkApplication, so we cannot rely on that...
- */
- nautilus_application_open_location_full (NAUTILUS_APPLICATION (g_application_get_default ()),
- location, flags, NULL, window, NULL);
+ /* FIXME: We shouldn't need to provide the window, but seems gtk_application_get_active_window
+ * is not working properly in GtkApplication, so we cannot rely on that...
+ */
+ nautilus_application_open_location_full (NAUTILUS_APPLICATION (g_application_get_default ()),
+ location, flags, NULL, window, NULL);
}
static void
notify_unmount_done (GMountOperation *op,
const gchar *message)
{
- NautilusApplication *application;
- gchar *notification_id;
+ NautilusApplication *application;
+ gchar *notification_id;
- application = nautilus_application_get_default ();
- notification_id = g_strdup_printf ("nautilus-mount-operation-%p", op);
- nautilus_application_withdraw_notification (application, notification_id);
+ application = nautilus_application_get_default ();
+ notification_id = g_strdup_printf ("nautilus-mount-operation-%p", op);
+ nautilus_application_withdraw_notification (application, notification_id);
- if (message != NULL)
+ if (message != NULL)
{
- GNotification *unplug;
- GIcon *icon;
- gchar **strings;
-
- strings = g_strsplit (message, "\n", 0);
- icon = g_themed_icon_new ("media-removable");
- unplug = g_notification_new (strings[0]);
- g_notification_set_body (unplug, strings[1]);
- g_notification_set_icon (unplug, icon);
-
- nautilus_application_send_notification (application, notification_id, unplug);
- g_object_unref (unplug);
- g_object_unref (icon);
- g_strfreev (strings);
+ GNotification *unplug;
+ GIcon *icon;
+ gchar **strings;
+
+ strings = g_strsplit (message, "\n", 0);
+ icon = g_themed_icon_new ("media-removable");
+ unplug = g_notification_new (strings[0]);
+ g_notification_set_body (unplug, strings[1]);
+ g_notification_set_icon (unplug, icon);
+
+ nautilus_application_send_notification (application, notification_id, unplug);
+ g_object_unref (unplug);
+ g_object_unref (icon);
+ g_strfreev (strings);
}
- g_free (notification_id);
+ g_free (notification_id);
}
static void
notify_unmount_show (GMountOperation *op,
const gchar *message)
{
- NautilusApplication *application;
- GNotification *unmount;
- gchar *notification_id;
- GIcon *icon;
- gchar **strings;
+ NautilusApplication *application;
+ GNotification *unmount;
+ gchar *notification_id;
+ GIcon *icon;
+ gchar **strings;
- application = nautilus_application_get_default ();
- strings = g_strsplit (message, "\n", 0);
- icon = g_themed_icon_new ("media-removable");
+ application = nautilus_application_get_default ();
+ strings = g_strsplit (message, "\n", 0);
+ icon = g_themed_icon_new ("media-removable");
- unmount = g_notification_new (strings[0]);
- g_notification_set_body (unmount, strings[1]);
- g_notification_set_icon (unmount, icon);
- g_notification_set_priority (unmount, G_NOTIFICATION_PRIORITY_URGENT);
+ unmount = g_notification_new (strings[0]);
+ g_notification_set_body (unmount, strings[1]);
+ g_notification_set_icon (unmount, icon);
+ g_notification_set_priority (unmount, G_NOTIFICATION_PRIORITY_URGENT);
- notification_id = g_strdup_printf ("nautilus-mount-operation-%p", op);
- nautilus_application_send_notification (application, notification_id, unmount);
- g_object_unref (unmount);
- g_object_unref (icon);
- g_strfreev (strings);
- g_free (notification_id);
+ notification_id = g_strdup_printf ("nautilus-mount-operation-%p", op);
+ nautilus_application_send_notification (application, notification_id, unmount);
+ g_object_unref (unmount);
+ g_object_unref (icon);
+ g_strfreev (strings);
+ g_free (notification_id);
}
static void
@@ -1021,180 +1074,192 @@ show_unmount_progress_cb (GMountOperation *op,
gint64 bytes_left,
gpointer user_data)
{
- if (bytes_left == 0)
- notify_unmount_done (op, message);
- else
- notify_unmount_show (op, message);
+ if (bytes_left == 0)
+ {
+ notify_unmount_done (op, message);
+ }
+ else
+ {
+ notify_unmount_show (op, message);
+ }
}
static void
show_unmount_progress_aborted_cb (GMountOperation *op,
gpointer user_data)
{
- notify_unmount_done (op, NULL);
+ notify_unmount_done (op, NULL);
}
static void
places_sidebar_unmount_operation_cb (NautilusWindow *window,
- GMountOperation *mount_operation)
+ GMountOperation *mount_operation)
{
- g_signal_connect (mount_operation, "show-unmount-progress",
- G_CALLBACK (show_unmount_progress_cb), NULL);
- g_signal_connect (mount_operation, "aborted",
- G_CALLBACK (show_unmount_progress_aborted_cb), NULL);
+ g_signal_connect (mount_operation, "show-unmount-progress",
+ G_CALLBACK (show_unmount_progress_cb), NULL);
+ g_signal_connect (mount_operation, "aborted",
+ G_CALLBACK (show_unmount_progress_aborted_cb), NULL);
}
/* Callback used when the places sidebar needs us to present an error message */
static void
places_sidebar_show_error_message_cb (GtkPlacesSidebar *sidebar,
- const char *primary,
- const char *secondary,
- gpointer user_data)
+ const char *primary,
+ const char *secondary,
+ gpointer user_data)
{
- NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+ NautilusWindow *window = NAUTILUS_WINDOW (user_data);
- eel_show_error_dialog (primary, secondary, GTK_WINDOW (window));
+ eel_show_error_dialog (primary, secondary, GTK_WINDOW (window));
}
static void
places_sidebar_show_other_locations_with_flags (NautilusWindow *window,
GtkPlacesOpenFlags open_flags)
{
- GFile *location;
+ GFile *location;
- location = g_file_new_for_uri ("other-locations:///");
+ location = g_file_new_for_uri ("other-locations:///");
- open_location_cb (window, location, open_flags);
+ open_location_cb (window, location, open_flags);
- g_object_unref (location);
+ g_object_unref (location);
}
static GList *
build_selection_list_from_gfile_list (GList *gfile_list)
{
- GList *result;
- GList *l;
+ GList *result;
+ GList *l;
- result = NULL;
- for (l = gfile_list; l; l = l->next) {
- GFile *file;
- NautilusDragSelectionItem *item;
+ result = NULL;
+ for (l = gfile_list; l; l = l->next)
+ {
+ GFile *file;
+ NautilusDragSelectionItem *item;
- file = l->data;
+ file = l->data;
- item = nautilus_drag_selection_item_new ();
- item->uri = g_file_get_uri (file);
- item->file = nautilus_file_get_existing (file);
- item->got_icon_position = FALSE;
- result = g_list_prepend (result, item);
- }
+ item = nautilus_drag_selection_item_new ();
+ item->uri = g_file_get_uri (file);
+ item->file = nautilus_file_get_existing (file);
+ item->got_icon_position = FALSE;
+ result = g_list_prepend (result, item);
+ }
- return g_list_reverse (result);
+ return g_list_reverse (result);
}
void
nautilus_window_start_dnd (NautilusWindow *window,
GdkDragContext *context)
{
- gtk_places_sidebar_set_drop_targets_visible (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
- TRUE,
- context);
+ gtk_places_sidebar_set_drop_targets_visible (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
+ TRUE,
+ context);
}
void
nautilus_window_end_dnd (NautilusWindow *window,
GdkDragContext *context)
{
- gtk_places_sidebar_set_drop_targets_visible (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
- FALSE,
- context);
+ gtk_places_sidebar_set_drop_targets_visible (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
+ FALSE,
+ context);
}
/* Callback used when the places sidebar needs to know the drag action to suggest */
static GdkDragAction
places_sidebar_drag_action_requested_cb (GtkPlacesSidebar *sidebar,
- GdkDragContext *context,
- GFile *dest_file,
- GList *source_file_list,
- gpointer user_data)
-{
- GList *items;
- char *uri;
- int action = 0;
- NautilusDragInfo *info;
- guint32 source_actions;
-
- info = nautilus_drag_get_source_data (context);
- if (info != NULL) {
- items = info->selection_cache;
- source_actions = info->source_actions;
- } else {
- items = build_selection_list_from_gfile_list (source_file_list);
- source_actions = 0;
- }
- uri = g_file_get_uri (dest_file);
+ GdkDragContext *context,
+ GFile *dest_file,
+ GList *source_file_list,
+ gpointer user_data)
+{
+ GList *items;
+ char *uri;
+ int action = 0;
+ NautilusDragInfo *info;
+ guint32 source_actions;
+
+ info = nautilus_drag_get_source_data (context);
+ if (info != NULL)
+ {
+ items = info->selection_cache;
+ source_actions = info->source_actions;
+ }
+ else
+ {
+ items = build_selection_list_from_gfile_list (source_file_list);
+ source_actions = 0;
+ }
+ uri = g_file_get_uri (dest_file);
- if (g_list_length (items) < 1)
- goto out;
+ if (g_list_length (items) < 1)
+ {
+ goto out;
+ }
- nautilus_drag_default_drop_action_for_icons (context, uri, items, source_actions, &action);
+ nautilus_drag_default_drop_action_for_icons (context, uri, items, source_actions, &action);
out:
- if (info == NULL)
- nautilus_drag_destroy_selection_list (items);
+ if (info == NULL)
+ {
+ nautilus_drag_destroy_selection_list (items);
+ }
- g_free (uri);
+ g_free (uri);
- return action;
+ return action;
}
/* Callback used when the places sidebar needs us to pop up a menu with possible drag actions */
static GdkDragAction
places_sidebar_drag_action_ask_cb (GtkPlacesSidebar *sidebar,
- GdkDragAction actions,
- gpointer user_data)
+ GdkDragAction actions,
+ gpointer user_data)
{
- return nautilus_drag_drop_action_ask (GTK_WIDGET (sidebar), actions);
+ return nautilus_drag_drop_action_ask (GTK_WIDGET (sidebar), actions);
}
static GList *
build_uri_list_from_gfile_list (GList *file_list)
{
- GList *result;
- GList *l;
+ GList *result;
+ GList *l;
- result = NULL;
+ result = NULL;
- for (l = file_list; l; l = l->next) {
- GFile *file = l->data;
- char *uri;
+ for (l = file_list; l; l = l->next)
+ {
+ GFile *file = l->data;
+ char *uri;
- uri = g_file_get_uri (file);
- result = g_list_prepend (result, uri);
- }
+ uri = g_file_get_uri (file);
+ result = g_list_prepend (result, uri);
+ }
- return g_list_reverse (result);
-
+ return g_list_reverse (result);
}
/* Callback used when the places sidebar has URIs dropped into it. We do a normal file operation for them. */
static void
places_sidebar_drag_perform_drop_cb (GtkPlacesSidebar *sidebar,
- GFile *dest_file,
- GList *source_file_list,
- GdkDragAction action,
- gpointer user_data)
+ GFile *dest_file,
+ GList *source_file_list,
+ GdkDragAction action,
+ gpointer user_data)
{
- char *dest_uri;
- GList *source_uri_list;
+ char *dest_uri;
+ GList *source_uri_list;
- dest_uri = g_file_get_uri (dest_file);
- source_uri_list = build_uri_list_from_gfile_list (source_file_list);
+ dest_uri = g_file_get_uri (dest_file);
+ source_uri_list = build_uri_list_from_gfile_list (source_file_list);
- nautilus_file_operations_copy_move (source_uri_list, NULL, dest_uri, action, GTK_WIDGET (sidebar), NULL, NULL);
+ nautilus_file_operations_copy_move (source_uri_list, NULL, dest_uri, action, GTK_WIDGET (sidebar), NULL, NULL);
- g_free (dest_uri);
- g_list_free_full (source_uri_list, g_free);
+ g_free (dest_uri);
+ g_list_free_full (source_uri_list, g_free);
}
/* Callback used in the "empty trash" menu item from the places sidebar */
@@ -1203,9 +1268,9 @@ action_empty_trash (GSimpleAction *action,
GVariant *variant,
gpointer user_data)
{
- NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+ NautilusWindow *window = NAUTILUS_WINDOW (user_data);
- nautilus_file_operations_empty_trash (GTK_WIDGET (window));
+ nautilus_file_operations_empty_trash (GTK_WIDGET (window));
}
/* Callback used for the "properties" menu item from the places sidebar */
@@ -1214,43 +1279,43 @@ action_properties (GSimpleAction *action,
GVariant *variant,
gpointer user_data)
{
- NautilusWindow *window = NAUTILUS_WINDOW (user_data);
- GList *list;
- NautilusFile *file;
+ NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+ GList *list;
+ NautilusFile *file;
- file = nautilus_file_get (window->priv->selected_file);
+ file = nautilus_file_get (window->priv->selected_file);
- list = g_list_append (NULL, file);
- nautilus_properties_window_present (list, GTK_WIDGET (window), NULL);
- nautilus_file_list_free (list);
+ list = g_list_append (NULL, file);
+ nautilus_properties_window_present (list, GTK_WIDGET (window), NULL);
+ nautilus_file_list_free (list);
- g_clear_object (&window->priv->selected_file);
+ g_clear_object (&window->priv->selected_file);
}
static gboolean
check_have_gnome_disks (void)
{
- gchar *disks_path;
- gboolean res;
+ gchar *disks_path;
+ gboolean res;
- disks_path = g_find_program_in_path ("gnome-disks");
- res = (disks_path != NULL);
- g_free (disks_path);
+ disks_path = g_find_program_in_path ("gnome-disks");
+ res = (disks_path != NULL);
+ g_free (disks_path);
- return res;
+ return res;
}
static gboolean
should_show_format_command (GVolume *volume)
{
- gchar *unix_device_id;
- gboolean show_format;
+ gchar *unix_device_id;
+ gboolean show_format;
- unix_device_id = g_volume_get_identifier (volume, G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE);
- show_format = (unix_device_id != NULL) && check_have_gnome_disks ();
- g_free (unix_device_id);
+ unix_device_id = g_volume_get_identifier (volume, G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE);
+ show_format = (unix_device_id != NULL) && check_have_gnome_disks ();
+ g_free (unix_device_id);
- return show_format;
+ return show_format;
}
static void
@@ -1258,429 +1323,455 @@ action_format (GSimpleAction *action,
GVariant *variant,
gpointer user_data)
{
- NautilusWindow *window = NAUTILUS_WINDOW (user_data);
- GAppInfo *app_info;
- gchar *cmdline, *device_identifier, *xid_string;
- gint xid;
+ NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+ GAppInfo *app_info;
+ gchar *cmdline, *device_identifier, *xid_string;
+ gint xid;
- device_identifier = g_volume_get_identifier (window->priv->selected_volume,
- G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE);
- xid = (gint) gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (window)));
- xid_string = g_strdup_printf ("%d", xid);
+ device_identifier = g_volume_get_identifier (window->priv->selected_volume,
+ G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE);
+ xid = (gint) gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (window)));
+ xid_string = g_strdup_printf ("%d", xid);
- cmdline = g_strconcat ("gnome-disks ",
- "--block-device ", device_identifier, " ",
- "--format-device ",
- "--xid ", xid_string,
- NULL);
- app_info = g_app_info_create_from_commandline (cmdline, NULL, 0, NULL);
- g_app_info_launch (app_info, NULL, NULL, NULL);
+ cmdline = g_strconcat ("gnome-disks ",
+ "--block-device ", device_identifier, " ",
+ "--format-device ",
+ "--xid ", xid_string,
+ NULL);
+ app_info = g_app_info_create_from_commandline (cmdline, NULL, 0, NULL);
+ g_app_info_launch (app_info, NULL, NULL, NULL);
- g_free (cmdline);
- g_free (device_identifier);
- g_free (xid_string);
- g_clear_object (&app_info);
- g_clear_object (&window->priv->selected_volume);
+ g_free (cmdline);
+ g_free (device_identifier);
+ g_free (xid_string);
+ g_clear_object (&app_info);
+ g_clear_object (&window->priv->selected_volume);
}
static void
add_menu_separator (GtkWidget *menu)
{
- GtkWidget *separator;
+ GtkWidget *separator;
- separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
- gtk_container_add (GTK_CONTAINER (menu), separator);
- gtk_widget_show (separator);
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
+ gtk_container_add (GTK_CONTAINER (menu), separator);
+ gtk_widget_show (separator);
}
static void
places_sidebar_populate_popup_cb (GtkPlacesSidebar *sidebar,
- GtkWidget *menu,
- GFile *selected_file,
- GVolume *selected_volume,
- gpointer user_data)
-{
- NautilusWindow *window = NAUTILUS_WINDOW (user_data);
- GFile *trash;
- GtkWidget *menu_item;
- GAction *action;
-
- g_clear_object (&window->priv->selected_file);
- g_clear_object (&window->priv->selected_volume);
-
- if (selected_file) {
- trash = g_file_new_for_uri ("trash:///");
- if (g_file_equal (trash, selected_file)) {
- add_menu_separator (menu);
-
- menu_item = gtk_model_button_new ();
- gtk_actionable_set_action_name (GTK_ACTIONABLE (menu_item),
- "win.empty-trash");
- g_object_set (menu_item, "text", _("Empty _Trash"), NULL);
- gtk_container_add (GTK_CONTAINER (menu), menu_item);
- gtk_widget_show (menu_item);
-
- action = g_action_map_lookup_action (G_ACTION_MAP (window),
- "empty-trash");
- g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
- !nautilus_trash_monitor_is_empty ());
- }
- g_object_unref (trash);
-
- if (g_file_is_native (selected_file)) {
- window->priv->selected_file = g_object_ref (selected_file);
- add_menu_separator (menu);
-
- menu_item = gtk_model_button_new ();
- gtk_actionable_set_action_name (GTK_ACTIONABLE (menu_item),
- "win.properties");
- g_object_set (menu_item, "text", _("_Properties"), NULL);
- gtk_container_add (GTK_CONTAINER (menu), menu_item);
- gtk_widget_show (menu_item);
- }
- }
- if (selected_volume) {
- if (should_show_format_command (selected_volume)) {
- menu_item = gtk_model_button_new ();
- gtk_actionable_set_action_name (GTK_ACTIONABLE (menu_item),
- "win.format");
- g_object_set (menu_item, "text", _("_Format…"), NULL);
- if (selected_volume != NULL && G_IS_VOLUME (selected_volume)) {
- window->priv->selected_volume = g_object_ref (selected_volume);
- }
- gtk_container_add (GTK_CONTAINER (menu), menu_item);
- gtk_widget_show (menu_item);
-
- action = g_action_map_lookup_action (G_ACTION_MAP (window),
- "format");
- g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
- selected_volume != NULL &&
- G_IS_VOLUME (selected_volume));
- }
- }
+ GtkWidget *menu,
+ GFile *selected_file,
+ GVolume *selected_volume,
+ gpointer user_data)
+{
+ NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+ GFile *trash;
+ GtkWidget *menu_item;
+ GAction *action;
+
+ g_clear_object (&window->priv->selected_file);
+ g_clear_object (&window->priv->selected_volume);
+
+ if (selected_file)
+ {
+ trash = g_file_new_for_uri ("trash:///");
+ if (g_file_equal (trash, selected_file))
+ {
+ add_menu_separator (menu);
+
+ menu_item = gtk_model_button_new ();
+ gtk_actionable_set_action_name (GTK_ACTIONABLE (menu_item),
+ "win.empty-trash");
+ g_object_set (menu_item, "text", _("Empty _Trash"), NULL);
+ gtk_container_add (GTK_CONTAINER (menu), menu_item);
+ gtk_widget_show (menu_item);
+
+ action = g_action_map_lookup_action (G_ACTION_MAP (window),
+ "empty-trash");
+ g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+ !nautilus_trash_monitor_is_empty ());
+ }
+ g_object_unref (trash);
+
+ if (g_file_is_native (selected_file))
+ {
+ window->priv->selected_file = g_object_ref (selected_file);
+ add_menu_separator (menu);
+
+ menu_item = gtk_model_button_new ();
+ gtk_actionable_set_action_name (GTK_ACTIONABLE (menu_item),
+ "win.properties");
+ g_object_set (menu_item, "text", _("_Properties"), NULL);
+ gtk_container_add (GTK_CONTAINER (menu), menu_item);
+ gtk_widget_show (menu_item);
+ }
+ }
+ if (selected_volume)
+ {
+ if (should_show_format_command (selected_volume))
+ {
+ menu_item = gtk_model_button_new ();
+ gtk_actionable_set_action_name (GTK_ACTIONABLE (menu_item),
+ "win.format");
+ g_object_set (menu_item, "text", _("_Format…"), NULL);
+ if (selected_volume != NULL && G_IS_VOLUME (selected_volume))
+ {
+ window->priv->selected_volume = g_object_ref (selected_volume);
+ }
+ gtk_container_add (GTK_CONTAINER (menu), menu_item);
+ gtk_widget_show (menu_item);
+
+ action = g_action_map_lookup_action (G_ACTION_MAP (window),
+ "format");
+ g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+ selected_volume != NULL &&
+ G_IS_VOLUME (selected_volume));
+ }
+ }
}
static void
nautilus_window_set_up_sidebar (NautilusWindow *window)
{
- setup_side_pane_width (window);
- g_signal_connect (window->priv->sidebar,
- "size-allocate",
- G_CALLBACK (side_pane_size_allocate_callback),
- window);
-
- gtk_places_sidebar_set_open_flags (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
- (GTK_PLACES_OPEN_NORMAL
- | GTK_PLACES_OPEN_NEW_TAB
- | GTK_PLACES_OPEN_NEW_WINDOW));
-
- g_signal_connect_swapped (window->priv->places_sidebar, "open-location",
- G_CALLBACK (open_location_cb), window);
- g_signal_connect (window->priv->places_sidebar, "show-error-message",
- G_CALLBACK (places_sidebar_show_error_message_cb), window);
- g_signal_connect (window->priv->places_sidebar, "drag-action-requested",
- G_CALLBACK (places_sidebar_drag_action_requested_cb), window);
- g_signal_connect (window->priv->places_sidebar, "drag-action-ask",
- G_CALLBACK (places_sidebar_drag_action_ask_cb), window);
- g_signal_connect (window->priv->places_sidebar, "drag-perform-drop",
- G_CALLBACK (places_sidebar_drag_perform_drop_cb), window);
- g_signal_connect (window->priv->places_sidebar, "populate-popup",
- G_CALLBACK (places_sidebar_populate_popup_cb), window);
- g_signal_connect (window->priv->places_sidebar, "unmount",
- G_CALLBACK (places_sidebar_unmount_operation_cb), window);
+ setup_side_pane_width (window);
+ g_signal_connect (window->priv->sidebar,
+ "size-allocate",
+ G_CALLBACK (side_pane_size_allocate_callback),
+ window);
+
+ gtk_places_sidebar_set_open_flags (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
+ (GTK_PLACES_OPEN_NORMAL
+ | GTK_PLACES_OPEN_NEW_TAB
+ | GTK_PLACES_OPEN_NEW_WINDOW));
+
+ g_signal_connect_swapped (window->priv->places_sidebar, "open-location",
+ G_CALLBACK (open_location_cb), window);
+ g_signal_connect (window->priv->places_sidebar, "show-error-message",
+ G_CALLBACK (places_sidebar_show_error_message_cb), window);
+ g_signal_connect (window->priv->places_sidebar, "drag-action-requested",
+ G_CALLBACK (places_sidebar_drag_action_requested_cb), window);
+ g_signal_connect (window->priv->places_sidebar, "drag-action-ask",
+ G_CALLBACK (places_sidebar_drag_action_ask_cb), window);
+ g_signal_connect (window->priv->places_sidebar, "drag-perform-drop",
+ G_CALLBACK (places_sidebar_drag_perform_drop_cb), window);
+ g_signal_connect (window->priv->places_sidebar, "populate-popup",
+ G_CALLBACK (places_sidebar_populate_popup_cb), window);
+ g_signal_connect (window->priv->places_sidebar, "unmount",
+ G_CALLBACK (places_sidebar_unmount_operation_cb), window);
}
void
nautilus_window_hide_sidebar (NautilusWindow *window)
{
- DEBUG ("Called hide_sidebar()");
+ DEBUG ("Called hide_sidebar()");
- gtk_widget_hide (window->priv->sidebar);
+ gtk_widget_hide (window->priv->sidebar);
}
void
nautilus_window_show_sidebar (NautilusWindow *window)
{
- DEBUG ("Called show_sidebar()");
+ DEBUG ("Called show_sidebar()");
- if (window->priv->disable_chrome) {
- return;
- }
+ if (window->priv->disable_chrome)
+ {
+ return;
+ }
- gtk_widget_show (window->priv->sidebar);
- setup_side_pane_width (window);
+ gtk_widget_show (window->priv->sidebar);
+ setup_side_pane_width (window);
}
static inline NautilusWindowSlot *
get_first_inactive_slot (NautilusWindow *window)
{
- GList *l;
- NautilusWindowSlot *slot;
+ GList *l;
+ NautilusWindowSlot *slot;
- for (l = window->priv->slots; l != NULL; l = l->next) {
- slot = NAUTILUS_WINDOW_SLOT (l->data);
- if (slot != window->priv->active_slot) {
- return slot;
- }
- }
+ for (l = window->priv->slots; l != NULL; l = l->next)
+ {
+ slot = NAUTILUS_WINDOW_SLOT (l->data);
+ if (slot != window->priv->active_slot)
+ {
+ return slot;
+ }
+ }
- return NULL;
+ return NULL;
}
void
nautilus_window_slot_close (NautilusWindow *window,
- NautilusWindowSlot *slot)
+ NautilusWindowSlot *slot)
{
- NautilusWindowSlot *next_slot;
+ NautilusWindowSlot *next_slot;
- DEBUG ("Requesting to remove slot %p from window %p", slot, window);
- if (window == NULL)
- return;
+ DEBUG ("Requesting to remove slot %p from window %p", slot, window);
+ if (window == NULL)
+ {
+ return;
+ }
- if (window->priv->active_slot == slot) {
- next_slot = get_first_inactive_slot (window);
- nautilus_window_set_active_slot (window, next_slot);
- }
+ if (window->priv->active_slot == slot)
+ {
+ next_slot = get_first_inactive_slot (window);
+ nautilus_window_set_active_slot (window, next_slot);
+ }
- close_slot (window, slot, TRUE);
+ close_slot (window, slot, TRUE);
- /* If that was the last slot in the window, close the window. */
- if (window->priv->slots == NULL) {
- DEBUG ("Last slot removed, closing the window");
- nautilus_window_close (window);
- }
+ /* If that was the last slot in the window, close the window. */
+ if (window->priv->slots == NULL)
+ {
+ DEBUG ("Last slot removed, closing the window");
+ nautilus_window_close (window);
+ }
}
static void
nautilus_window_sync_bookmarks (NautilusWindow *window)
{
- gboolean can_bookmark = FALSE;
- NautilusWindowSlot *slot;
- NautilusBookmarkList *bookmarks;
- GAction *action;
- GFile *location;
+ gboolean can_bookmark = FALSE;
+ NautilusWindowSlot *slot;
+ NautilusBookmarkList *bookmarks;
+ GAction *action;
+ GFile *location;
- slot = window->priv->active_slot;
- location = nautilus_window_slot_get_location (slot);
+ slot = window->priv->active_slot;
+ location = nautilus_window_slot_get_location (slot);
- if (location != NULL) {
- bookmarks = nautilus_application_get_bookmarks
- (NAUTILUS_APPLICATION (gtk_window_get_application (GTK_WINDOW (window))));
- can_bookmark = nautilus_bookmark_list_can_bookmark_location (bookmarks, location);
- }
+ if (location != NULL)
+ {
+ bookmarks = nautilus_application_get_bookmarks
+ (NAUTILUS_APPLICATION (gtk_window_get_application (GTK_WINDOW (window))));
+ can_bookmark = nautilus_bookmark_list_can_bookmark_location (bookmarks, location);
+ }
- action = g_action_map_lookup_action (G_ACTION_MAP (window), "bookmark-current-location");
- g_simple_action_set_enabled (G_SIMPLE_ACTION (action), can_bookmark);
+ action = g_action_map_lookup_action (G_ACTION_MAP (window), "bookmark-current-location");
+ g_simple_action_set_enabled (G_SIMPLE_ACTION (action), can_bookmark);
}
void
nautilus_window_sync_location_widgets (NautilusWindow *window)
{
- NautilusWindowSlot *slot;
- GFile *location;
- GAction *action;
- gboolean enabled;
+ NautilusWindowSlot *slot;
+ GFile *location;
+ GAction *action;
+ gboolean enabled;
- slot = window->priv->active_slot;
- location = nautilus_window_slot_get_location (slot);
+ slot = window->priv->active_slot;
+ location = nautilus_window_slot_get_location (slot);
- /* Change the location bar and path bar to match the current location. */
- if (location != NULL) {
- GtkWidget *location_entry;
- GtkWidget *path_bar;
+ /* Change the location bar and path bar to match the current location. */
+ if (location != NULL)
+ {
+ GtkWidget *location_entry;
+ GtkWidget *path_bar;
- location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar));
- nautilus_location_entry_set_location (NAUTILUS_LOCATION_ENTRY (location_entry), location);
+ location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ nautilus_location_entry_set_location (NAUTILUS_LOCATION_ENTRY (location_entry), location);
- path_bar = nautilus_toolbar_get_path_bar (NAUTILUS_TOOLBAR (window->priv->toolbar));
- nautilus_path_bar_set_path (NAUTILUS_PATH_BAR (path_bar), location);
- }
+ path_bar = nautilus_toolbar_get_path_bar (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ nautilus_path_bar_set_path (NAUTILUS_PATH_BAR (path_bar), location);
+ }
- action = g_action_map_lookup_action (G_ACTION_MAP (window), "back");
- enabled = nautilus_window_slot_get_back_history (slot) != NULL;
- g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled);
+ action = g_action_map_lookup_action (G_ACTION_MAP (window), "back");
+ enabled = nautilus_window_slot_get_back_history (slot) != NULL;
+ g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled);
- action = g_action_map_lookup_action (G_ACTION_MAP (window), "forward");
- enabled = nautilus_window_slot_get_forward_history (slot) != NULL;
- g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled);
+ action = g_action_map_lookup_action (G_ACTION_MAP (window), "forward");
+ enabled = nautilus_window_slot_get_forward_history (slot) != NULL;
+ g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled);
- nautilus_window_sync_bookmarks (window);
+ nautilus_window_sync_bookmarks (window);
}
static GtkWidget *
nautilus_window_ensure_location_entry (NautilusWindow *window)
{
- GtkWidget *location_entry;
+ GtkWidget *location_entry;
- remember_focus_widget (window);
+ remember_focus_widget (window);
- nautilus_toolbar_set_show_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar), TRUE);
+ nautilus_toolbar_set_show_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar), TRUE);
- location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar));
- nautilus_location_entry_focus (NAUTILUS_LOCATION_ENTRY (location_entry));
+ location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ nautilus_location_entry_focus (NAUTILUS_LOCATION_ENTRY (location_entry));
- return location_entry;
+ return location_entry;
}
static void
remove_notifications (NautilusWindow *window)
{
- GtkRevealerTransitionType transition_type;
-
- /* Hide it inmediatily so we can animate the new notification. */
- transition_type = gtk_revealer_get_transition_type (GTK_REVEALER (window->priv->notification_delete));
- gtk_revealer_set_transition_type (GTK_REVEALER (window->priv->notification_delete),
- GTK_REVEALER_TRANSITION_TYPE_NONE);
- gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_delete),
- FALSE);
- gtk_revealer_set_transition_type (GTK_REVEALER (window->priv->notification_delete),
- transition_type);
- if (window->priv->notification_delete_timeout_id != 0) {
- g_source_remove (window->priv->notification_delete_timeout_id);
- window->priv->notification_delete_timeout_id = 0;
- }
-
- transition_type = gtk_revealer_get_transition_type (GTK_REVEALER (window->priv->notification_operation));
- gtk_revealer_set_transition_type (GTK_REVEALER (window->priv->notification_operation),
- GTK_REVEALER_TRANSITION_TYPE_NONE);
- gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_operation),
- FALSE);
- gtk_revealer_set_transition_type (GTK_REVEALER (window->priv->notification_operation),
- transition_type);
- if (window->priv->notification_operation_timeout_id != 0) {
- g_source_remove (window->priv->notification_operation_timeout_id);
- window->priv->notification_operation_timeout_id = 0;
- }
+ GtkRevealerTransitionType transition_type;
+
+ /* Hide it inmediatily so we can animate the new notification. */
+ transition_type = gtk_revealer_get_transition_type (GTK_REVEALER (window->priv->notification_delete));
+ gtk_revealer_set_transition_type (GTK_REVEALER (window->priv->notification_delete),
+ GTK_REVEALER_TRANSITION_TYPE_NONE);
+ gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_delete),
+ FALSE);
+ gtk_revealer_set_transition_type (GTK_REVEALER (window->priv->notification_delete),
+ transition_type);
+ if (window->priv->notification_delete_timeout_id != 0)
+ {
+ g_source_remove (window->priv->notification_delete_timeout_id);
+ window->priv->notification_delete_timeout_id = 0;
+ }
+
+ transition_type = gtk_revealer_get_transition_type (GTK_REVEALER (window->priv->notification_operation));
+ gtk_revealer_set_transition_type (GTK_REVEALER (window->priv->notification_operation),
+ GTK_REVEALER_TRANSITION_TYPE_NONE);
+ gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_operation),
+ FALSE);
+ gtk_revealer_set_transition_type (GTK_REVEALER (window->priv->notification_operation),
+ transition_type);
+ if (window->priv->notification_operation_timeout_id != 0)
+ {
+ g_source_remove (window->priv->notification_operation_timeout_id);
+ window->priv->notification_operation_timeout_id = 0;
+ }
}
static void
hide_notification_delete (NautilusWindow *window)
{
- if (window->priv->notification_delete_timeout_id != 0) {
- g_source_remove (window->priv->notification_delete_timeout_id);
- window->priv->notification_delete_timeout_id = 0;
- }
+ if (window->priv->notification_delete_timeout_id != 0)
+ {
+ g_source_remove (window->priv->notification_delete_timeout_id);
+ window->priv->notification_delete_timeout_id = 0;
+ }
- gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_delete), FALSE);
+ gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_delete), FALSE);
}
static void
nautilus_window_on_notification_delete_undo_clicked (GtkWidget *notification,
NautilusWindow *window)
{
- hide_notification_delete (window);
+ hide_notification_delete (window);
- nautilus_file_undo_manager_undo (GTK_WINDOW (window));
+ nautilus_file_undo_manager_undo (GTK_WINDOW (window));
}
static void
nautilus_window_on_notification_delete_close_clicked (GtkWidget *notification,
NautilusWindow *window)
{
- hide_notification_delete (window);
+ hide_notification_delete (window);
}
static gboolean
nautilus_window_on_notification_delete_timeout (NautilusWindow *window)
{
- hide_notification_delete (window);
+ hide_notification_delete (window);
- return FALSE;
+ return FALSE;
}
static char *
nautilus_window_notification_delete_get_label (NautilusFileUndoInfo *undo_info,
- GList *files)
+ GList *files)
{
- gchar *file_label;
- gchar *label;
- gint length;
+ gchar *file_label;
+ gchar *label;
+ gint length;
- length = g_list_length (files);
- if (length == 1) {
- file_label = g_file_get_basename (files->data);
- /* Translators: only one item has been deleted and %s is its name. */
- label = g_markup_printf_escaped (_("“%s” deleted"), file_label);
- g_free (file_label);
- } else {
- /* Translators: one or more items might have been deleted, and %d
- * is the count. */
- label = g_markup_printf_escaped (ngettext ("%d file deleted", "%d files deleted", length), length);
- }
+ length = g_list_length (files);
+ if (length == 1)
+ {
+ file_label = g_file_get_basename (files->data);
+ /* Translators: only one item has been deleted and %s is its name. */
+ label = g_markup_printf_escaped (_("“%s” deleted"), file_label);
+ g_free (file_label);
+ }
+ else
+ {
+ /* Translators: one or more items might have been deleted, and %d
+ * is the count. */
+ label = g_markup_printf_escaped (ngettext ("%d file deleted", "%d files deleted", length), length);
+ }
- return label;
+ return label;
}
static void
nautilus_window_on_undo_changed (NautilusFileUndoManager *manager,
NautilusWindow *window)
{
- NautilusFileUndoInfo *undo_info;
- NautilusFileUndoManagerState state;
- gchar *label;
- GList *files;
-
- undo_info = nautilus_file_undo_manager_get_action ();
- state = nautilus_file_undo_manager_get_state ();
-
- if (undo_info != NULL &&
- state == NAUTILUS_FILE_UNDO_MANAGER_STATE_UNDO &&
- nautilus_file_undo_info_get_op_type (undo_info) == NAUTILUS_FILE_UNDO_OP_MOVE_TO_TRASH &&
- !window->priv->disable_chrome) {
- files = nautilus_file_undo_info_trash_get_files (NAUTILUS_FILE_UNDO_INFO_TRASH (undo_info));
-
- /* Don't pop up a notification if user canceled the operation or the focus
- * is not in the this window. This is an easy way to know from which window
- * was the delete operation made */
- if (g_list_length (files) > 0 && gtk_window_has_toplevel_focus (GTK_WINDOW (window))) {
- label = nautilus_window_notification_delete_get_label (undo_info, files);
- gtk_label_set_markup (GTK_LABEL (window->priv->notification_delete_label), label);
- gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_delete), TRUE);
- window->priv->notification_delete_timeout_id = g_timeout_add_seconds (NOTIFICATION_TIMEOUT,
- (GSourceFunc) nautilus_window_on_notification_delete_timeout,
- window);
- g_free (label);
- }
- g_list_free (files);
- } else {
- hide_notification_delete (window);
+ NautilusFileUndoInfo *undo_info;
+ NautilusFileUndoManagerState state;
+ gchar *label;
+ GList *files;
+
+ undo_info = nautilus_file_undo_manager_get_action ();
+ state = nautilus_file_undo_manager_get_state ();
+
+ if (undo_info != NULL &&
+ state == NAUTILUS_FILE_UNDO_MANAGER_STATE_UNDO &&
+ nautilus_file_undo_info_get_op_type (undo_info) == NAUTILUS_FILE_UNDO_OP_MOVE_TO_TRASH &&
+ !window->priv->disable_chrome)
+ {
+ files = nautilus_file_undo_info_trash_get_files (NAUTILUS_FILE_UNDO_INFO_TRASH (undo_info));
+
+ /* Don't pop up a notification if user canceled the operation or the focus
+ * is not in the this window. This is an easy way to know from which window
+ * was the delete operation made */
+ if (g_list_length (files) > 0 && gtk_window_has_toplevel_focus (GTK_WINDOW (window)))
+ {
+ label = nautilus_window_notification_delete_get_label (undo_info, files);
+ gtk_label_set_markup (GTK_LABEL (window->priv->notification_delete_label), label);
+ gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_delete), TRUE);
+ window->priv->notification_delete_timeout_id = g_timeout_add_seconds (NOTIFICATION_TIMEOUT,
+ (GSourceFunc) nautilus_window_on_notification_delete_timeout,
+ window);
+ g_free (label);
}
+ g_list_free (files);
+ }
+ else
+ {
+ hide_notification_delete (window);
+ }
}
static void
hide_notification_operation (NautilusWindow *window)
{
- if (window->priv->notification_operation_timeout_id != 0) {
- g_source_remove (window->priv->notification_operation_timeout_id);
- window->priv->notification_operation_timeout_id = 0;
- }
+ if (window->priv->notification_operation_timeout_id != 0)
+ {
+ g_source_remove (window->priv->notification_operation_timeout_id);
+ window->priv->notification_operation_timeout_id = 0;
+ }
- gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_operation), FALSE);
- g_clear_object (&window->priv->folder_to_open);
+ gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_operation), FALSE);
+ g_clear_object (&window->priv->folder_to_open);
}
static void
on_notification_operation_open_clicked (GtkWidget *notification,
NautilusWindow *window)
{
- nautilus_window_open_location_full (window, window->priv->folder_to_open,
- 0, NULL, NULL);
- hide_notification_operation (window);
+ nautilus_window_open_location_full (window, window->priv->folder_to_open,
+ 0, NULL, NULL);
+ hide_notification_operation (window);
}
static void
on_notification_operation_close_clicked (GtkWidget *notification,
NautilusWindow *window)
{
- hide_notification_operation (window);
+ hide_notification_operation (window);
}
static gboolean
on_notification_operation_timeout (NautilusWindow *window)
{
- hide_notification_operation (window);
+ hide_notification_operation (window);
- return FALSE;
+ return FALSE;
}
void
@@ -1688,748 +1779,802 @@ nautilus_window_show_operation_notification (NautilusWindow *window,
gchar *main_label,
GFile *folder_to_open)
{
- gchar *button_label;
- gchar *folder_name;
- NautilusFile *folder;
- GFile *current_location;
-
- current_location = nautilus_window_slot_get_location (window->priv->active_slot);
- if (gtk_window_has_toplevel_focus (GTK_WINDOW (window)) &&
- !window->priv->disable_chrome) {
- remove_notifications (window);
- gtk_label_set_text (GTK_LABEL (window->priv->notification_operation_label),
- main_label);
-
- if (g_file_equal (folder_to_open, current_location)) {
- gtk_widget_hide (window->priv->notification_operation_open);
- } else {
- gtk_widget_show (window->priv->notification_operation_open);
- window->priv->folder_to_open = g_object_ref (folder_to_open);
- folder = nautilus_file_get (folder_to_open);
- folder_name = nautilus_file_get_display_name (folder);
- button_label = g_strdup_printf (_("Open %s"), folder_name);
- gtk_button_set_label (GTK_BUTTON (window->priv->notification_operation_open),
- button_label);
- nautilus_file_unref (folder);
- g_free (folder_name);
- g_free (button_label);
- }
-
- gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_operation), TRUE);
- window->priv->notification_operation_timeout_id = g_timeout_add_seconds (NOTIFICATION_TIMEOUT,
- (GSourceFunc) on_notification_operation_timeout,
- window);
- }
+ gchar *button_label;
+ gchar *folder_name;
+ NautilusFile *folder;
+ GFile *current_location;
+
+ current_location = nautilus_window_slot_get_location (window->priv->active_slot);
+ if (gtk_window_has_toplevel_focus (GTK_WINDOW (window)) &&
+ !window->priv->disable_chrome)
+ {
+ remove_notifications (window);
+ gtk_label_set_text (GTK_LABEL (window->priv->notification_operation_label),
+ main_label);
+
+ if (g_file_equal (folder_to_open, current_location))
+ {
+ gtk_widget_hide (window->priv->notification_operation_open);
+ }
+ else
+ {
+ gtk_widget_show (window->priv->notification_operation_open);
+ window->priv->folder_to_open = g_object_ref (folder_to_open);
+ folder = nautilus_file_get (folder_to_open);
+ folder_name = nautilus_file_get_display_name (folder);
+ button_label = g_strdup_printf (_("Open %s"), folder_name);
+ gtk_button_set_label (GTK_BUTTON (window->priv->notification_operation_open),
+ button_label);
+ nautilus_file_unref (folder);
+ g_free (folder_name);
+ g_free (button_label);
+ }
+
+ gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_operation), TRUE);
+ window->priv->notification_operation_timeout_id = g_timeout_add_seconds (NOTIFICATION_TIMEOUT,
+ (GSourceFunc) on_notification_operation_timeout,
+ window);
+ }
}
static void
path_bar_location_changed_callback (GtkWidget *widget,
- GFile *location,
- NautilusWindow *window)
+ GFile *location,
+ NautilusWindow *window)
{
- NautilusWindowSlot *slot;
- int i;
+ NautilusWindowSlot *slot;
+ int i;
- slot = window->priv->active_slot;
- /* check whether we already visited the target location */
- i = bookmark_list_get_uri_index (nautilus_window_slot_get_back_history (slot), location);
- if (i >= 0) {
- nautilus_window_back_or_forward (window, TRUE, i, 0);
- } else {
- nautilus_window_open_location_full (window, location, 0, NULL, NULL);
- }
+ slot = window->priv->active_slot;
+ /* check whether we already visited the target location */
+ i = bookmark_list_get_uri_index (nautilus_window_slot_get_back_history (slot), location);
+ if (i >= 0)
+ {
+ nautilus_window_back_or_forward (window, TRUE, i, 0);
+ }
+ else
+ {
+ nautilus_window_open_location_full (window, location, 0, NULL, NULL);
+ }
}
static void
notebook_popup_menu_new_tab_cb (GtkMenuItem *menuitem,
- gpointer user_data)
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- nautilus_window_new_tab (window);
+ nautilus_window_new_tab (window);
}
static void
notebook_popup_menu_move_left_cb (GtkMenuItem *menuitem,
- gpointer user_data)
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), -1);
+ nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), -1);
}
static void
notebook_popup_menu_move_right_cb (GtkMenuItem *menuitem,
- gpointer user_data)
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), 1);
+ nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), 1);
}
static void
notebook_popup_menu_close_cb (GtkMenuItem *menuitem,
- gpointer user_data)
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
- NautilusWindowSlot *slot;
+ NautilusWindow *window = user_data;
+ NautilusWindowSlot *slot;
- slot = window->priv->active_slot;
- nautilus_window_slot_close (window, slot);
+ slot = window->priv->active_slot;
+ nautilus_window_slot_close (window, slot);
}
static void
notebook_popup_menu_show (NautilusWindow *window,
- GdkEventButton *event)
-{
- GtkWidget *popup;
- GtkWidget *item;
- int button, event_time;
- gboolean can_move_left, can_move_right;
- NautilusNotebook *notebook;
-
- notebook = NAUTILUS_NOTEBOOK (window->priv->notebook);
-
- can_move_left = nautilus_notebook_can_reorder_current_child_relative (notebook, -1);
- can_move_right = nautilus_notebook_can_reorder_current_child_relative (notebook, 1);
-
- popup = gtk_menu_new ();
-
- item = gtk_menu_item_new_with_mnemonic (_("_New Tab"));
- g_signal_connect (item, "activate",
- G_CALLBACK (notebook_popup_menu_new_tab_cb),
- window);
- gtk_menu_shell_append (GTK_MENU_SHELL (popup),
- item);
-
- gtk_menu_shell_append (GTK_MENU_SHELL (popup),
- gtk_separator_menu_item_new ());
-
- item = gtk_menu_item_new_with_mnemonic (_("Move Tab _Left"));
- g_signal_connect (item, "activate",
- G_CALLBACK (notebook_popup_menu_move_left_cb),
- window);
- gtk_menu_shell_append (GTK_MENU_SHELL (popup),
- item);
- gtk_widget_set_sensitive (item, can_move_left);
-
- item = gtk_menu_item_new_with_mnemonic (_("Move Tab _Right"));
- g_signal_connect (item, "activate",
- G_CALLBACK (notebook_popup_menu_move_right_cb),
- window);
- gtk_menu_shell_append (GTK_MENU_SHELL (popup),
- item);
- gtk_widget_set_sensitive (item, can_move_right);
-
- gtk_menu_shell_append (GTK_MENU_SHELL (popup),
- gtk_separator_menu_item_new ());
-
- item = gtk_menu_item_new_with_mnemonic (_("_Close Tab"));
- g_signal_connect (item, "activate",
- G_CALLBACK (notebook_popup_menu_close_cb), window);
- gtk_menu_shell_append (GTK_MENU_SHELL (popup),
- item);
-
- gtk_widget_show_all (popup);
-
- if (event) {
- button = event->button;
- event_time = event->time;
- } else {
- button = 0;
- event_time = gtk_get_current_event_time ();
- }
-
- /* TODO is this correct? */
- gtk_menu_attach_to_widget (GTK_MENU (popup),
- window->priv->notebook,
- NULL);
-
- gtk_menu_popup (GTK_MENU (popup), NULL, NULL, NULL, NULL,
- button, event_time);
+ GdkEventButton *event)
+{
+ GtkWidget *popup;
+ GtkWidget *item;
+ int button, event_time;
+ gboolean can_move_left, can_move_right;
+ NautilusNotebook *notebook;
+
+ notebook = NAUTILUS_NOTEBOOK (window->priv->notebook);
+
+ can_move_left = nautilus_notebook_can_reorder_current_child_relative (notebook, -1);
+ can_move_right = nautilus_notebook_can_reorder_current_child_relative (notebook, 1);
+
+ popup = gtk_menu_new ();
+
+ item = gtk_menu_item_new_with_mnemonic (_("_New Tab"));
+ g_signal_connect (item, "activate",
+ G_CALLBACK (notebook_popup_menu_new_tab_cb),
+ window);
+ gtk_menu_shell_append (GTK_MENU_SHELL (popup),
+ item);
+
+ gtk_menu_shell_append (GTK_MENU_SHELL (popup),
+ gtk_separator_menu_item_new ());
+
+ item = gtk_menu_item_new_with_mnemonic (_("Move Tab _Left"));
+ g_signal_connect (item, "activate",
+ G_CALLBACK (notebook_popup_menu_move_left_cb),
+ window);
+ gtk_menu_shell_append (GTK_MENU_SHELL (popup),
+ item);
+ gtk_widget_set_sensitive (item, can_move_left);
+
+ item = gtk_menu_item_new_with_mnemonic (_("Move Tab _Right"));
+ g_signal_connect (item, "activate",
+ G_CALLBACK (notebook_popup_menu_move_right_cb),
+ window);
+ gtk_menu_shell_append (GTK_MENU_SHELL (popup),
+ item);
+ gtk_widget_set_sensitive (item, can_move_right);
+
+ gtk_menu_shell_append (GTK_MENU_SHELL (popup),
+ gtk_separator_menu_item_new ());
+
+ item = gtk_menu_item_new_with_mnemonic (_("_Close Tab"));
+ g_signal_connect (item, "activate",
+ G_CALLBACK (notebook_popup_menu_close_cb), window);
+ gtk_menu_shell_append (GTK_MENU_SHELL (popup),
+ item);
+
+ gtk_widget_show_all (popup);
+
+ if (event)
+ {
+ button = event->button;
+ event_time = event->time;
+ }
+ else
+ {
+ button = 0;
+ event_time = gtk_get_current_event_time ();
+ }
+
+ /* TODO is this correct? */
+ gtk_menu_attach_to_widget (GTK_MENU (popup),
+ window->priv->notebook,
+ NULL);
+
+ gtk_menu_popup (GTK_MENU (popup), NULL, NULL, NULL, NULL,
+ button, event_time);
}
/* emitted when the user clicks the "close" button of tabs */
static void
notebook_tab_close_requested (NautilusNotebook *notebook,
- NautilusWindowSlot *slot,
- NautilusWindow *window)
+ NautilusWindowSlot *slot,
+ NautilusWindow *window)
{
- nautilus_window_slot_close (window, slot);
+ nautilus_window_slot_close (window, slot);
}
static gboolean
-notebook_button_press_cb (GtkWidget *widget,
- GdkEventButton *event,
- gpointer user_data)
+notebook_button_press_cb (GtkWidget *widget,
+ GdkEventButton *event,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
+ NautilusWindow *window = user_data;
- if (GDK_BUTTON_PRESS == event->type && 3 == event->button) {
- notebook_popup_menu_show (window, event);
- return TRUE;
- }
+ if (GDK_BUTTON_PRESS == event->type && 3 == event->button)
+ {
+ notebook_popup_menu_show (window, event);
+ return TRUE;
+ }
- return FALSE;
+ return FALSE;
}
static gboolean
notebook_popup_menu_cb (GtkWidget *widget,
- gpointer user_data)
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
- notebook_popup_menu_show (window, NULL);
- return TRUE;
+ NautilusWindow *window = user_data;
+ notebook_popup_menu_show (window, NULL);
+ return TRUE;
}
GtkWidget *
nautilus_window_get_toolbar (NautilusWindow *window)
{
- return window->priv->toolbar;
+ return window->priv->toolbar;
}
static void
setup_toolbar (NautilusWindow *window)
{
- GtkWidget *path_bar;
- GtkWidget *location_entry;
-
- g_object_set (window->priv->toolbar, "window", window, NULL);
- g_object_bind_property (window, "disable-chrome",
- window->priv->toolbar, "visible",
- G_BINDING_INVERT_BOOLEAN);
+ GtkWidget *path_bar;
+ GtkWidget *location_entry;
- /* connect to the pathbar signals */
- path_bar = nautilus_toolbar_get_path_bar (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ g_object_set (window->priv->toolbar, "window", window, NULL);
+ g_object_bind_property (window, "disable-chrome",
+ window->priv->toolbar, "visible",
+ G_BINDING_INVERT_BOOLEAN);
- g_signal_connect_object (path_bar, "path-clicked",
- G_CALLBACK (path_bar_location_changed_callback), window, 0);
- g_signal_connect_swapped (path_bar, "open-location",
- G_CALLBACK (open_location_cb), window);
+ /* connect to the pathbar signals */
+ path_bar = nautilus_toolbar_get_path_bar (NAUTILUS_TOOLBAR (window->priv->toolbar));
- /* connect to the location entry signals */
- location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ g_signal_connect_object (path_bar, "path-clicked",
+ G_CALLBACK (path_bar_location_changed_callback), window, 0);
+ g_signal_connect_swapped (path_bar, "open-location",
+ G_CALLBACK (open_location_cb), window);
- g_signal_connect_object (location_entry, "location-changed",
- G_CALLBACK (location_entry_location_changed_callback), window, 0);
- g_signal_connect_object (location_entry, "cancel",
- G_CALLBACK (location_entry_cancel_callback), window, 0);
+ /* connect to the location entry signals */
+ location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ g_signal_connect_object (location_entry, "location-changed",
+ G_CALLBACK (location_entry_location_changed_callback), window, 0);
+ g_signal_connect_object (location_entry, "cancel",
+ G_CALLBACK (location_entry_cancel_callback), window, 0);
}
static void
notebook_page_removed_cb (GtkNotebook *notebook,
- GtkWidget *page,
- guint page_num,
- gpointer user_data)
+ GtkWidget *page,
+ guint page_num,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
- NautilusWindowSlot *slot = NAUTILUS_WINDOW_SLOT (page), *next_slot;
- gboolean dnd_slot;
+ NautilusWindow *window = user_data;
+ NautilusWindowSlot *slot = NAUTILUS_WINDOW_SLOT (page), *next_slot;
+ gboolean dnd_slot;
- dnd_slot = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (slot), "dnd-window-slot"));
- if (!dnd_slot) {
- return;
- }
+ dnd_slot = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (slot), "dnd-window-slot"));
+ if (!dnd_slot)
+ {
+ return;
+ }
- if (window->priv->active_slot == slot) {
- next_slot = get_first_inactive_slot (window);
- nautilus_window_set_active_slot (window, next_slot);
- }
+ if (window->priv->active_slot == slot)
+ {
+ next_slot = get_first_inactive_slot (window);
+ nautilus_window_set_active_slot (window, next_slot);
+ }
- close_slot (window, slot, FALSE);
+ close_slot (window, slot, FALSE);
}
static void
notebook_page_added_cb (GtkNotebook *notebook,
- GtkWidget *page,
- guint page_num,
- gpointer user_data)
+ GtkWidget *page,
+ guint page_num,
+ gpointer user_data)
{
- NautilusWindow *window = user_data;
- NautilusWindowSlot *slot = NAUTILUS_WINDOW_SLOT (page);
- NautilusWindowSlot *dummy_slot;
- gboolean dnd_slot;
+ NautilusWindow *window = user_data;
+ NautilusWindowSlot *slot = NAUTILUS_WINDOW_SLOT (page);
+ NautilusWindowSlot *dummy_slot;
+ gboolean dnd_slot;
- dnd_slot = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (slot), "dnd-window-slot"));
- if (!dnd_slot) {
- return;
- }
+ dnd_slot = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (slot), "dnd-window-slot"));
+ if (!dnd_slot)
+ {
+ return;
+ }
- g_object_set_data (G_OBJECT (page), "dnd-window-slot",
- GINT_TO_POINTER (FALSE));
+ g_object_set_data (G_OBJECT (page), "dnd-window-slot",
+ GINT_TO_POINTER (FALSE));
- nautilus_window_slot_set_window (slot, window);
- window->priv->slots = g_list_append (window->priv->slots, slot);
- g_signal_emit (window, signals[SLOT_ADDED], 0, slot);
+ nautilus_window_slot_set_window (slot, window);
+ window->priv->slots = g_list_append (window->priv->slots, slot);
+ g_signal_emit (window, signals[SLOT_ADDED], 0, slot);
- nautilus_window_set_active_slot (window, slot);
+ nautilus_window_set_active_slot (window, slot);
- dummy_slot = g_list_nth_data (window->priv->slots, 0);
- if (dummy_slot != NULL) {
- close_slot (window, dummy_slot, TRUE);
- }
+ dummy_slot = g_list_nth_data (window->priv->slots, 0);
+ if (dummy_slot != NULL)
+ {
+ close_slot (window, dummy_slot, TRUE);
+ }
- gtk_widget_show (GTK_WIDGET (window));
+ gtk_widget_show (GTK_WIDGET (window));
}
static GtkNotebook *
notebook_create_window_cb (GtkNotebook *notebook,
- GtkWidget *page,
- gint x,
- gint y,
- gpointer user_data)
+ GtkWidget *page,
+ gint x,
+ gint y,
+ gpointer user_data)
{
- NautilusApplication *app;
- NautilusWindow *new_window;
- NautilusWindowSlot *slot;
+ NautilusApplication *app;
+ NautilusWindow *new_window;
+ NautilusWindowSlot *slot;
- if (!NAUTILUS_IS_WINDOW_SLOT (page)) {
- return NULL;
- }
+ if (!NAUTILUS_IS_WINDOW_SLOT (page))
+ {
+ return NULL;
+ }
- app = NAUTILUS_APPLICATION (g_application_get_default ());
- new_window = nautilus_application_create_window
- (app, gtk_widget_get_screen (GTK_WIDGET (notebook)));
+ app = NAUTILUS_APPLICATION (g_application_get_default ());
+ new_window = nautilus_application_create_window
+ (app, gtk_widget_get_screen (GTK_WIDGET (notebook)));
- slot = NAUTILUS_WINDOW_SLOT (page);
- g_object_set_data (G_OBJECT (slot), "dnd-window-slot",
- GINT_TO_POINTER (TRUE));
+ slot = NAUTILUS_WINDOW_SLOT (page);
+ g_object_set_data (G_OBJECT (slot), "dnd-window-slot",
+ GINT_TO_POINTER (TRUE));
- gtk_window_set_position (GTK_WINDOW (new_window), GTK_WIN_POS_MOUSE);
+ gtk_window_set_position (GTK_WINDOW (new_window), GTK_WIN_POS_MOUSE);
- return GTK_NOTEBOOK (new_window->priv->notebook);
+ return GTK_NOTEBOOK (new_window->priv->notebook);
}
static void
setup_notebook (NautilusWindow *window)
{
- g_signal_connect (window->priv->notebook, "tab-close-request",
- G_CALLBACK (notebook_tab_close_requested),
- window);
- g_signal_connect (window->priv->notebook, "popup-menu",
- G_CALLBACK (notebook_popup_menu_cb),
- window);
- g_signal_connect (window->priv->notebook, "switch-page",
- G_CALLBACK (notebook_switch_page_cb),
- window);
- g_signal_connect (window->priv->notebook, "create-window",
- G_CALLBACK (notebook_create_window_cb),
- window);
- g_signal_connect (window->priv->notebook, "page-added",
- G_CALLBACK (notebook_page_added_cb),
- window);
- g_signal_connect (window->priv->notebook, "page-removed",
- G_CALLBACK (notebook_page_removed_cb),
- window);
- g_signal_connect_after (window->priv->notebook, "button-press-event",
- G_CALLBACK (notebook_button_press_cb),
- window);
-}
-
-const GActionEntry win_entries[] = {
- { "back", action_back },
- { "forward", action_forward },
- { "up", action_up },
- { "view-menu", action_toggle_state_view_button, NULL, "false", NULL },
- { "reload", action_reload },
- { "stop", action_stop },
- { "new-tab", action_new_tab },
- { "enter-location", action_enter_location },
- { "bookmark-current-location", action_bookmark_current_location },
- { "undo", action_undo },
- { "redo", action_redo },
- /* Only accesible by shorcuts */
- { "close-current-view", action_close_current_view },
- { "go-home", action_go_home },
- { "tab-previous", action_tab_previous },
- { "tab-next", action_tab_next },
- { "tab-move-left", action_tab_move_left },
- { "tab-move-right", action_tab_move_right },
- { "prompt-root-location", action_prompt_for_location_root },
- { "prompt-home-location", action_prompt_for_location_home },
- { "go-to-tab", NULL, "i", "0", action_go_to_tab },
- { "empty-trash", action_empty_trash },
- { "properties", action_properties },
- { "format", action_format },
+ g_signal_connect (window->priv->notebook, "tab-close-request",
+ G_CALLBACK (notebook_tab_close_requested),
+ window);
+ g_signal_connect (window->priv->notebook, "popup-menu",
+ G_CALLBACK (notebook_popup_menu_cb),
+ window);
+ g_signal_connect (window->priv->notebook, "switch-page",
+ G_CALLBACK (notebook_switch_page_cb),
+ window);
+ g_signal_connect (window->priv->notebook, "create-window",
+ G_CALLBACK (notebook_create_window_cb),
+ window);
+ g_signal_connect (window->priv->notebook, "page-added",
+ G_CALLBACK (notebook_page_added_cb),
+ window);
+ g_signal_connect (window->priv->notebook, "page-removed",
+ G_CALLBACK (notebook_page_removed_cb),
+ window);
+ g_signal_connect_after (window->priv->notebook, "button-press-event",
+ G_CALLBACK (notebook_button_press_cb),
+ window);
+}
+
+const GActionEntry win_entries[] =
+{
+ { "back", action_back },
+ { "forward", action_forward },
+ { "up", action_up },
+ { "view-menu", action_toggle_state_view_button, NULL, "false", NULL },
+ { "reload", action_reload },
+ { "stop", action_stop },
+ { "new-tab", action_new_tab },
+ { "enter-location", action_enter_location },
+ { "bookmark-current-location", action_bookmark_current_location },
+ { "undo", action_undo },
+ { "redo", action_redo },
+ /* Only accesible by shorcuts */
+ { "close-current-view", action_close_current_view },
+ { "go-home", action_go_home },
+ { "tab-previous", action_tab_previous },
+ { "tab-next", action_tab_next },
+ { "tab-move-left", action_tab_move_left },
+ { "tab-move-right", action_tab_move_right },
+ { "prompt-root-location", action_prompt_for_location_root },
+ { "prompt-home-location", action_prompt_for_location_home },
+ { "go-to-tab", NULL, "i", "0", action_go_to_tab },
+ { "empty-trash", action_empty_trash },
+ { "properties", action_properties },
+ { "format", action_format },
};
static void
nautilus_window_initialize_actions (NautilusWindow *window)
{
- GApplication *app;
- GAction *action;
- GVariant *state;
- gchar detailed_action[80];
- gchar accel[80];
- gint i;
- const gchar *reload_accels[] = {
- "F5",
- "<ctrl>r",
- NULL
- };
-
- g_action_map_add_action_entries (G_ACTION_MAP (window),
- win_entries, G_N_ELEMENTS (win_entries),
- window);
-
- app = g_application_get_default ();
- nautilus_application_set_accelerator (app, "win.back", "<alt>Left");
- nautilus_application_set_accelerator (app, "win.forward", "<alt>Right");
- nautilus_application_set_accelerator (app, "win.enter-location", "<control>l");
- nautilus_application_set_accelerator (app, "win.new-tab", "<control>t");
- nautilus_application_set_accelerator (app, "win.close-current-view", "<control>w");
-
- /* Special case reload, since users are used to use two shortcuts instead of one */
- gtk_application_set_accels_for_action (GTK_APPLICATION (app), "win.reload", reload_accels);
-
- nautilus_application_set_accelerator (app, "win.undo", "<control>z");
- nautilus_application_set_accelerator (app, "win.redo", "<shift><control>z");
- /* Only accesible by shorcuts */
- nautilus_application_set_accelerator (app, "win.bookmark-current-location", "<control>d");
- nautilus_application_set_accelerator (app, "win.up", "<alt>Up");
- nautilus_application_set_accelerator (app, "win.go-home", "<alt>Home");
- nautilus_application_set_accelerator (app, "win.tab-previous", "<control>Page_Up");
- nautilus_application_set_accelerator (app, "win.tab-next", "<control>Page_Down");
- nautilus_application_set_accelerator (app, "win.tab-move-left", "<shift><control>Page_Up");
- nautilus_application_set_accelerator (app, "win.tab-move-right", "<shift><control>Page_Down");
- nautilus_application_set_accelerator (app, "win.prompt-root-location", "slash");
- nautilus_application_set_accelerator (app, "win.prompt-home-location", "asciitilde");
- nautilus_application_set_accelerator (app, "win.view-menu", "F10");
-
- /* Alt+N for the first 9 tabs */
- for (i = 0; i < 9; ++i) {
- g_snprintf (detailed_action, sizeof (detailed_action), "win.go-to-tab(%i)", i);
- g_snprintf (accel, sizeof (accel), "<alt>%i", i + 1);
- nautilus_application_set_accelerator (app, detailed_action, accel);
- }
-
- action = g_action_map_lookup_action (G_ACTION_MAP (app), "show-hide-sidebar");
- state = g_action_get_state (action);
- if (g_variant_get_boolean (state))
- nautilus_window_show_sidebar (window);
-
- g_variant_unref (state);
+ GApplication *app;
+ GAction *action;
+ GVariant *state;
+ gchar detailed_action[80];
+ gchar accel[80];
+ gint i;
+ const gchar *reload_accels[] =
+ {
+ "F5",
+ "<ctrl>r",
+ NULL
+ };
+
+ g_action_map_add_action_entries (G_ACTION_MAP (window),
+ win_entries, G_N_ELEMENTS (win_entries),
+ window);
+
+ app = g_application_get_default ();
+ nautilus_application_set_accelerator (app, "win.back", "<alt>Left");
+ nautilus_application_set_accelerator (app, "win.forward", "<alt>Right");
+ nautilus_application_set_accelerator (app, "win.enter-location", "<control>l");
+ nautilus_application_set_accelerator (app, "win.new-tab", "<control>t");
+ nautilus_application_set_accelerator (app, "win.close-current-view", "<control>w");
+
+ /* Special case reload, since users are used to use two shortcuts instead of one */
+ gtk_application_set_accels_for_action (GTK_APPLICATION (app), "win.reload", reload_accels);
+
+ nautilus_application_set_accelerator (app, "win.undo", "<control>z");
+ nautilus_application_set_accelerator (app, "win.redo", "<shift><control>z");
+ /* Only accesible by shorcuts */
+ nautilus_application_set_accelerator (app, "win.bookmark-current-location", "<control>d");
+ nautilus_application_set_accelerator (app, "win.up", "<alt>Up");
+ nautilus_application_set_accelerator (app, "win.go-home", "<alt>Home");
+ nautilus_application_set_accelerator (app, "win.tab-previous", "<control>Page_Up");
+ nautilus_application_set_accelerator (app, "win.tab-next", "<control>Page_Down");
+ nautilus_application_set_accelerator (app, "win.tab-move-left", "<shift><control>Page_Up");
+ nautilus_application_set_accelerator (app, "win.tab-move-right", "<shift><control>Page_Down");
+ nautilus_application_set_accelerator (app, "win.prompt-root-location", "slash");
+ nautilus_application_set_accelerator (app, "win.prompt-home-location", "asciitilde");
+ nautilus_application_set_accelerator (app, "win.view-menu", "F10");
+
+ /* Alt+N for the first 9 tabs */
+ for (i = 0; i < 9; ++i)
+ {
+ g_snprintf (detailed_action, sizeof (detailed_action), "win.go-to-tab(%i)", i);
+ g_snprintf (accel, sizeof (accel), "<alt>%i", i + 1);
+ nautilus_application_set_accelerator (app, detailed_action, accel);
+ }
+
+ action = g_action_map_lookup_action (G_ACTION_MAP (app), "show-hide-sidebar");
+ state = g_action_get_state (action);
+ if (g_variant_get_boolean (state))
+ {
+ nautilus_window_show_sidebar (window);
+ }
+
+ g_variant_unref (state);
}
static void
nautilus_window_constructed (GObject *self)
{
- NautilusWindow *window;
- NautilusWindowSlot *slot;
- NautilusApplication *application;
+ NautilusWindow *window;
+ NautilusWindowSlot *slot;
+ NautilusApplication *application;
- window = NAUTILUS_WINDOW (self);
+ window = NAUTILUS_WINDOW (self);
- nautilus_profile_start (NULL);
+ nautilus_profile_start (NULL);
- G_OBJECT_CLASS (nautilus_window_parent_class)->constructed (self);
+ G_OBJECT_CLASS (nautilus_window_parent_class)->constructed (self);
- application = NAUTILUS_APPLICATION (g_application_get_default ());
- gtk_window_set_application (GTK_WINDOW (window), GTK_APPLICATION (application));
+ application = NAUTILUS_APPLICATION (g_application_get_default ());
+ gtk_window_set_application (GTK_WINDOW (window), GTK_APPLICATION (application));
- setup_toolbar (window);
+ setup_toolbar (window);
- nautilus_window_set_initial_window_geometry (window);
- setup_notebook (window);
- nautilus_window_set_up_sidebar (window);
+ nautilus_window_set_initial_window_geometry (window);
+ setup_notebook (window);
+ nautilus_window_set_up_sidebar (window);
- g_signal_connect_after (nautilus_file_undo_manager_get (), "undo-changed",
- G_CALLBACK (nautilus_window_on_undo_changed), self);
+ g_signal_connect_after (nautilus_file_undo_manager_get (), "undo-changed",
+ G_CALLBACK (nautilus_window_on_undo_changed), self);
- /* Is required that the UI is constructed before initializating the actions, since
- * some actions trigger UI widgets to show/hide. */
- nautilus_window_initialize_actions (window);
+ /* Is required that the UI is constructed before initializating the actions, since
+ * some actions trigger UI widgets to show/hide. */
+ nautilus_window_initialize_actions (window);
- slot = nautilus_window_create_slot (window, NULL);
- nautilus_window_initialize_slot (window, slot, 0);
- nautilus_window_set_active_slot (window, slot);
+ slot = nautilus_window_create_slot (window, NULL);
+ nautilus_window_initialize_slot (window, slot, 0);
+ nautilus_window_set_active_slot (window, slot);
- window->priv->bookmarks_id =
- g_signal_connect_swapped (nautilus_application_get_bookmarks (application), "changed",
- G_CALLBACK (nautilus_window_sync_bookmarks), window);
+ window->priv->bookmarks_id =
+ g_signal_connect_swapped (nautilus_application_get_bookmarks (application), "changed",
+ G_CALLBACK (nautilus_window_sync_bookmarks), window);
- nautilus_toolbar_on_window_constructed (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ nautilus_toolbar_on_window_constructed (NAUTILUS_TOOLBAR (window->priv->toolbar));
- nautilus_profile_end (NULL);
+ nautilus_profile_end (NULL);
}
static void
-nautilus_window_set_property (GObject *object,
- guint arg_id,
- const GValue *value,
- GParamSpec *pspec)
+nautilus_window_set_property (GObject *object,
+ guint arg_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
- NautilusWindow *window;
+ NautilusWindow *window;
- window = NAUTILUS_WINDOW (object);
-
- switch (arg_id) {
- case PROP_DISABLE_CHROME:
- window->priv->disable_chrome = g_value_get_boolean (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, arg_id, pspec);
- break;
- }
+ window = NAUTILUS_WINDOW (object);
+
+ switch (arg_id)
+ {
+ case PROP_DISABLE_CHROME:
+ {
+ window->priv->disable_chrome = g_value_get_boolean (value);
+ }
+ break;
+
+ default:
+ {
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, arg_id, pspec);
+ }
+ break;
+ }
}
static void
-nautilus_window_get_property (GObject *object,
- guint arg_id,
- GValue *value,
- GParamSpec *pspec)
+nautilus_window_get_property (GObject *object,
+ guint arg_id,
+ GValue *value,
+ GParamSpec *pspec)
{
- NautilusWindow *window;
+ NautilusWindow *window;
- window = NAUTILUS_WINDOW (object);
+ window = NAUTILUS_WINDOW (object);
- switch (arg_id) {
- case PROP_DISABLE_CHROME:
- g_value_set_boolean (value, window->priv->disable_chrome);
- break;
- }
+ switch (arg_id)
+ {
+ case PROP_DISABLE_CHROME:
+ {
+ g_value_set_boolean (value, window->priv->disable_chrome);
+ }
+ break;
+ }
}
static gint
-sort_slots_active_last (NautilusWindowSlot *a, NautilusWindowSlot *b, NautilusWindow *window)
+sort_slots_active_last (NautilusWindowSlot *a,
+ NautilusWindowSlot *b,
+ NautilusWindow *window)
{
- if (window->priv->active_slot == a) {
- return 1;
- }
- if (window->priv->active_slot == b) {
- return -1;
- }
- return 0;
+ if (window->priv->active_slot == a)
+ {
+ return 1;
+ }
+ if (window->priv->active_slot == b)
+ {
+ return -1;
+ }
+ return 0;
}
static void
destroy_slots_foreach (gpointer data,
- gpointer user_data)
+ gpointer user_data)
{
- NautilusWindowSlot *slot = data;
- NautilusWindow *window = user_data;
+ NautilusWindowSlot *slot = data;
+ NautilusWindow *window = user_data;
- close_slot (window, slot, TRUE);
+ close_slot (window, slot, TRUE);
}
static void
nautilus_window_destroy (GtkWidget *object)
{
- NautilusWindow *window;
- NautilusApplication *application;
- GList *slots_copy;
+ NautilusWindow *window;
+ NautilusApplication *application;
+ GList *slots_copy;
- window = NAUTILUS_WINDOW (object);
+ window = NAUTILUS_WINDOW (object);
- DEBUG ("Destroying window");
+ DEBUG ("Destroying window");
- /* close all slots safely */
- slots_copy = g_list_copy (window->priv->slots);
- if (window->priv->active_slot != NULL) {
- /* Make sure active slot is last one to be closed, to avoid default activation
- * of others slots when closing the active one, see bug #741952 */
- slots_copy = g_list_sort_with_data (slots_copy, (GCompareDataFunc) sort_slots_active_last, window);
- }
- g_list_foreach (slots_copy, (GFunc) destroy_slots_foreach, window);
- g_list_free (slots_copy);
+ /* close all slots safely */
+ slots_copy = g_list_copy (window->priv->slots);
+ if (window->priv->active_slot != NULL)
+ {
+ /* Make sure active slot is last one to be closed, to avoid default activation
+ * of others slots when closing the active one, see bug #741952 */
+ slots_copy = g_list_sort_with_data (slots_copy, (GCompareDataFunc) sort_slots_active_last, window);
+ }
+ g_list_foreach (slots_copy, (GFunc) destroy_slots_foreach, window);
+ g_list_free (slots_copy);
- /* the slots list should now be empty */
- g_assert (window->priv->slots == NULL);
+ /* the slots list should now be empty */
+ g_assert (window->priv->slots == NULL);
- window->priv->active_slot = NULL;
+ window->priv->active_slot = NULL;
- if (window->priv->bookmarks_id != 0) {
- application = NAUTILUS_APPLICATION (gtk_window_get_application (GTK_WINDOW (window)));
- g_signal_handler_disconnect (nautilus_application_get_bookmarks (application),
- window->priv->bookmarks_id);
- window->priv->bookmarks_id = 0;
- }
+ if (window->priv->bookmarks_id != 0)
+ {
+ application = NAUTILUS_APPLICATION (gtk_window_get_application (GTK_WINDOW (window)));
+ g_signal_handler_disconnect (nautilus_application_get_bookmarks (application),
+ window->priv->bookmarks_id);
+ window->priv->bookmarks_id = 0;
+ }
- GTK_WIDGET_CLASS (nautilus_window_parent_class)->destroy (object);
+ GTK_WIDGET_CLASS (nautilus_window_parent_class)->destroy (object);
}
static void
nautilus_window_finalize (GObject *object)
{
- NautilusWindow *window;
+ NautilusWindow *window;
- window = NAUTILUS_WINDOW (object);
+ window = NAUTILUS_WINDOW (object);
- if (window->priv->sidebar_width_handler_id != 0) {
- g_source_remove (window->priv->sidebar_width_handler_id);
- window->priv->sidebar_width_handler_id = 0;
- }
+ if (window->priv->sidebar_width_handler_id != 0)
+ {
+ g_source_remove (window->priv->sidebar_width_handler_id);
+ window->priv->sidebar_width_handler_id = 0;
+ }
- if (window->priv->notification_delete_timeout_id != 0) {
- g_source_remove (window->priv->notification_delete_timeout_id);
- window->priv->notification_delete_timeout_id = 0;
- }
+ if (window->priv->notification_delete_timeout_id != 0)
+ {
+ g_source_remove (window->priv->notification_delete_timeout_id);
+ window->priv->notification_delete_timeout_id = 0;
+ }
- if (window->priv->notification_operation_timeout_id != 0) {
- g_source_remove (window->priv->notification_operation_timeout_id);
- window->priv->notification_operation_timeout_id = 0;
- }
+ if (window->priv->notification_operation_timeout_id != 0)
+ {
+ g_source_remove (window->priv->notification_operation_timeout_id);
+ window->priv->notification_operation_timeout_id = 0;
+ }
- g_clear_object (&window->priv->selected_file);
- g_clear_object (&window->priv->selected_volume);
+ g_clear_object (&window->priv->selected_file);
+ g_clear_object (&window->priv->selected_volume);
- g_signal_handlers_disconnect_by_func (nautilus_file_undo_manager_get (),
- G_CALLBACK (nautilus_window_on_undo_changed),
- window);
+ g_signal_handlers_disconnect_by_func (nautilus_file_undo_manager_get (),
+ G_CALLBACK (nautilus_window_on_undo_changed),
+ window);
- /* nautilus_window_close() should have run */
- g_assert (window->priv->slots == NULL);
+ /* nautilus_window_close() should have run */
+ g_assert (window->priv->slots == NULL);
- G_OBJECT_CLASS (nautilus_window_parent_class)->finalize (object);
+ G_OBJECT_CLASS (nautilus_window_parent_class)->finalize (object);
}
static void
nautilus_window_save_geometry (NautilusWindow *window)
{
- char *geometry_string;
- gboolean is_maximized;
-
- g_assert (NAUTILUS_IS_WINDOW (window));
+ char *geometry_string;
+ gboolean is_maximized;
- if (gtk_widget_get_window (GTK_WIDGET (window))) {
- geometry_string = eel_gtk_window_get_geometry_string (GTK_WINDOW (window));
- is_maximized = gdk_window_get_state (gtk_widget_get_window (GTK_WIDGET (window)))
- & GDK_WINDOW_STATE_MAXIMIZED;
+ g_assert (NAUTILUS_IS_WINDOW (window));
- if (!is_maximized) {
- g_settings_set_string
- (nautilus_window_state, NAUTILUS_WINDOW_STATE_GEOMETRY,
- geometry_string);
- }
- g_free (geometry_string);
+ if (gtk_widget_get_window (GTK_WIDGET (window)))
+ {
+ geometry_string = eel_gtk_window_get_geometry_string (GTK_WINDOW (window));
+ is_maximized = gdk_window_get_state (gtk_widget_get_window (GTK_WIDGET (window)))
+ & GDK_WINDOW_STATE_MAXIMIZED;
+
+ if (!is_maximized)
+ {
+ g_settings_set_string
+ (nautilus_window_state, NAUTILUS_WINDOW_STATE_GEOMETRY,
+ geometry_string);
+ }
+ g_free (geometry_string);
- g_settings_set_boolean
- (nautilus_window_state, NAUTILUS_WINDOW_STATE_MAXIMIZED,
- is_maximized);
- }
+ g_settings_set_boolean
+ (nautilus_window_state, NAUTILUS_WINDOW_STATE_MAXIMIZED,
+ is_maximized);
+ }
}
void
nautilus_window_close (NautilusWindow *window)
{
- NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS (window))->close (window);
+ NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS (window))->close (window);
}
void
-nautilus_window_set_active_slot (NautilusWindow *window, NautilusWindowSlot *new_slot)
+nautilus_window_set_active_slot (NautilusWindow *window,
+ NautilusWindowSlot *new_slot)
{
- NautilusWindowSlot *old_slot;
+ NautilusWindowSlot *old_slot;
- g_assert (NAUTILUS_IS_WINDOW (window));
+ g_assert (NAUTILUS_IS_WINDOW (window));
- if (new_slot) {
- g_assert ((window == nautilus_window_slot_get_window (new_slot)));
- }
+ if (new_slot)
+ {
+ g_assert ((window == nautilus_window_slot_get_window (new_slot)));
+ }
- old_slot = nautilus_window_get_active_slot (window);
+ old_slot = nautilus_window_get_active_slot (window);
- if (old_slot == new_slot) {
- return;
- }
+ if (old_slot == new_slot)
+ {
+ return;
+ }
- DEBUG ("Setting new slot %p as active, old slot inactive %p", new_slot, old_slot);
+ DEBUG ("Setting new slot %p as active, old slot inactive %p", new_slot, old_slot);
- /* make old slot inactive if it exists (may be NULL after init, for example) */
- if (old_slot != NULL) {
- /* inform slot & view */
- nautilus_window_slot_set_active (old_slot, FALSE);
- }
+ /* make old slot inactive if it exists (may be NULL after init, for example) */
+ if (old_slot != NULL)
+ {
+ /* inform slot & view */
+ nautilus_window_slot_set_active (old_slot, FALSE);
+ }
- window->priv->active_slot = new_slot;
+ window->priv->active_slot = new_slot;
- /* make new slot active, if it exists */
- if (new_slot) {
- nautilus_toolbar_set_active_slot (NAUTILUS_TOOLBAR (window->priv->toolbar), new_slot);
+ /* make new slot active, if it exists */
+ if (new_slot)
+ {
+ nautilus_toolbar_set_active_slot (NAUTILUS_TOOLBAR (window->priv->toolbar), new_slot);
- /* inform slot & view */
- nautilus_window_slot_set_active (new_slot, TRUE);
+ /* inform slot & view */
+ nautilus_window_slot_set_active (new_slot, TRUE);
- on_location_changed (window);
- }
+ on_location_changed (window);
+ }
}
static void
nautilus_window_realize (GtkWidget *widget)
{
- GTK_WIDGET_CLASS (nautilus_window_parent_class)->realize (widget);
- update_cursor (NAUTILUS_WINDOW (widget));
+ GTK_WIDGET_CLASS (nautilus_window_parent_class)->realize (widget);
+ update_cursor (NAUTILUS_WINDOW (widget));
}
static gboolean
-nautilus_window_key_press_event (GtkWidget *widget,
- GdkEventKey *event)
+nautilus_window_key_press_event (GtkWidget *widget,
+ GdkEventKey *event)
{
- NautilusWindow *window;
- GtkWidget *focus_widget;
- int i;
+ NautilusWindow *window;
+ GtkWidget *focus_widget;
+ int i;
- window = NAUTILUS_WINDOW (widget);
+ window = NAUTILUS_WINDOW (widget);
- focus_widget = gtk_window_get_focus (GTK_WINDOW (window));
- if (focus_widget != NULL && GTK_IS_EDITABLE (focus_widget)) {
- /* if we have input focus on a GtkEditable (e.g. a GtkEntry), forward
- * the event to it before activating accelerator bindings too.
- */
- if (gtk_window_propagate_key_event (GTK_WINDOW (window), event)) {
- return TRUE;
- }
- }
+ focus_widget = gtk_window_get_focus (GTK_WINDOW (window));
+ if (focus_widget != NULL && GTK_IS_EDITABLE (focus_widget))
+ {
+ /* if we have input focus on a GtkEditable (e.g. a GtkEntry), forward
+ * the event to it before activating accelerator bindings too.
+ */
+ if (gtk_window_propagate_key_event (GTK_WINDOW (window), event))
+ {
+ return TRUE;
+ }
+ }
- for (i = 0; i < G_N_ELEMENTS (extra_window_keybindings); i++) {
- if (extra_window_keybindings[i].keyval == event->keyval) {
- GAction *action;
+ for (i = 0; i < G_N_ELEMENTS (extra_window_keybindings); i++)
+ {
+ if (extra_window_keybindings[i].keyval == event->keyval)
+ {
+ GAction *action;
- action = g_action_map_lookup_action (G_ACTION_MAP (window), extra_window_keybindings[i].action);
+ action = g_action_map_lookup_action (G_ACTION_MAP (window), extra_window_keybindings[i].action);
- g_assert (action != NULL);
- if (g_action_get_enabled (action)) {
- g_action_activate (action, NULL);
- return TRUE;
- }
+ g_assert (action != NULL);
+ if (g_action_get_enabled (action))
+ {
+ g_action_activate (action, NULL);
+ return TRUE;
+ }
- break;
- }
- }
+ break;
+ }
+ }
- if (GTK_WIDGET_CLASS (nautilus_window_parent_class)->key_press_event (widget, event)) {
- return TRUE;
- }
+ if (GTK_WIDGET_CLASS (nautilus_window_parent_class)->key_press_event (widget, event))
+ {
+ return TRUE;
+ }
- if (nautilus_window_slot_handle_event (window->priv->active_slot, event)) {
- return TRUE;
- }
+ if (nautilus_window_slot_handle_event (window->priv->active_slot, event))
+ {
+ return TRUE;
+ }
- return FALSE;
+ return FALSE;
}
void
-nautilus_window_sync_title (NautilusWindow *window,
- NautilusWindowSlot *slot)
+nautilus_window_sync_title (NautilusWindow *window,
+ NautilusWindowSlot *slot)
{
- if (NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS (window))->sync_title != NULL) {
- NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS (window))->sync_title (window, slot);
+ if (NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS (window))->sync_title != NULL)
+ {
+ NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS (window))->sync_title (window, slot);
- return;
- }
+ return;
+ }
- if (slot == nautilus_window_get_active_slot (window)) {
- gtk_window_set_title (GTK_WINDOW (window), nautilus_window_slot_get_title (slot));
- }
+ if (slot == nautilus_window_get_active_slot (window))
+ {
+ gtk_window_set_title (GTK_WINDOW (window), nautilus_window_slot_get_title (slot));
+ }
- nautilus_notebook_sync_tab_label (NAUTILUS_NOTEBOOK (window->priv->notebook), slot);
+ nautilus_notebook_sync_tab_label (NAUTILUS_NOTEBOOK (window->priv->notebook), slot);
}
/**
* nautilus_window_show:
- * @widget: GtkWidget
+ * @widget: GtkWidget
*
* Call parent and then show/hide window items
* base on user prefs.
@@ -2437,336 +2582,357 @@ nautilus_window_sync_title (NautilusWindow *window,
static void
nautilus_window_show (GtkWidget *widget)
{
- GTK_WIDGET_CLASS (nautilus_window_parent_class)->show (widget);
+ GTK_WIDGET_CLASS (nautilus_window_parent_class)->show (widget);
}
NautilusWindowSlot *
nautilus_window_get_active_slot (NautilusWindow *window)
{
- g_assert (NAUTILUS_IS_WINDOW (window));
+ g_assert (NAUTILUS_IS_WINDOW (window));
- return window->priv->active_slot;
+ return window->priv->active_slot;
}
GList *
nautilus_window_get_slots (NautilusWindow *window)
{
- g_assert (NAUTILUS_IS_WINDOW (window));
+ g_assert (NAUTILUS_IS_WINDOW (window));
- return window->priv->slots;
+ return window->priv->slots;
}
static gboolean
-nautilus_window_state_event (GtkWidget *widget,
- GdkEventWindowState *event)
+nautilus_window_state_event (GtkWidget *widget,
+ GdkEventWindowState *event)
{
- if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED) {
- g_settings_set_boolean (nautilus_window_state, NAUTILUS_WINDOW_STATE_MAXIMIZED,
- event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED);
- }
+ if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED)
+ {
+ g_settings_set_boolean (nautilus_window_state, NAUTILUS_WINDOW_STATE_MAXIMIZED,
+ event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED);
+ }
- if (GTK_WIDGET_CLASS (nautilus_window_parent_class)->window_state_event != NULL) {
- return GTK_WIDGET_CLASS (nautilus_window_parent_class)->window_state_event (widget, event);
- }
+ if (GTK_WIDGET_CLASS (nautilus_window_parent_class)->window_state_event != NULL)
+ {
+ return GTK_WIDGET_CLASS (nautilus_window_parent_class)->window_state_event (widget, event);
+ }
- return FALSE;
+ return FALSE;
}
static gboolean
-nautilus_window_delete_event (GtkWidget *widget,
- GdkEventAny *event)
+nautilus_window_delete_event (GtkWidget *widget,
+ GdkEventAny *event)
{
- nautilus_window_close (NAUTILUS_WINDOW (widget));
- return FALSE;
+ nautilus_window_close (NAUTILUS_WINDOW (widget));
+ return FALSE;
}
static gboolean
-nautilus_window_button_press_event (GtkWidget *widget,
- GdkEventButton *event)
+nautilus_window_button_press_event (GtkWidget *widget,
+ GdkEventButton *event)
{
- NautilusWindow *window;
- gboolean handled;
+ NautilusWindow *window;
+ gboolean handled;
- window = NAUTILUS_WINDOW (widget);
+ window = NAUTILUS_WINDOW (widget);
- if (mouse_extra_buttons && (event->button == mouse_back_button)) {
- nautilus_window_back_or_forward (window, TRUE, 0, 0);
- handled = TRUE;
- } else if (mouse_extra_buttons && (event->button == mouse_forward_button)) {
- nautilus_window_back_or_forward (window, FALSE, 0, 0);
- handled = TRUE;
- } else if (GTK_WIDGET_CLASS (nautilus_window_parent_class)->button_press_event) {
- handled = GTK_WIDGET_CLASS (nautilus_window_parent_class)->button_press_event (widget, event);
- } else {
- handled = FALSE;
- }
- return handled;
+ if (mouse_extra_buttons && (event->button == mouse_back_button))
+ {
+ nautilus_window_back_or_forward (window, TRUE, 0, 0);
+ handled = TRUE;
+ }
+ else if (mouse_extra_buttons && (event->button == mouse_forward_button))
+ {
+ nautilus_window_back_or_forward (window, FALSE, 0, 0);
+ handled = TRUE;
+ }
+ else if (GTK_WIDGET_CLASS (nautilus_window_parent_class)->button_press_event)
+ {
+ handled = GTK_WIDGET_CLASS (nautilus_window_parent_class)->button_press_event (widget, event);
+ }
+ else
+ {
+ handled = FALSE;
+ }
+ return handled;
}
static void
mouse_back_button_changed (gpointer callback_data)
{
- int new_back_button;
+ int new_back_button;
- new_back_button = g_settings_get_int (nautilus_preferences, NAUTILUS_PREFERENCES_MOUSE_BACK_BUTTON);
+ new_back_button = g_settings_get_int (nautilus_preferences, NAUTILUS_PREFERENCES_MOUSE_BACK_BUTTON);
- /* Bounds checking */
- if (new_back_button < 6 || new_back_button > UPPER_MOUSE_LIMIT)
- return;
+ /* Bounds checking */
+ if (new_back_button < 6 || new_back_button > UPPER_MOUSE_LIMIT)
+ {
+ return;
+ }
- mouse_back_button = new_back_button;
+ mouse_back_button = new_back_button;
}
static void
mouse_forward_button_changed (gpointer callback_data)
{
- int new_forward_button;
+ int new_forward_button;
- new_forward_button = g_settings_get_int (nautilus_preferences, NAUTILUS_PREFERENCES_MOUSE_FORWARD_BUTTON);
+ new_forward_button = g_settings_get_int (nautilus_preferences, NAUTILUS_PREFERENCES_MOUSE_FORWARD_BUTTON);
- /* Bounds checking */
- if (new_forward_button < 6 || new_forward_button > UPPER_MOUSE_LIMIT)
- return;
+ /* Bounds checking */
+ if (new_forward_button < 6 || new_forward_button > UPPER_MOUSE_LIMIT)
+ {
+ return;
+ }
- mouse_forward_button = new_forward_button;
+ mouse_forward_button = new_forward_button;
}
static void
use_extra_mouse_buttons_changed (gpointer callback_data)
{
- mouse_extra_buttons = g_settings_get_boolean (nautilus_preferences, NAUTILUS_PREFERENCES_MOUSE_USE_EXTRA_BUTTONS);
+ mouse_extra_buttons = g_settings_get_boolean (nautilus_preferences, NAUTILUS_PREFERENCES_MOUSE_USE_EXTRA_BUTTONS);
}
static void
nautilus_window_init (NautilusWindow *window)
{
- GtkWindowGroup *window_group;
+ GtkWindowGroup *window_group;
- window->priv = nautilus_window_get_instance_private (window);
+ window->priv = nautilus_window_get_instance_private (window);
- g_type_ensure (NAUTILUS_TYPE_TOOLBAR);
- g_type_ensure (NAUTILUS_TYPE_NOTEBOOK);
- gtk_widget_init_template (GTK_WIDGET (window));
+ g_type_ensure (NAUTILUS_TYPE_TOOLBAR);
+ g_type_ensure (NAUTILUS_TYPE_NOTEBOOK);
+ gtk_widget_init_template (GTK_WIDGET (window));
- g_signal_connect_object (window->priv->notification_delete_close, "clicked",
- G_CALLBACK (nautilus_window_on_notification_delete_close_clicked), window, 0);
- g_signal_connect_object (window->priv->notification_delete_undo, "clicked",
- G_CALLBACK (nautilus_window_on_notification_delete_undo_clicked), window, 0);
+ g_signal_connect_object (window->priv->notification_delete_close, "clicked",
+ G_CALLBACK (nautilus_window_on_notification_delete_close_clicked), window, 0);
+ g_signal_connect_object (window->priv->notification_delete_undo, "clicked",
+ G_CALLBACK (nautilus_window_on_notification_delete_undo_clicked), window, 0);
- window->priv->slots = NULL;
- window->priv->active_slot = NULL;
+ window->priv->slots = NULL;
+ window->priv->active_slot = NULL;
- gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (window)),
- "nautilus-window");
+ gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (window)),
+ "nautilus-window");
- window_group = gtk_window_group_new ();
- gtk_window_group_add_window (window_group, GTK_WINDOW (window));
- g_object_unref (window_group);
+ window_group = gtk_window_group_new ();
+ gtk_window_group_add_window (window_group, GTK_WINDOW (window));
+ g_object_unref (window_group);
}
static void
real_window_close (NautilusWindow *window)
{
- g_return_if_fail (NAUTILUS_IS_WINDOW (window));
+ g_return_if_fail (NAUTILUS_IS_WINDOW (window));
- nautilus_window_save_geometry (window);
+ nautilus_window_save_geometry (window);
- gtk_widget_destroy (GTK_WIDGET (window));
+ gtk_widget_destroy (GTK_WIDGET (window));
}
static void
nautilus_window_class_init (NautilusWindowClass *class)
{
- GObjectClass *oclass = G_OBJECT_CLASS (class);
- GtkWidgetClass *wclass = GTK_WIDGET_CLASS (class);
-
- oclass->finalize = nautilus_window_finalize;
- oclass->constructed = nautilus_window_constructed;
- oclass->get_property = nautilus_window_get_property;
- oclass->set_property = nautilus_window_set_property;
-
- wclass->destroy = nautilus_window_destroy;
- wclass->show = nautilus_window_show;
- wclass->realize = nautilus_window_realize;
- wclass->key_press_event = nautilus_window_key_press_event;
- wclass->window_state_event = nautilus_window_state_event;
- wclass->button_press_event = nautilus_window_button_press_event;
- wclass->delete_event = nautilus_window_delete_event;
- wclass->grab_focus = nautilus_window_grab_focus;
-
- class->close = real_window_close;
- class->create_slot = real_create_slot;
-
- gtk_widget_class_set_template_from_resource (wclass,
- "/org/gnome/nautilus/ui/nautilus-window.ui");
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, toolbar);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, content_paned);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, sidebar);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, places_sidebar);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, main_view);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notebook);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_delete);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_delete_label);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_delete_undo);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_delete_close);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_operation);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_operation_label);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_operation_open);
- gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_operation_close);
-
- gtk_widget_class_bind_template_callback (wclass, places_sidebar_show_other_locations_with_flags);
-
- properties[PROP_DISABLE_CHROME] =
- g_param_spec_boolean ("disable-chrome",
- "Disable chrome",
- "Disable window chrome, for the desktop",
- FALSE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS);
- signals[SLOT_ADDED] =
- g_signal_new ("slot-added",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- 0,
- NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1, NAUTILUS_TYPE_WINDOW_SLOT);
- signals[SLOT_REMOVED] =
- g_signal_new ("slot-removed",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- 0,
- NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1, NAUTILUS_TYPE_WINDOW_SLOT);
-
- g_signal_connect_swapped (nautilus_preferences,
- "changed::" NAUTILUS_PREFERENCES_MOUSE_BACK_BUTTON,
- G_CALLBACK(mouse_back_button_changed),
- NULL);
-
- g_signal_connect_swapped (nautilus_preferences,
- "changed::" NAUTILUS_PREFERENCES_MOUSE_FORWARD_BUTTON,
- G_CALLBACK(mouse_forward_button_changed),
- NULL);
-
- g_signal_connect_swapped (nautilus_preferences,
- "changed::" NAUTILUS_PREFERENCES_MOUSE_USE_EXTRA_BUTTONS,
- G_CALLBACK(use_extra_mouse_buttons_changed),
- NULL);
-
- gtk_widget_class_bind_template_callback (wclass, on_notification_operation_open_clicked);
- gtk_widget_class_bind_template_callback (wclass, on_notification_operation_close_clicked);
-
- g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
+ GObjectClass *oclass = G_OBJECT_CLASS (class);
+ GtkWidgetClass *wclass = GTK_WIDGET_CLASS (class);
+
+ oclass->finalize = nautilus_window_finalize;
+ oclass->constructed = nautilus_window_constructed;
+ oclass->get_property = nautilus_window_get_property;
+ oclass->set_property = nautilus_window_set_property;
+
+ wclass->destroy = nautilus_window_destroy;
+ wclass->show = nautilus_window_show;
+ wclass->realize = nautilus_window_realize;
+ wclass->key_press_event = nautilus_window_key_press_event;
+ wclass->window_state_event = nautilus_window_state_event;
+ wclass->button_press_event = nautilus_window_button_press_event;
+ wclass->delete_event = nautilus_window_delete_event;
+ wclass->grab_focus = nautilus_window_grab_focus;
+
+ class->close = real_window_close;
+ class->create_slot = real_create_slot;
+
+ gtk_widget_class_set_template_from_resource (wclass,
+ "/org/gnome/nautilus/ui/nautilus-window.ui");
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, toolbar);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, content_paned);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, sidebar);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, places_sidebar);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, main_view);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notebook);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_delete);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_delete_label);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_delete_undo);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_delete_close);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_operation);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_operation_label);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_operation_open);
+ gtk_widget_class_bind_template_child_private (wclass, NautilusWindow, notification_operation_close);
+
+ gtk_widget_class_bind_template_callback (wclass, places_sidebar_show_other_locations_with_flags);
+
+ properties[PROP_DISABLE_CHROME] =
+ g_param_spec_boolean ("disable-chrome",
+ "Disable chrome",
+ "Disable window chrome, for the desktop",
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+ signals[SLOT_ADDED] =
+ g_signal_new ("slot-added",
+ G_TYPE_FROM_CLASS (class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1, NAUTILUS_TYPE_WINDOW_SLOT);
+ signals[SLOT_REMOVED] =
+ g_signal_new ("slot-removed",
+ G_TYPE_FROM_CLASS (class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1, NAUTILUS_TYPE_WINDOW_SLOT);
+
+ g_signal_connect_swapped (nautilus_preferences,
+ "changed::" NAUTILUS_PREFERENCES_MOUSE_BACK_BUTTON,
+ G_CALLBACK (mouse_back_button_changed),
+ NULL);
+
+ g_signal_connect_swapped (nautilus_preferences,
+ "changed::" NAUTILUS_PREFERENCES_MOUSE_FORWARD_BUTTON,
+ G_CALLBACK (mouse_forward_button_changed),
+ NULL);
+
+ g_signal_connect_swapped (nautilus_preferences,
+ "changed::" NAUTILUS_PREFERENCES_MOUSE_USE_EXTRA_BUTTONS,
+ G_CALLBACK (use_extra_mouse_buttons_changed),
+ NULL);
+
+ gtk_widget_class_bind_template_callback (wclass, on_notification_operation_open_clicked);
+ gtk_widget_class_bind_template_callback (wclass, on_notification_operation_close_clicked);
+
+ g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
}
NautilusWindow *
nautilus_window_new (GdkScreen *screen)
{
- return g_object_new (NAUTILUS_TYPE_WINDOW,
- "screen", screen,
- NULL);
+ return g_object_new (NAUTILUS_TYPE_WINDOW,
+ "screen", screen,
+ NULL);
}
NautilusWindowOpenFlags
nautilus_event_get_window_open_flags (void)
{
- NautilusWindowOpenFlags flags = 0;
- GdkEvent *event;
+ NautilusWindowOpenFlags flags = 0;
+ GdkEvent *event;
- event = gtk_get_current_event ();
+ event = gtk_get_current_event ();
- if (event == NULL) {
- return flags;
- }
+ if (event == NULL)
+ {
+ return flags;
+ }
- if ((event->type == GDK_BUTTON_PRESS || event->type == GDK_BUTTON_RELEASE) &&
- (event->button.button == 2)) {
- flags |= NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB;
- }
+ if ((event->type == GDK_BUTTON_PRESS || event->type == GDK_BUTTON_RELEASE) &&
+ (event->button.button == 2))
+ {
+ flags |= NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB;
+ }
- gdk_event_free (event);
+ gdk_event_free (event);
- return flags;
+ return flags;
}
void
nautilus_window_show_about_dialog (NautilusWindow *window)
{
- const gchar *authors[] = {
- "Alexander Larsson",
- "Ali Abdin",
- "Anders Carlsson",
- "Andrew Walton",
- "Andy Hertzfeld",
- "Arlo Rose",
- "Christian Neumair",
- "Cosimo Cecchi",
- "Darin Adler",
- "David Camp",
- "Eli Goldberg",
- "Elliot Lee",
- "Eskil Heyn Olsen",
- "Ettore Perazzoli",
- "Gene Z. Ragan",
- "George Lebl",
- "Ian McKellar",
- "J Shane Culpepper",
- "James Willcox",
- "Jan Arne Petersen",
- "John Harper",
- "John Sullivan",
- "Josh Barrow",
- "Maciej Stachowiak",
- "Mark McLoughlin",
- "Mathieu Lacage",
- "Mike Engber",
- "Mike Fleming",
- "Pavel Cisler",
- "Ramiro Estrugo",
- "Raph Levien",
- "Rebecca Schulman",
- "Robey Pointer",
- "Robin * Slomkowski",
- "Seth Nickell",
- "Susan Kare",
- "Tomas Bzatek",
- "William Jon McCann",
- NULL
- };
- const gchar *documenters[] = {
- "GNOME Documentation Team",
- "Sun Microsystems",
- NULL
- };
-
- gtk_show_about_dialog (window ? GTK_WINDOW (window) : NULL,
- "program-name", _("Files"),
- "version", VERSION,
- "comments", _("Access and organize your files."),
- "copyright", "Copyright © 1999–2016 The Files Authors",
- "license-type", GTK_LICENSE_GPL_2_0,
- "authors", authors,
- "documenters", documenters,
- /* Translators should localize the following string
- * which will be displayed at the bottom of the about
- * box to give credit to the translator(s).
- */
- "translator-credits", _("translator-credits"),
- "logo-icon-name", "system-file-manager",
- NULL);
+ const gchar *authors[] =
+ {
+ "Alexander Larsson",
+ "Ali Abdin",
+ "Anders Carlsson",
+ "Andrew Walton",
+ "Andy Hertzfeld",
+ "Arlo Rose",
+ "Christian Neumair",
+ "Cosimo Cecchi",
+ "Darin Adler",
+ "David Camp",
+ "Eli Goldberg",
+ "Elliot Lee",
+ "Eskil Heyn Olsen",
+ "Ettore Perazzoli",
+ "Gene Z. Ragan",
+ "George Lebl",
+ "Ian McKellar",
+ "J Shane Culpepper",
+ "James Willcox",
+ "Jan Arne Petersen",
+ "John Harper",
+ "John Sullivan",
+ "Josh Barrow",
+ "Maciej Stachowiak",
+ "Mark McLoughlin",
+ "Mathieu Lacage",
+ "Mike Engber",
+ "Mike Fleming",
+ "Pavel Cisler",
+ "Ramiro Estrugo",
+ "Raph Levien",
+ "Rebecca Schulman",
+ "Robey Pointer",
+ "Robin * Slomkowski",
+ "Seth Nickell",
+ "Susan Kare",
+ "Tomas Bzatek",
+ "William Jon McCann",
+ NULL
+ };
+ const gchar *documenters[] =
+ {
+ "GNOME Documentation Team",
+ "Sun Microsystems",
+ NULL
+ };
+
+ gtk_show_about_dialog (window ? GTK_WINDOW (window) : NULL,
+ "program-name", _("Files"),
+ "version", VERSION,
+ "comments", _("Access and organize your files."),
+ "copyright", "Copyright © 1999–2016 The Files Authors",
+ "license-type", GTK_LICENSE_GPL_2_0,
+ "authors", authors,
+ "documenters", documenters,
+ /* Translators should localize the following string
+ * which will be displayed at the bottom of the about
+ * box to give credit to the translator(s).
+ */
+ "translator-credits", _("translator-credits"),
+ "logo-icon-name", "system-file-manager",
+ NULL);
}
void
nautilus_window_search (NautilusWindow *window,
const gchar *text)
{
- NautilusWindowSlot *active_slot;
+ NautilusWindowSlot *active_slot;
- active_slot = nautilus_window_get_active_slot (window);
- if (active_slot)
- nautilus_window_slot_search (active_slot, text);
- else
- g_warning ("Trying search on a slot but no active slot present");
+ active_slot = nautilus_window_get_active_slot (window);
+ if (active_slot)
+ {
+ nautilus_window_slot_search (active_slot, text);
+ }
+ else
+ {
+ g_warning ("Trying search on a slot but no active slot present");
+ }
}