[nautilus] window: port to G_DECLARE_*_TYPE decl
- From: Ernestas Kulik <ernestask src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] window: port to G_DECLARE_*_TYPE decl
- Date: Sat, 6 May 2017 11:50:20 +0000 (UTC)
commit ff7e8f76256b8ed7bc6a2a0c1eb0ba00f477cfdd
Author: Waqar Ahmed <waqar 17a gmail com>
Date: Fri May 5 19:55:40 2017 +0500
window: port to G_DECLARE_*_TYPE decl
This patch ports the manual definition of macros to G_Declare type
declaration, which makes the code cleaner and easier to read and
understand.
https://bugzilla.gnome.org/show_bug.cgi?id=782204
src/nautilus-window.c | 522 +++++++++++++++++++++++++++++++++----------------
src/nautilus-window.h | 34 +---
2 files changed, 359 insertions(+), 197 deletions(-)
---
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index eeb362a..585a91f 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -93,7 +93,7 @@ static void close_slot (NautilusWindow *window,
#define NOTIFICATION_TIMEOUT 6 /*s */
-struct _NautilusWindowPrivate
+typedef struct
{
GtkWidget *notebook;
@@ -139,7 +139,7 @@ struct _NautilusWindowPrivate
guint sidebar_width_handler_id;
guint bookmarks_id;
-};
+} NautilusWindowPrivate;
enum
{
@@ -319,8 +319,11 @@ action_tab_previous (GSimpleAction *action,
gpointer user_data)
{
NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
- nautilus_notebook_prev_page (NAUTILUS_NOTEBOOK (window->priv->notebook));
+ nautilus_notebook_prev_page (NAUTILUS_NOTEBOOK (priv->notebook));
}
static void
@@ -329,8 +332,11 @@ action_tab_next (GSimpleAction *action,
gpointer user_data)
{
NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
- nautilus_notebook_next_page (NAUTILUS_NOTEBOOK (window->priv->notebook));
+ nautilus_notebook_next_page (NAUTILUS_NOTEBOOK (priv->notebook));
}
static void
@@ -339,8 +345,11 @@ action_tab_move_left (GSimpleAction *action,
gpointer user_data)
{
NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
- nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), -1);
+ priv = nautilus_window_get_instance_private (window);
+
+ nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (priv->notebook), -1);
}
static void
@@ -349,8 +358,11 @@ action_tab_move_right (GSimpleAction *action,
gpointer user_data)
{
NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
- nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), 1);
+ nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (priv->notebook), 1);
}
static void
@@ -359,10 +371,12 @@ action_go_to_tab (GSimpleAction *action,
gpointer user_data)
{
NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+ NautilusWindowPrivate *priv;
GtkNotebook *notebook;
gint16 num;
- notebook = GTK_NOTEBOOK (window->priv->notebook);
+ priv = nautilus_window_get_instance_private (window);
+ notebook = GTK_NOTEBOOK (priv->notebook);
num = g_variant_get_int32 (value);
if (num < gtk_notebook_get_n_pages (notebook))
@@ -436,7 +450,11 @@ action_toggle_state_view_button (GSimpleAction *action,
static void
on_location_changed (NautilusWindow *window)
{
- gtk_places_sidebar_set_location (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ gtk_places_sidebar_set_location (GTK_PLACES_SIDEBAR (priv->places_sidebar),
nautilus_window_slot_get_location (nautilus_window_get_active_slot
(window)));
}
@@ -459,8 +477,10 @@ notebook_switch_page_cb (GtkNotebook *notebook,
{
NautilusWindowSlot *slot;
GtkWidget *widget;
+ NautilusWindowPrivate *priv;
- widget = gtk_notebook_get_nth_page (GTK_NOTEBOOK (window->priv->notebook), page_num);
+ priv = nautilus_window_get_instance_private (window);
+ widget = gtk_notebook_get_nth_page (GTK_NOTEBOOK (priv->notebook), page_num);
g_assert (widget != NULL);
/* find slot corresponding to the target page */
@@ -545,25 +565,29 @@ nautilus_window_initialize_slot (NautilusWindow *window,
NautilusWindowSlot *slot,
NautilusWindowOpenFlags flags)
{
+ NautilusWindowPrivate *priv;
+
g_assert (NAUTILUS_IS_WINDOW (window));
g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
+ priv = nautilus_window_get_instance_private (window);
+
connect_slot (window, slot);
- g_signal_handlers_block_by_func (window->priv->notebook,
+ g_signal_handlers_block_by_func (priv->notebook,
G_CALLBACK (notebook_switch_page_cb),
window);
- nautilus_notebook_add_tab (NAUTILUS_NOTEBOOK (window->priv->notebook),
+ nautilus_notebook_add_tab (NAUTILUS_NOTEBOOK (priv->notebook),
slot,
(flags & NAUTILUS_WINDOW_OPEN_SLOT_APPEND) != 0 ?
-1 :
- gtk_notebook_get_current_page (GTK_NOTEBOOK (window->priv->notebook)) + 1,
+ gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)) + 1,
FALSE);
- g_signal_handlers_unblock_by_func (window->priv->notebook,
+ g_signal_handlers_unblock_by_func (priv->notebook,
G_CALLBACK (notebook_switch_page_cb),
window);
- window->priv->slots = g_list_append (window->priv->slots, slot);
+ priv->slots = g_list_append (priv->slots, slot);
g_signal_emit (window, signals[SLOT_ADDED], 0, slot);
}
@@ -654,27 +678,32 @@ bookmark_list_get_uri_index (GList *list,
static void
unset_focus_widget (NautilusWindow *window)
{
- if (window->priv->last_focus_widget != NULL)
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+ if (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;
+ g_object_remove_weak_pointer (G_OBJECT (priv->last_focus_widget),
+ (gpointer *) &priv->last_focus_widget);
+ priv->last_focus_widget = NULL;
}
}
static void
remember_focus_widget (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
GtkWidget *focus_widget;
+ priv = nautilus_window_get_instance_private (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;
+ priv->last_focus_widget = focus_widget;
g_object_add_weak_pointer (G_OBJECT (focus_widget),
- (gpointer *) &(window->priv->last_focus_widget));
+ (gpointer *) &(priv->last_focus_widget));
}
}
@@ -696,9 +725,13 @@ nautilus_window_grab_focus (GtkWidget *widget)
static void
restore_focus_widget (NautilusWindow *window)
{
- if (window->priv->last_focus_widget != NULL)
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ if (priv->last_focus_widget != NULL)
{
- gtk_widget_grab_focus (window->priv->last_focus_widget);
+ gtk_widget_grab_focus (priv->last_focus_widget);
unset_focus_widget (window);
}
}
@@ -707,7 +740,11 @@ static void
location_entry_cancel_callback (GtkWidget *widget,
NautilusWindow *window)
{
- nautilus_toolbar_set_show_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar), FALSE);
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ nautilus_toolbar_set_show_location_entry (NAUTILUS_TOOLBAR (priv->toolbar), FALSE);
restore_focus_widget (window);
}
@@ -717,7 +754,11 @@ location_entry_location_changed_callback (GtkWidget *widget,
GFile *location,
NautilusWindow *window)
{
- nautilus_toolbar_set_show_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar), FALSE);
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ nautilus_toolbar_set_show_location_entry (NAUTILUS_TOOLBAR (priv->toolbar), FALSE);
restore_focus_widget (window);
@@ -729,20 +770,23 @@ close_slot (NautilusWindow *window,
NautilusWindowSlot *slot,
gboolean remove_from_notebook)
{
+ NautilusWindowPrivate *priv;
int page_num;
GtkNotebook *notebook;
g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
+ priv = nautilus_window_get_instance_private (window);
+
DEBUG ("Closing slot %p", slot);
disconnect_slot (window, slot);
- window->priv->slots = g_list_remove (window->priv->slots, slot);
+ priv->slots = g_list_remove (priv->slots, slot);
g_signal_emit (window, signals[SLOT_REMOVED], 0, slot);
- notebook = GTK_NOTEBOOK (window->priv->notebook);
+ notebook = GTK_NOTEBOOK (priv->notebook);
if (remove_from_notebook)
{
@@ -833,6 +877,7 @@ nautilus_window_sync_allow_stop (NautilusWindow *window,
GAction *stop_action;
GAction *reload_action;
gboolean allow_stop, slot_is_active, slot_allow_stop;
+ NautilusWindowPrivate *priv;
stop_action = g_action_map_lookup_action (G_ACTION_MAP (window),
"stop");
@@ -843,6 +888,8 @@ nautilus_window_sync_allow_stop (NautilusWindow *window,
slot_allow_stop = nautilus_window_slot_get_allow_stop (slot);
slot_is_active = (slot == nautilus_window_get_active_slot (window));
+ priv = nautilus_window_get_instance_private (window);
+
if (!slot_is_active ||
allow_stop != slot_allow_stop)
{
@@ -858,9 +905,9 @@ nautilus_window_sync_allow_stop (NautilusWindow *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))
+ if (nautilus_notebook_contains_slot (NAUTILUS_NOTEBOOK (priv->notebook), slot))
{
- nautilus_notebook_sync_loading (NAUTILUS_NOTEBOOK (window->priv->notebook), slot);
+ nautilus_notebook_sync_loading (NAUTILUS_NOTEBOOK (priv->notebook), slot);
}
}
}
@@ -868,21 +915,28 @@ nautilus_window_sync_allow_stop (NautilusWindow *window,
GtkWidget *
nautilus_window_get_notebook (NautilusWindow *window)
{
- return window->priv->notebook;
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ return priv->notebook;
}
static gboolean
save_sidebar_width_cb (gpointer user_data)
{
NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
- window->priv->sidebar_width_handler_id = 0;
+ priv->sidebar_width_handler_id = 0;
- DEBUG ("Saving sidebar width: %d", window->priv->side_pane_width);
+ DEBUG ("Saving sidebar width: %d", priv->side_pane_width);
g_settings_set_int (nautilus_window_state,
NAUTILUS_WINDOW_STATE_SIDEBAR_WIDTH,
- window->priv->side_pane_width);
+ priv->side_pane_width);
return FALSE;
}
@@ -893,22 +947,23 @@ side_pane_size_allocate_callback (GtkWidget *widget,
GtkAllocation *allocation,
gpointer user_data)
{
- NautilusWindow *window;
+ NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
- window = user_data;
+ priv = nautilus_window_get_instance_private (window);
- if (window->priv->sidebar_width_handler_id != 0)
+ if (priv->sidebar_width_handler_id != 0)
{
- g_source_remove (window->priv->sidebar_width_handler_id);
- window->priv->sidebar_width_handler_id = 0;
+ g_source_remove (priv->sidebar_width_handler_id);
+ priv->sidebar_width_handler_id = 0;
}
- if (allocation->width != window->priv->side_pane_width &&
+ if (allocation->width != priv->side_pane_width &&
allocation->width > 1)
{
- window->priv->side_pane_width = allocation->width;
+ priv->side_pane_width = allocation->width;
- window->priv->sidebar_width_handler_id =
+ priv->sidebar_width_handler_id =
g_idle_add (save_sidebar_width_cb, window);
}
}
@@ -916,14 +971,18 @@ side_pane_size_allocate_callback (GtkWidget *widget,
static void
setup_side_pane_width (NautilusWindow *window)
{
- g_return_if_fail (window->priv->sidebar != NULL);
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ g_return_if_fail (priv->sidebar != NULL);
- window->priv->side_pane_width =
+ 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 (priv->content_paned),
+ priv->side_pane_width);
}
/* Callback used when the places sidebar changes location; we need to change the displayed folder */
@@ -1110,7 +1169,11 @@ void
nautilus_window_start_dnd (NautilusWindow *window,
GdkDragContext *context)
{
- gtk_places_sidebar_set_drop_targets_visible (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ gtk_places_sidebar_set_drop_targets_visible (GTK_PLACES_SIDEBAR (priv->places_sidebar),
TRUE,
context);
}
@@ -1119,7 +1182,11 @@ void
nautilus_window_end_dnd (NautilusWindow *window,
GdkDragContext *context)
{
- gtk_places_sidebar_set_drop_targets_visible (GTK_PLACES_SIDEBAR (window->priv->places_sidebar),
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ gtk_places_sidebar_set_drop_targets_visible (GTK_PLACES_SIDEBAR (priv->places_sidebar),
FALSE,
context);
}
@@ -1236,16 +1303,18 @@ action_properties (GSimpleAction *action,
gpointer user_data)
{
NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+ NautilusWindowPrivate *priv;
GList *list;
NautilusFile *file;
- file = nautilus_file_get (window->priv->selected_file);
+ priv = nautilus_window_get_instance_private (window);
+ file = nautilus_file_get (priv->selected_file);
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 (&priv->selected_file);
}
static gboolean
@@ -1280,11 +1349,13 @@ action_format (GSimpleAction *action,
gpointer user_data)
{
NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+ NautilusWindowPrivate *priv;
GAppInfo *app_info;
gchar *cmdline, *device_identifier, *xid_string;
gint xid;
- device_identifier = g_volume_get_identifier (window->priv->selected_volume,
+ priv = nautilus_window_get_instance_private (window);
+ device_identifier = g_volume_get_identifier (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);
@@ -1301,7 +1372,7 @@ action_format (GSimpleAction *action,
g_free (device_identifier);
g_free (xid_string);
g_clear_object (&app_info);
- g_clear_object (&window->priv->selected_volume);
+ g_clear_object (&priv->selected_volume);
}
static void
@@ -1322,12 +1393,15 @@ places_sidebar_populate_popup_cb (GtkPlacesSidebar *sidebar,
gpointer user_data)
{
NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+ NautilusWindowPrivate *priv;
GFile *trash;
GtkWidget *menu_item;
GAction *action;
- g_clear_object (&window->priv->selected_file);
- g_clear_object (&window->priv->selected_volume);
+ priv = nautilus_window_get_instance_private (window);
+
+ g_clear_object (&priv->selected_file);
+ g_clear_object (&priv->selected_volume);
if (selected_file)
{
@@ -1352,7 +1426,7 @@ places_sidebar_populate_popup_cb (GtkPlacesSidebar *sidebar,
if (g_file_is_native (selected_file))
{
- window->priv->selected_file = g_object_ref (selected_file);
+ priv->selected_file = g_object_ref (selected_file);
add_menu_separator (menu);
menu_item = gtk_model_button_new ();
@@ -1373,7 +1447,7 @@ places_sidebar_populate_popup_cb (GtkPlacesSidebar *sidebar,
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);
+ priv->selected_volume = g_object_ref (selected_volume);
}
gtk_container_add (GTK_CONTAINER (menu), menu_item);
gtk_widget_show (menu_item);
@@ -1390,65 +1464,80 @@ places_sidebar_populate_popup_cb (GtkPlacesSidebar *sidebar,
static void
nautilus_window_set_up_sidebar (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
setup_side_pane_width (window);
- g_signal_connect (window->priv->sidebar,
+ g_signal_connect (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_sidebar_set_open_flags (GTK_PLACES_SIDEBAR (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_signal_connect_swapped (priv->places_sidebar, "open-location",
G_CALLBACK (open_location_cb), window);
- g_signal_connect (window->priv->places_sidebar, "show-error-message",
+ g_signal_connect (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_signal_connect (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_signal_connect (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_signal_connect (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_signal_connect (priv->places_sidebar, "populate-popup",
G_CALLBACK (places_sidebar_populate_popup_cb), window);
- g_signal_connect (window->priv->places_sidebar, "unmount",
+ g_signal_connect (priv->places_sidebar, "unmount",
G_CALLBACK (places_sidebar_unmount_operation_cb), window);
}
void
nautilus_window_hide_sidebar (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
+
DEBUG ("Called hide_sidebar()");
- gtk_widget_hide (window->priv->sidebar);
+ priv = nautilus_window_get_instance_private (window);
+
+ gtk_widget_hide (priv->sidebar);
}
void
nautilus_window_show_sidebar (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
+
DEBUG ("Called show_sidebar()");
- if (window->priv->disable_chrome)
+ priv = nautilus_window_get_instance_private (window);
+
+ if (priv->disable_chrome)
{
return;
}
- gtk_widget_show (window->priv->sidebar);
+ gtk_widget_show (priv->sidebar);
setup_side_pane_width (window);
}
static inline NautilusWindowSlot *
get_first_inactive_slot (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
GList *l;
NautilusWindowSlot *slot;
- for (l = window->priv->slots; l != NULL; l = l->next)
+ priv = nautilus_window_get_instance_private (window);
+
+ for (l = priv->slots; l != NULL; l = l->next)
{
slot = NAUTILUS_WINDOW_SLOT (l->data);
- if (slot != window->priv->active_slot)
+ if (slot != priv->active_slot)
{
return slot;
}
@@ -1461,6 +1550,7 @@ void
nautilus_window_slot_close (NautilusWindow *window,
NautilusWindowSlot *slot)
{
+ NautilusWindowPrivate *priv;
NautilusWindowSlot *next_slot;
DEBUG ("Requesting to remove slot %p from window %p", slot, window);
@@ -1469,7 +1559,9 @@ nautilus_window_slot_close (NautilusWindow *window,
return;
}
- if (window->priv->active_slot == slot)
+ priv = nautilus_window_get_instance_private (window);
+
+ if (priv->active_slot == slot)
{
next_slot = get_first_inactive_slot (window);
nautilus_window_set_active_slot (window, next_slot);
@@ -1478,7 +1570,7 @@ nautilus_window_slot_close (NautilusWindow *window,
close_slot (window, slot, TRUE);
/* If that was the last slot in the window, close the window. */
- if (window->priv->slots == NULL)
+ if (priv->slots == NULL)
{
DEBUG ("Last slot removed, closing the window");
nautilus_window_close (window);
@@ -1488,13 +1580,15 @@ nautilus_window_slot_close (NautilusWindow *window,
static void
nautilus_window_sync_bookmarks (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
gboolean can_bookmark = FALSE;
NautilusWindowSlot *slot;
NautilusBookmarkList *bookmarks;
GAction *action;
GFile *location;
- slot = window->priv->active_slot;
+ priv = nautilus_window_get_instance_private (window);
+ slot = priv->active_slot;
location = nautilus_window_slot_get_location (slot);
if (location != NULL)
@@ -1511,12 +1605,14 @@ nautilus_window_sync_bookmarks (NautilusWindow *window)
void
nautilus_window_sync_location_widgets (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
NautilusWindowSlot *slot;
GFile *location;
GAction *action;
gboolean enabled;
- slot = window->priv->active_slot;
+ priv = nautilus_window_get_instance_private (window);
+ slot = priv->active_slot;
location = nautilus_window_slot_get_location (slot);
/* Change the location bar and path bar to match the current location. */
@@ -1525,10 +1621,10 @@ nautilus_window_sync_location_widgets (NautilusWindow *window)
GtkWidget *location_entry;
GtkWidget *path_bar;
- location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (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));
+ path_bar = nautilus_toolbar_get_path_bar (NAUTILUS_TOOLBAR (priv->toolbar));
nautilus_path_bar_set_path (NAUTILUS_PATH_BAR (path_bar), location);
}
@@ -1546,13 +1642,16 @@ nautilus_window_sync_location_widgets (NautilusWindow *window)
static GtkWidget *
nautilus_window_ensure_location_entry (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
GtkWidget *location_entry;
+ priv = nautilus_window_get_instance_private (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 (priv->toolbar), TRUE);
- location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (priv->toolbar));
gtk_widget_grab_focus (location_entry);
return location_entry;
@@ -1561,46 +1660,52 @@ nautilus_window_ensure_location_entry (NautilusWindow *window)
static void
remove_notifications (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
GtkRevealerTransitionType transition_type;
+ priv = nautilus_window_get_instance_private (window);
/* 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),
+ transition_type = gtk_revealer_get_transition_type (GTK_REVEALER (priv->notification_delete));
+ gtk_revealer_set_transition_type (GTK_REVEALER (priv->notification_delete),
GTK_REVEALER_TRANSITION_TYPE_NONE);
- gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_delete),
+ gtk_revealer_set_reveal_child (GTK_REVEALER (priv->notification_delete),
FALSE);
- gtk_revealer_set_transition_type (GTK_REVEALER (window->priv->notification_delete),
+ gtk_revealer_set_transition_type (GTK_REVEALER (priv->notification_delete),
transition_type);
- if (window->priv->notification_delete_timeout_id != 0)
+ if (priv->notification_delete_timeout_id != 0)
{
- g_source_remove (window->priv->notification_delete_timeout_id);
- window->priv->notification_delete_timeout_id = 0;
+ g_source_remove (priv->notification_delete_timeout_id);
+ 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),
+ transition_type = gtk_revealer_get_transition_type (GTK_REVEALER (priv->notification_operation));
+ gtk_revealer_set_transition_type (GTK_REVEALER (priv->notification_operation),
GTK_REVEALER_TRANSITION_TYPE_NONE);
- gtk_revealer_set_reveal_child (GTK_REVEALER (window->priv->notification_operation),
+ gtk_revealer_set_reveal_child (GTK_REVEALER (priv->notification_operation),
FALSE);
- gtk_revealer_set_transition_type (GTK_REVEALER (window->priv->notification_operation),
+ gtk_revealer_set_transition_type (GTK_REVEALER (priv->notification_operation),
transition_type);
- if (window->priv->notification_operation_timeout_id != 0)
+ if (priv->notification_operation_timeout_id != 0)
{
- g_source_remove (window->priv->notification_operation_timeout_id);
- window->priv->notification_operation_timeout_id = 0;
+ g_source_remove (priv->notification_operation_timeout_id);
+ priv->notification_operation_timeout_id = 0;
}
}
static void
hide_notification_delete (NautilusWindow *window)
{
- if (window->priv->notification_delete_timeout_id != 0)
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ if (priv->notification_delete_timeout_id != 0)
{
- g_source_remove (window->priv->notification_delete_timeout_id);
- window->priv->notification_delete_timeout_id = 0;
+ g_source_remove (priv->notification_delete_timeout_id);
+ 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 (priv->notification_delete), FALSE);
}
static void
@@ -1657,18 +1762,20 @@ static void
nautilus_window_on_undo_changed (NautilusFileUndoManager *manager,
NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
NautilusFileUndoInfo *undo_info;
NautilusFileUndoManagerState state;
gchar *label;
GList *files;
+ priv = nautilus_window_get_instance_private (window);
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)
+ !priv->disable_chrome)
{
files = nautilus_file_undo_info_trash_get_files (NAUTILUS_FILE_UNDO_INFO_TRASH (undo_info));
@@ -1678,9 +1785,9 @@ nautilus_window_on_undo_changed (NautilusFileUndoManager *manager,
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,
+ gtk_label_set_markup (GTK_LABEL (priv->notification_delete_label), label);
+ gtk_revealer_set_reveal_child (GTK_REVEALER (priv->notification_delete), TRUE);
+ priv->notification_delete_timeout_id = g_timeout_add_seconds (NOTIFICATION_TIMEOUT,
(GSourceFunc)
nautilus_window_on_notification_delete_timeout,
window);
g_free (label);
@@ -1696,21 +1803,29 @@ nautilus_window_on_undo_changed (NautilusFileUndoManager *manager,
static void
hide_notification_operation (NautilusWindow *window)
{
- if (window->priv->notification_operation_timeout_id != 0)
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ if (priv->notification_operation_timeout_id != 0)
{
- g_source_remove (window->priv->notification_operation_timeout_id);
- window->priv->notification_operation_timeout_id = 0;
+ g_source_remove (priv->notification_operation_timeout_id);
+ 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 (priv->notification_operation), FALSE);
+ g_clear_object (&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,
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ nautilus_window_open_location_full (window, priv->folder_to_open,
0, NULL, NULL);
hide_notification_operation (window);
}
@@ -1735,39 +1850,41 @@ nautilus_window_show_operation_notification (NautilusWindow *window,
gchar *main_label,
GFile *folder_to_open)
{
+ NautilusWindowPrivate *priv;
gchar *button_label;
gchar *folder_name;
NautilusFile *folder;
GFile *current_location;
- current_location = nautilus_window_slot_get_location (window->priv->active_slot);
+ priv = nautilus_window_get_instance_private (window);
+ current_location = nautilus_window_slot_get_location (priv->active_slot);
if (gtk_window_has_toplevel_focus (GTK_WINDOW (window)) &&
- !window->priv->disable_chrome)
+ !priv->disable_chrome)
{
remove_notifications (window);
- gtk_label_set_text (GTK_LABEL (window->priv->notification_operation_label),
+ gtk_label_set_text (GTK_LABEL (priv->notification_operation_label),
main_label);
if (g_file_equal (folder_to_open, current_location))
{
- gtk_widget_hide (window->priv->notification_operation_open);
+ gtk_widget_hide (priv->notification_operation_open);
}
else
{
- gtk_widget_show (window->priv->notification_operation_open);
- window->priv->folder_to_open = g_object_ref (folder_to_open);
+ gtk_widget_show (priv->notification_operation_open);
+ 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),
+ gtk_button_set_label (GTK_BUTTON (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,
+ gtk_revealer_set_reveal_child (GTK_REVEALER (priv->notification_operation), TRUE);
+ priv->notification_operation_timeout_id = g_timeout_add_seconds (NOTIFICATION_TIMEOUT,
(GSourceFunc)
on_notification_operation_timeout,
window);
}
@@ -1778,10 +1895,12 @@ path_bar_location_changed_callback (GtkWidget *widget,
GFile *location,
NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
NautilusWindowSlot *slot;
int i;
- slot = window->priv->active_slot;
+ priv = nautilus_window_get_instance_private (window);
+ slot = 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)
@@ -1808,8 +1927,11 @@ notebook_popup_menu_move_left_cb (GtkMenuItem *menuitem,
gpointer user_data)
{
NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
- nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), -1);
+ priv = nautilus_window_get_instance_private (window);
+
+ nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (priv->notebook), -1);
}
static void
@@ -1817,8 +1939,11 @@ notebook_popup_menu_move_right_cb (GtkMenuItem *menuitem,
gpointer user_data)
{
NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
- nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (window->priv->notebook), 1);
+ nautilus_notebook_reorder_current_child_relative (NAUTILUS_NOTEBOOK (priv->notebook), 1);
}
static void
@@ -1826,9 +1951,11 @@ notebook_popup_menu_close_cb (GtkMenuItem *menuitem,
gpointer user_data)
{
NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
NautilusWindowSlot *slot;
- slot = window->priv->active_slot;
+ priv = nautilus_window_get_instance_private (window);
+ slot = priv->active_slot;
nautilus_window_slot_close (window, slot);
}
@@ -1836,12 +1963,14 @@ static void
notebook_popup_menu_show (NautilusWindow *window,
GdkEventButton *event)
{
+ NautilusWindowPrivate *priv;
GtkWidget *popup;
GtkWidget *item;
gboolean can_move_left, can_move_right;
NautilusNotebook *notebook;
- notebook = NAUTILUS_NOTEBOOK (window->priv->notebook);
+ priv = nautilus_window_get_instance_private (window);
+ notebook = NAUTILUS_NOTEBOOK (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);
@@ -1926,22 +2055,29 @@ notebook_popup_menu_cb (GtkWidget *widget,
GtkWidget *
nautilus_window_get_toolbar (NautilusWindow *window)
{
- return window->priv->toolbar;
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ return priv->toolbar;
}
static void
setup_toolbar (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
GtkWidget *path_bar;
GtkWidget *location_entry;
- g_object_set (window->priv->toolbar, "window", window, NULL);
+ priv = nautilus_window_get_instance_private (window);
+
+ g_object_set (priv->toolbar, "window", window, NULL);
g_object_bind_property (window, "disable-chrome",
- window->priv->toolbar, "visible",
+ priv->toolbar, "visible",
G_BINDING_INVERT_BOOLEAN);
/* connect to the pathbar signals */
- path_bar = nautilus_toolbar_get_path_bar (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ path_bar = nautilus_toolbar_get_path_bar (NAUTILUS_TOOLBAR (priv->toolbar));
g_signal_connect_object (path_bar, "path-clicked",
G_CALLBACK (path_bar_location_changed_callback), window, 0);
@@ -1949,7 +2085,7 @@ setup_toolbar (NautilusWindow *window)
G_CALLBACK (open_location_cb), window);
/* connect to the location entry signals */
- location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (window->priv->toolbar));
+ location_entry = nautilus_toolbar_get_location_entry (NAUTILUS_TOOLBAR (priv->toolbar));
g_signal_connect_object (location_entry, "location-changed",
G_CALLBACK (location_entry_location_changed_callback), window, 0);
@@ -1964,16 +2100,18 @@ notebook_page_removed_cb (GtkNotebook *notebook,
gpointer user_data)
{
NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
NautilusWindowSlot *slot = NAUTILUS_WINDOW_SLOT (page), *next_slot;
gboolean dnd_slot;
+ priv = nautilus_window_get_instance_private (window);
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)
+ if (priv->active_slot == slot)
{
next_slot = get_first_inactive_slot (window);
nautilus_window_set_active_slot (window, next_slot);
@@ -1989,10 +2127,12 @@ notebook_page_added_cb (GtkNotebook *notebook,
gpointer user_data)
{
NautilusWindow *window = user_data;
+ NautilusWindowPrivate *priv;
NautilusWindowSlot *slot = NAUTILUS_WINDOW_SLOT (page);
NautilusWindowSlot *dummy_slot;
gboolean dnd_slot;
+ priv = nautilus_window_get_instance_private (window);
dnd_slot = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (slot), "dnd-window-slot"));
if (!dnd_slot)
{
@@ -2003,12 +2143,12 @@ notebook_page_added_cb (GtkNotebook *notebook,
GINT_TO_POINTER (FALSE));
nautilus_window_slot_set_window (slot, window);
- window->priv->slots = g_list_append (window->priv->slots, slot);
+ priv->slots = g_list_append (priv->slots, slot);
g_signal_emit (window, signals[SLOT_ADDED], 0, slot);
nautilus_window_set_active_slot (window, slot);
- dummy_slot = g_list_nth_data (window->priv->slots, 0);
+ dummy_slot = g_list_nth_data (priv->slots, 0);
if (dummy_slot != NULL)
{
close_slot (window, dummy_slot, TRUE);
@@ -2026,6 +2166,7 @@ notebook_create_window_cb (GtkNotebook *notebook,
{
NautilusApplication *app;
NautilusWindow *new_window;
+ NautilusWindowPrivate *priv;
NautilusWindowSlot *slot;
if (!NAUTILUS_IS_WINDOW_SLOT (page))
@@ -2036,6 +2177,7 @@ notebook_create_window_cb (GtkNotebook *notebook,
app = NAUTILUS_APPLICATION (g_application_get_default ());
new_window = nautilus_application_create_window
(app, gtk_widget_get_screen (GTK_WIDGET (notebook)));
+ priv = nautilus_window_get_instance_private (new_window);
slot = NAUTILUS_WINDOW_SLOT (page);
g_object_set_data (G_OBJECT (slot), "dnd-window-slot",
@@ -2043,31 +2185,35 @@ notebook_create_window_cb (GtkNotebook *notebook,
gtk_window_set_position (GTK_WINDOW (new_window), GTK_WIN_POS_MOUSE);
- return GTK_NOTEBOOK (new_window->priv->notebook);
+ return GTK_NOTEBOOK (priv->notebook);
}
static void
setup_notebook (NautilusWindow *window)
{
- g_signal_connect (window->priv->notebook, "tab-close-request",
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ g_signal_connect (priv->notebook, "tab-close-request",
G_CALLBACK (notebook_tab_close_requested),
window);
- g_signal_connect (window->priv->notebook, "popup-menu",
+ g_signal_connect (priv->notebook, "popup-menu",
G_CALLBACK (notebook_popup_menu_cb),
window);
- g_signal_connect (window->priv->notebook, "switch-page",
+ g_signal_connect (priv->notebook, "switch-page",
G_CALLBACK (notebook_switch_page_cb),
window);
- g_signal_connect (window->priv->notebook, "create-window",
+ g_signal_connect (priv->notebook, "create-window",
G_CALLBACK (notebook_create_window_cb),
window);
- g_signal_connect (window->priv->notebook, "page-added",
+ g_signal_connect (priv->notebook, "page-added",
G_CALLBACK (notebook_page_added_cb),
window);
- g_signal_connect (window->priv->notebook, "page-removed",
+ g_signal_connect (priv->notebook, "page-removed",
G_CALLBACK (notebook_page_removed_cb),
window);
- g_signal_connect_after (window->priv->notebook, "button-press-event",
+ g_signal_connect_after (priv->notebook, "button-press-event",
G_CALLBACK (notebook_button_press_cb),
window);
}
@@ -2167,10 +2313,12 @@ static void
nautilus_window_constructed (GObject *self)
{
NautilusWindow *window;
+ NautilusWindowPrivate *priv;
NautilusWindowSlot *slot;
NautilusApplication *application;
window = NAUTILUS_WINDOW (self);
+ priv = nautilus_window_get_instance_private (window);
nautilus_profile_start (NULL);
@@ -2200,11 +2348,11 @@ nautilus_window_constructed (GObject *self)
nautilus_window_initialize_slot (window, slot, 0);
nautilus_window_set_active_slot (window, slot);
- window->priv->bookmarks_id =
+ 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 (priv->toolbar));
nautilus_profile_end (NULL);
}
@@ -2216,14 +2364,16 @@ nautilus_window_set_property (GObject *object,
GParamSpec *pspec)
{
NautilusWindow *window;
-
window = NAUTILUS_WINDOW (object);
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
switch (arg_id)
{
case PROP_DISABLE_CHROME:
{
- window->priv->disable_chrome = g_value_get_boolean (value);
+ priv->disable_chrome = g_value_get_boolean (value);
}
break;
@@ -2242,14 +2392,16 @@ nautilus_window_get_property (GObject *object,
GParamSpec *pspec)
{
NautilusWindow *window;
-
window = NAUTILUS_WINDOW (object);
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
switch (arg_id)
{
case PROP_DISABLE_CHROME:
{
- g_value_set_boolean (value, window->priv->disable_chrome);
+ g_value_set_boolean (value, priv->disable_chrome);
}
break;
}
@@ -2260,11 +2412,15 @@ sort_slots_active_last (NautilusWindowSlot *a,
NautilusWindowSlot *b,
NautilusWindow *window)
{
- if (window->priv->active_slot == a)
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
+ if (priv->active_slot == a)
{
return 1;
}
- if (window->priv->active_slot == b)
+ if (priv->active_slot == b)
{
return -1;
}
@@ -2285,16 +2441,18 @@ static void
nautilus_window_destroy (GtkWidget *object)
{
NautilusWindow *window;
+ NautilusWindowPrivate *priv;
NautilusApplication *application;
GList *slots_copy;
window = NAUTILUS_WINDOW (object);
+ priv = nautilus_window_get_instance_private (window);
DEBUG ("Destroying window");
/* close all slots safely */
- slots_copy = g_list_copy (window->priv->slots);
- if (window->priv->active_slot != NULL)
+ slots_copy = g_list_copy (priv->slots);
+ if (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 */
@@ -2304,16 +2462,16 @@ nautilus_window_destroy (GtkWidget *object)
g_list_free (slots_copy);
/* the slots list should now be empty */
- g_assert (window->priv->slots == NULL);
+ g_assert (priv->slots == NULL);
- window->priv->active_slot = NULL;
+ priv->active_slot = NULL;
- if (window->priv->bookmarks_id != 0)
+ if (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;
+ priv->bookmarks_id);
+ priv->bookmarks_id = 0;
}
GTK_WIDGET_CLASS (nautilus_window_parent_class)->destroy (object);
@@ -2323,36 +2481,38 @@ static void
nautilus_window_finalize (GObject *object)
{
NautilusWindow *window;
+ NautilusWindowPrivate *priv;
window = NAUTILUS_WINDOW (object);
+ priv = nautilus_window_get_instance_private (window);
- if (window->priv->sidebar_width_handler_id != 0)
+ if (priv->sidebar_width_handler_id != 0)
{
- g_source_remove (window->priv->sidebar_width_handler_id);
- window->priv->sidebar_width_handler_id = 0;
+ g_source_remove (priv->sidebar_width_handler_id);
+ priv->sidebar_width_handler_id = 0;
}
- if (window->priv->notification_delete_timeout_id != 0)
+ if (priv->notification_delete_timeout_id != 0)
{
- g_source_remove (window->priv->notification_delete_timeout_id);
- window->priv->notification_delete_timeout_id = 0;
+ g_source_remove (priv->notification_delete_timeout_id);
+ priv->notification_delete_timeout_id = 0;
}
- if (window->priv->notification_operation_timeout_id != 0)
+ if (priv->notification_operation_timeout_id != 0)
{
- g_source_remove (window->priv->notification_operation_timeout_id);
- window->priv->notification_operation_timeout_id = 0;
+ g_source_remove (priv->notification_operation_timeout_id);
+ priv->notification_operation_timeout_id = 0;
}
- g_clear_object (&window->priv->selected_file);
- g_clear_object (&window->priv->selected_volume);
+ g_clear_object (&priv->selected_file);
+ g_clear_object (&priv->selected_volume);
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);
+ g_assert (priv->slots == NULL);
G_OBJECT_CLASS (nautilus_window_parent_class)->finalize (object);
}
@@ -2395,10 +2555,13 @@ void
nautilus_window_set_active_slot (NautilusWindow *window,
NautilusWindowSlot *new_slot)
{
+ NautilusWindowPrivate *priv;
NautilusWindowSlot *old_slot;
g_assert (NAUTILUS_IS_WINDOW (window));
+ priv = nautilus_window_get_instance_private (window);
+
if (new_slot)
{
g_assert ((window == nautilus_window_slot_get_window (new_slot)));
@@ -2420,12 +2583,12 @@ nautilus_window_set_active_slot (NautilusWindow *window,
nautilus_window_slot_set_active (old_slot, FALSE);
}
- window->priv->active_slot = new_slot;
+ 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);
+ nautilus_toolbar_set_active_slot (NAUTILUS_TOOLBAR (priv->toolbar), new_slot);
/* inform slot & view */
nautilus_window_slot_set_active (new_slot, TRUE);
@@ -2446,10 +2609,12 @@ nautilus_window_key_press_event (GtkWidget *widget,
GdkEventKey *event)
{
NautilusWindow *window;
+ NautilusWindowPrivate *priv;
GtkWidget *focus_widget;
int i;
window = NAUTILUS_WINDOW (widget);
+ priv = nautilus_window_get_instance_private (window);
focus_widget = gtk_window_get_focus (GTK_WINDOW (window));
if (focus_widget != NULL && GTK_IS_EDITABLE (focus_widget))
@@ -2487,7 +2652,7 @@ nautilus_window_key_press_event (GtkWidget *widget,
return TRUE;
}
- if (nautilus_window_slot_handle_event (window->priv->active_slot, event))
+ if (nautilus_window_slot_handle_event (priv->active_slot, event))
{
return TRUE;
}
@@ -2499,6 +2664,10 @@ void
nautilus_window_sync_title (NautilusWindow *window,
NautilusWindowSlot *slot)
{
+ NautilusWindowPrivate *priv;
+
+ priv = nautilus_window_get_instance_private (window);
+
if (NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS (window))->sync_title != NULL)
{
NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS (window))->sync_title (window, slot);
@@ -2511,7 +2680,7 @@ nautilus_window_sync_title (NautilusWindow *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 (priv->notebook), slot);
}
/**
@@ -2530,17 +2699,25 @@ nautilus_window_show (GtkWidget *widget)
NautilusWindowSlot *
nautilus_window_get_active_slot (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
+
g_assert (NAUTILUS_IS_WINDOW (window));
- return window->priv->active_slot;
+ priv = nautilus_window_get_instance_private (window);
+
+ return priv->active_slot;
}
GList *
nautilus_window_get_slots (NautilusWindow *window)
{
+ NautilusWindowPrivate *priv;
+
g_assert (NAUTILUS_IS_WINDOW (window));
- return window->priv->slots;
+ priv = nautilus_window_get_instance_private (window);
+
+ return priv->slots;
}
static gboolean
@@ -2641,20 +2818,21 @@ static void
nautilus_window_init (NautilusWindow *window)
{
GtkWindowGroup *window_group;
+ NautilusWindowPrivate *priv;
- window->priv = nautilus_window_get_instance_private (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_signal_connect_object (window->priv->notification_delete_close, "clicked",
+ g_signal_connect_object (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_signal_connect_object (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;
+ priv->slots = NULL;
+ priv->active_slot = NULL;
gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (window)),
"nautilus-window");
diff --git a/src/nautilus-window.h b/src/nautilus-window.h
index b6095f5..39b16e7 100644
--- a/src/nautilus-window.h
+++ b/src/nautilus-window.h
@@ -32,9 +32,7 @@
#include "nautilus-bookmark.h"
#include "nautilus-search-directory.h"
-typedef struct NautilusWindow NautilusWindow;
-typedef struct NautilusWindowClass NautilusWindowClass;
-typedef struct NautilusWindowDetails NautilusWindowDetails;
+G_BEGIN_DECLS
typedef enum {
NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND = 1 << 0,
@@ -44,6 +42,9 @@ typedef enum {
NAUTILUS_WINDOW_OPEN_FLAG_DONT_MAKE_ACTIVE = 1 << 4
} NautilusWindowOpenFlags;
+#define NAUTILUS_TYPE_WINDOW (nautilus_window_get_type ())
+G_DECLARE_DERIVABLE_TYPE (NautilusWindow, nautilus_window, NAUTILUS, WINDOW, GtkApplicationWindow);
+
typedef gboolean (* NautilusWindowGoToCallback) (NautilusWindow *window,
GFile *location,
GError *error,
@@ -52,18 +53,6 @@ typedef gboolean (* NautilusWindowGoToCallback) (NautilusWindow *window,
#include "nautilus-files-view.h"
#include "nautilus-window-slot.h"
-#define NAUTILUS_TYPE_WINDOW nautilus_window_get_type()
-#define NAUTILUS_WINDOW(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), NAUTILUS_TYPE_WINDOW, NautilusWindow))
-#define NAUTILUS_WINDOW_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_WINDOW, NautilusWindowClass))
-#define NAUTILUS_IS_WINDOW(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NAUTILUS_TYPE_WINDOW))
-#define NAUTILUS_IS_WINDOW_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_WINDOW))
-#define NAUTILUS_WINDOW_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), NAUTILUS_TYPE_WINDOW, NautilusWindowClass))
-
#define NAUTILUS_WINDOW_SIDEBAR_PLACES "places"
#define NAUTILUS_WINDOW_SIDEBAR_TREE "tree"
@@ -79,7 +68,8 @@ typedef gboolean (* NautilusWindowGoToCallback) (NautilusWindow *window,
#define NAUTILUS_WINDOW_DEFAULT_HEIGHT 550
-struct NautilusWindowClass {
+struct _NautilusWindowClass
+{
GtkApplicationWindowClass parent_spot;
/* Function pointers for overriding, without corresponding signals */
@@ -93,15 +83,6 @@ struct NautilusWindowClass {
GFile *location);
};
-typedef struct _NautilusWindowPrivate NautilusWindowPrivate;
-
-struct NautilusWindow {
- GtkApplicationWindow parent_object;
-
- NautilusWindowPrivate *priv;
-};
-
-GType nautilus_window_get_type (void);
NautilusWindow * nautilus_window_new (GdkScreen *screen);
void nautilus_window_close (NautilusWindow *window);
@@ -159,4 +140,7 @@ void nautilus_window_search (NautilusWindow *window,
void nautilus_window_initialize_slot (NautilusWindow *window,
NautilusWindowSlot *slot,
NautilusWindowOpenFlags flags);
+
+G_END_DECLS
+
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]