[nautilus/wip/csoriano/destktop-split2] window-slot: make it derivable class
- From: Carlos Soriano Sánchez <csoriano src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/csoriano/destktop-split2] window-slot: make it derivable class
- Date: Fri, 18 Mar 2016 18:13:13 +0000 (UTC)
commit 3d6c255338671620f5a203803b09d752727cce6f
Author: Carlos Soriano <csoriano gnome org>
Date: Fri Mar 18 19:11:06 2016 +0100
window-slot: make it derivable class
src/nautilus-window-slot.c | 782 +++++++++++++++++++++++---------------------
src/nautilus-window-slot.h | 31 +--
2 files changed, 419 insertions(+), 394 deletions(-)
---
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c
index 83b5405..83bbe7a 100644
--- a/src/nautilus-window-slot.c
+++ b/src/nautilus-window-slot.c
@@ -48,8 +48,6 @@
#include <libnautilus-private/nautilus-profile.h>
#include <libnautilus-extension/nautilus-location-widget-provider.h>
-G_DEFINE_TYPE (NautilusWindowSlot, nautilus_window_slot, GTK_TYPE_BOX);
-
enum {
ACTIVE,
INACTIVE,
@@ -66,7 +64,7 @@ enum {
NUM_PROPERTIES
};
-struct NautilusWindowSlotDetails {
+typedef struct {
NautilusWindow *window;
gboolean active : 1;
@@ -124,37 +122,42 @@ struct NautilusWindowSlotDetails {
gboolean tried_mount;
gint view_mode_before_search;
gint view_mode_before_places;
-};
+} NautilusWindowSlotPrivate;
+
+G_DEFINE_TYPE_WITH_PRIVATE (NautilusWindowSlot, nautilus_window_slot, GTK_TYPE_BOX);
static guint signals[LAST_SIGNAL] = { 0 };
static GParamSpec *properties[NUM_PROPERTIES] = { NULL, };
-static void nautilus_window_slot_force_reload (NautilusWindowSlot *slot);
-static void change_view (NautilusWindowSlot *slot);
-static void hide_query_editor (NautilusWindowSlot *slot);
-static void nautilus_window_slot_sync_actions (NautilusWindowSlot *slot);
-static void nautilus_window_slot_connect_new_content_view (NautilusWindowSlot *slot);
-static void nautilus_window_slot_disconnect_content_view (NautilusWindowSlot *slot);
-static gboolean nautilus_window_slot_content_view_matches (NautilusWindowSlot *slot, guint id);
-static NautilusView* nautilus_window_slot_get_view_for_location (NautilusWindowSlot *slot, GFile *location);
-static void nautilus_window_slot_set_content_view (NautilusWindowSlot *slot, guint id);
-static void nautilus_window_slot_set_loading (NautilusWindowSlot *slot, gboolean loading);
-char * nautilus_window_slot_get_location_uri (NautilusWindowSlot *slot);
-static void nautilus_window_slot_set_search_visible (NautilusWindowSlot *slot,
- gboolean visible);
-static gboolean nautilus_window_slot_get_search_visible (NautilusWindowSlot *slot);
-static void nautilus_window_slot_set_location (NautilusWindowSlot *slot,
+static void nautilus_window_slot_force_reload (NautilusWindowSlot *self);
+static void change_view (NautilusWindowSlot *self);
+static void hide_query_editor (NautilusWindowSlot *self);
+static void nautilus_window_slot_sync_actions (NautilusWindowSlot *self);
+static void nautilus_window_slot_connect_new_content_view (NautilusWindowSlot *self);
+static void nautilus_window_slot_disconnect_content_view (NautilusWindowSlot *self);
+static gboolean nautilus_window_slot_content_view_matches (NautilusWindowSlot *self, guint id);
+static NautilusView* nautilus_window_slot_get_view_for_location (NautilusWindowSlot *self, GFile *location);
+static void nautilus_window_slot_set_content_view (NautilusWindowSlot *self, guint id);
+static void nautilus_window_slot_set_loading (NautilusWindowSlot *self, gboolean loading);
+char * nautilus_window_slot_get_location_uri (NautilusWindowSlot *self);
+static void nautilus_window_slot_set_search_visible (NautilusWindowSlot *self,
+ gboolean visible);
+static gboolean nautilus_window_slot_get_search_visible (NautilusWindowSlot *self);
+static void nautilus_window_slot_set_location (NautilusWindowSlot *self,
GFile *location);
static NautilusView*
-nautilus_window_slot_get_view_for_location (NautilusWindowSlot *slot,
+nautilus_window_slot_get_view_for_location (NautilusWindowSlot *self,
GFile *location)
{
+ NautilusWindowSlotPrivate *priv;
+
NautilusWindow *window;
NautilusView *view;
NautilusFile *file;
- window = nautilus_window_slot_get_window (slot);
+ priv = nautilus_window_slot_get_instance_private (self);
+ window = nautilus_window_slot_get_window (self);
file = nautilus_file_get (location);
view = NULL;
@@ -163,13 +166,13 @@ nautilus_window_slot_get_view_for_location (NautilusWindowSlot *slot,
* for the desktop window.
*/
if (NAUTILUS_IS_DESKTOP_WINDOW (window)) {
- view = NAUTILUS_VIEW (nautilus_files_view_new (NAUTILUS_VIEW_DESKTOP_ID, slot));
+ view = NAUTILUS_VIEW (nautilus_files_view_new (NAUTILUS_VIEW_DESKTOP_ID, self));
} else if (nautilus_file_is_other_locations (file)) {
view = NAUTILUS_VIEW (nautilus_places_view_new ());
/* Save the current view, so we can go back after places view */
- if (slot->details->content_view && NAUTILUS_IS_FILES_VIEW (slot->details->content_view)) {
- slot->details->view_mode_before_places = nautilus_files_view_get_view_id
(NAUTILUS_FILES_VIEW (slot->details->content_view));
+ if (priv->content_view && NAUTILUS_IS_FILES_VIEW (priv->content_view)) {
+ priv->view_mode_before_places = nautilus_files_view_get_view_id (NAUTILUS_FILES_VIEW
(priv->content_view));
}
} else {
guint view_id;
@@ -181,22 +184,22 @@ nautilus_window_slot_get_view_for_location (NautilusWindowSlot *slot,
/* If it's already set, is because we already made the change to search mode,
* so the view mode of the current view will be the one search is using,
* which is not the one we are interested in */
- if (slot->details->view_mode_before_search == NAUTILUS_VIEW_INVALID_ID) {
- slot->details->view_mode_before_search = nautilus_files_view_get_view_id
(NAUTILUS_FILES_VIEW (slot->details->content_view));
+ if (priv->view_mode_before_search == NAUTILUS_VIEW_INVALID_ID) {
+ priv->view_mode_before_search = nautilus_files_view_get_view_id
(NAUTILUS_FILES_VIEW (priv->content_view));
}
view_id = g_settings_get_enum (nautilus_preferences,
NAUTILUS_PREFERENCES_SEARCH_VIEW);
- } else if (slot->details->content_view != NULL) {
+ } else if (priv->content_view != NULL) {
/* If there is already a view, just use the view mode that it's currently using, or
* if we were on search before, use what we were using before entering
* search mode */
- if (slot->details->view_mode_before_search != NAUTILUS_VIEW_INVALID_ID) {
- view_id = slot->details->view_mode_before_search;
- slot->details->view_mode_before_search = NAUTILUS_VIEW_INVALID_ID;
- } else if (NAUTILUS_IS_PLACES_VIEW (slot->details->content_view)) {
- view_id = slot->details->view_mode_before_places;
- slot->details->view_mode_before_places = NAUTILUS_VIEW_INVALID_ID;
+ if (priv->view_mode_before_search != NAUTILUS_VIEW_INVALID_ID) {
+ view_id = priv->view_mode_before_search;
+ priv->view_mode_before_search = NAUTILUS_VIEW_INVALID_ID;
+ } else if (NAUTILUS_IS_PLACES_VIEW (priv->content_view)) {
+ view_id = priv->view_mode_before_places;
+ priv->view_mode_before_places = NAUTILUS_VIEW_INVALID_ID;
} else {
- view_id = nautilus_files_view_get_view_id (NAUTILUS_FILES_VIEW
(slot->details->content_view));
+ view_id = nautilus_files_view_get_view_id (NAUTILUS_FILES_VIEW
(priv->content_view));
}
}
@@ -207,10 +210,10 @@ nautilus_window_slot_get_view_for_location (NautilusWindowSlot *slot,
}
/* Try to reuse the current view */
- if (nautilus_window_slot_content_view_matches (slot, view_id)) {
- view = slot->details->content_view;
+ if (nautilus_window_slot_content_view_matches (self, view_id)) {
+ view = priv->content_view;
} else {
- view = NAUTILUS_VIEW (nautilus_files_view_new (view_id, slot));
+ view = NAUTILUS_VIEW (nautilus_files_view_new (view_id, self));
}
}
@@ -220,83 +223,92 @@ nautilus_window_slot_get_view_for_location (NautilusWindowSlot *slot,
}
static gboolean
-nautilus_window_slot_content_view_matches (NautilusWindowSlot *slot,
+nautilus_window_slot_content_view_matches (NautilusWindowSlot *self,
guint id)
{
- if (slot->details->content_view == NULL) {
+ NautilusWindowSlotPrivate *priv;
+
+ priv = nautilus_window_slot_get_instance_private (self);
+ if (priv->content_view == NULL) {
return FALSE;
}
- if (id == NAUTILUS_VIEW_INVALID_ID && NAUTILUS_IS_PLACES_VIEW (slot->details->content_view)) {
+ if (id == NAUTILUS_VIEW_INVALID_ID && NAUTILUS_IS_PLACES_VIEW (priv->content_view)) {
return TRUE;
- } else if (id != NAUTILUS_VIEW_INVALID_ID && NAUTILUS_IS_FILES_VIEW (slot->details->content_view)){
- return nautilus_files_view_get_view_id (NAUTILUS_FILES_VIEW (slot->details->content_view))
== id;
+ } else if (id != NAUTILUS_VIEW_INVALID_ID && NAUTILUS_IS_FILES_VIEW (priv->content_view)){
+ return nautilus_files_view_get_view_id (NAUTILUS_FILES_VIEW (priv->content_view)) == id;
} else {
return FALSE;
}
}
static void
-update_search_visible (NautilusWindowSlot *slot)
+update_search_visible (NautilusWindowSlot *self)
{
+ NautilusWindowSlotPrivate *priv;
NautilusQuery *query;
NautilusView *view;
GAction *action;
- action = g_action_map_lookup_action (G_ACTION_MAP (slot->details->slot_action_group),
+ priv = nautilus_window_slot_get_instance_private (self);
+
+ action = g_action_map_lookup_action (G_ACTION_MAP (priv->slot_action_group),
"search-visible");
/* Don't allow search on desktop */
g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
- !NAUTILUS_IS_DESKTOP_CANVAS_VIEW
(nautilus_window_slot_get_current_view (slot)));
+ !NAUTILUS_IS_DESKTOP_CANVAS_VIEW
(nautilus_window_slot_get_current_view (self)));
- view = nautilus_window_slot_get_current_view (slot);
+ view = nautilus_window_slot_get_current_view (self);
/* If we changed location just to another search location, for example,
* when changing the query, just keep the search visible.
* Make sure the search is visible though, since we could be returning
* from a previous search location when using the history */
if (nautilus_view_is_searching (view)) {
- nautilus_window_slot_set_search_visible (slot, TRUE);
+ nautilus_window_slot_set_search_visible (self, TRUE);
return;
}
- query = nautilus_query_editor_get_query (slot->details->query_editor);
+ query = nautilus_query_editor_get_query (priv->query_editor);
if (query) {
/* If the view is not searching, but search is visible, and the
* query is empty, we don't hide it. Some users enable the search
* and then change locations, then they search. */
if (!nautilus_query_is_empty (query))
- nautilus_window_slot_set_search_visible (slot, FALSE);
+ nautilus_window_slot_set_search_visible (self, FALSE);
g_object_unref (query);
}
- if (slot->details->pending_search_text)
- nautilus_window_slot_search (slot, g_strdup (slot->details->pending_search_text));
+ if (priv->pending_search_text)
+ nautilus_window_slot_search (self, g_strdup (priv->pending_search_text));
}
static void
-nautilus_window_slot_sync_actions (NautilusWindowSlot *slot)
+nautilus_window_slot_sync_actions (NautilusWindowSlot *self)
{
+ NautilusWindowSlotPrivate *priv;
+
GAction *action;
GVariant *variant;
- if (!nautilus_window_slot_get_active (slot)) {
+ priv = nautilus_window_slot_get_instance_private (self);
+ if (!nautilus_window_slot_get_active (self)) {
return;
}
- if (slot->details->content_view == NULL || slot->details->new_content_view != NULL) {
+ if (priv->content_view == NULL || priv->new_content_view != NULL) {
return;
}
/* Check if we need to close the search or show search after changing the location.
* Needs to be done after the change has been done, if not, a loop happens,
* because setting the search enabled or not actually opens a location */
- update_search_visible (slot);
+ update_search_visible (self);
/* Files view mode */
- action = g_action_map_lookup_action (G_ACTION_MAP (slot->details->slot_action_group),
"files-view-mode");
- if (NAUTILUS_IS_FILES_VIEW (nautilus_window_slot_get_current_view (slot)) &&
- !NAUTILUS_IS_DESKTOP_CANVAS_VIEW (nautilus_window_slot_get_current_view (slot))) {
- variant = g_variant_new_uint32 (nautilus_files_view_get_view_id (NAUTILUS_FILES_VIEW
(nautilus_window_slot_get_current_view (slot))));
+ action = g_action_map_lookup_action (G_ACTION_MAP (priv->slot_action_group), "files-view-mode");
+ if (NAUTILUS_IS_FILES_VIEW (nautilus_window_slot_get_current_view (self)) &&
+ !NAUTILUS_IS_DESKTOP_CANVAS_VIEW (nautilus_window_slot_get_current_view (self))) {
+ variant = g_variant_new_uint32 (nautilus_files_view_get_view_id (NAUTILUS_FILES_VIEW
(nautilus_window_slot_get_current_view (self))));
g_simple_action_set_enabled (G_SIMPLE_ACTION (action), TRUE);
g_action_change_state (action, variant);
} else {
@@ -306,61 +318,66 @@ nautilus_window_slot_sync_actions (NautilusWindowSlot *slot)
static void
query_editor_cancel_callback (NautilusQueryEditor *editor,
- NautilusWindowSlot *slot)
+ NautilusWindowSlot *self)
{
- nautilus_window_slot_set_search_visible (slot, FALSE);
+ nautilus_window_slot_set_search_visible (self, FALSE);
}
static void
query_editor_activated_callback (NautilusQueryEditor *editor,
- NautilusWindowSlot *slot)
+ NautilusWindowSlot *self)
{
- if (slot->details->content_view != NULL) {
- if (NAUTILUS_IS_FILES_VIEW (slot->details->content_view)) {
- nautilus_files_view_activate_selection (NAUTILUS_FILES_VIEW
(slot->details->content_view));
+ NautilusWindowSlotPrivate *priv;
+
+ priv = nautilus_window_slot_get_instance_private (self);
+ if (priv->content_view != NULL) {
+ if (NAUTILUS_IS_FILES_VIEW (priv->content_view)) {
+ nautilus_files_view_activate_selection (NAUTILUS_FILES_VIEW (priv->content_view));
}
- nautilus_window_slot_set_search_visible (slot, FALSE);
+ nautilus_window_slot_set_search_visible (self, FALSE);
}
}
static void
query_editor_changed_callback (NautilusQueryEditor *editor,
- NautilusQuery *query,
- gboolean reload,
- NautilusWindowSlot *slot)
+ NautilusQuery *query,
+ gboolean reload,
+ NautilusWindowSlot *self)
{
NautilusView *view;
- view = nautilus_window_slot_get_current_view (slot);
+ view = nautilus_window_slot_get_current_view (self);
nautilus_view_set_search_query (view, query);
- nautilus_window_slot_open_location_full (slot, nautilus_view_get_location (view), 0, NULL);
+ nautilus_window_slot_open_location_full (self, nautilus_view_get_location (view), 0, NULL);
}
static void
-hide_query_editor (NautilusWindowSlot *slot)
+hide_query_editor (NautilusWindowSlot *self)
{
+ NautilusWindowSlotPrivate *priv;
NautilusView *view;
- view = nautilus_window_slot_get_current_view (slot);
+ priv = nautilus_window_slot_get_instance_private (self);
+ view = nautilus_window_slot_get_current_view (self);
- gtk_search_bar_set_search_mode (GTK_SEARCH_BAR (slot->details->query_editor), FALSE);
+ gtk_search_bar_set_search_mode (GTK_SEARCH_BAR (priv->query_editor), FALSE);
- if (slot->details->qe_changed_id > 0) {
- g_signal_handler_disconnect (slot->details->query_editor, slot->details->qe_changed_id);
- slot->details->qe_changed_id = 0;
+ if (priv->qe_changed_id > 0) {
+ g_signal_handler_disconnect (priv->query_editor, priv->qe_changed_id);
+ priv->qe_changed_id = 0;
}
- if (slot->details->qe_cancel_id > 0) {
- g_signal_handler_disconnect (slot->details->query_editor, slot->details->qe_cancel_id);
- slot->details->qe_cancel_id = 0;
+ if (priv->qe_cancel_id > 0) {
+ g_signal_handler_disconnect (priv->query_editor, priv->qe_cancel_id);
+ priv->qe_cancel_id = 0;
}
- if (slot->details->qe_activated_id > 0) {
- g_signal_handler_disconnect (slot->details->query_editor, slot->details->qe_activated_id);
- slot->details->qe_activated_id = 0;
+ if (priv->qe_activated_id > 0) {
+ g_signal_handler_disconnect (priv->query_editor, priv->qe_activated_id);
+ priv->qe_activated_id = 0;
}
- nautilus_query_editor_set_query (slot->details->query_editor, NULL);
+ nautilus_query_editor_set_query (priv->query_editor, NULL);
if (nautilus_view_is_searching (view)) {
GList *selection;
@@ -368,7 +385,7 @@ hide_query_editor (NautilusWindowSlot *slot)
selection = nautilus_view_get_selection (view);
nautilus_view_set_search_query (view, NULL);
- nautilus_window_slot_open_location_full (slot,
+ nautilus_window_slot_open_location_full (self,
nautilus_view_get_location (view),
0,
selection);
@@ -376,31 +393,36 @@ hide_query_editor (NautilusWindowSlot *slot)
nautilus_file_list_free (selection);
}
- if (nautilus_window_slot_get_active (slot)) {
- gtk_widget_grab_focus (GTK_WIDGET (slot->details->window));
+ if (nautilus_window_slot_get_active (self)) {
+ gtk_widget_grab_focus (GTK_WIDGET (priv->window));
}
}
static GFile *
-nautilus_window_slot_get_current_location (NautilusWindowSlot *slot)
+nautilus_window_slot_get_current_location (NautilusWindowSlot *self)
{
- if (slot->details->pending_location != NULL) {
- return slot->details->pending_location;
+ NautilusWindowSlotPrivate *priv;
+
+ priv = nautilus_window_slot_get_instance_private (self);
+ if (priv->pending_location != NULL) {
+ return priv->pending_location;
}
- if (slot->details->location != NULL) {
- return slot->details->location;
+ if (priv->location != NULL) {
+ return priv->location;
}
return NULL;
}
static void
-show_query_editor (NautilusWindowSlot *slot)
+show_query_editor (NautilusWindowSlot *self)
{
+ NautilusWindowSlotPrivate *priv;
NautilusView *view;
- view = nautilus_window_slot_get_current_view (slot);
+ priv = nautilus_window_slot_get_instance_private (self);
+ view = nautilus_window_slot_get_current_view (self);
if (nautilus_view_is_searching (view)) {
NautilusQuery *query;
@@ -408,49 +430,54 @@ show_query_editor (NautilusWindowSlot *slot)
query = nautilus_view_get_search_query (view);
if (query != NULL) {
- nautilus_query_editor_set_query (slot->details->query_editor, query);
+ nautilus_query_editor_set_query (priv->query_editor, query);
}
}
- gtk_search_bar_set_search_mode (GTK_SEARCH_BAR (slot->details->query_editor), TRUE);
- gtk_widget_grab_focus (GTK_WIDGET (slot->details->query_editor));
+ gtk_search_bar_set_search_mode (GTK_SEARCH_BAR (priv->query_editor), TRUE);
+ gtk_widget_grab_focus (GTK_WIDGET (priv->query_editor));
- if (slot->details->qe_changed_id == 0) {
- slot->details->qe_changed_id =
- g_signal_connect (slot->details->query_editor, "changed",
- G_CALLBACK (query_editor_changed_callback), slot);
+ if (priv->qe_changed_id == 0) {
+ priv->qe_changed_id =
+ g_signal_connect (priv->query_editor, "changed",
+ G_CALLBACK (query_editor_changed_callback), self);
}
- if (slot->details->qe_cancel_id == 0) {
- slot->details->qe_cancel_id =
- g_signal_connect (slot->details->query_editor, "cancel",
- G_CALLBACK (query_editor_cancel_callback), slot);
+ if (priv->qe_cancel_id == 0) {
+ priv->qe_cancel_id =
+ g_signal_connect (priv->query_editor, "cancel",
+ G_CALLBACK (query_editor_cancel_callback), self);
}
- if (slot->details->qe_activated_id == 0) {
- slot->details->qe_activated_id =
- g_signal_connect (slot->details->query_editor, "activated",
- G_CALLBACK (query_editor_activated_callback), slot);
+ if (priv->qe_activated_id == 0) {
+ priv->qe_activated_id =
+ g_signal_connect (priv->query_editor, "activated",
+ G_CALLBACK (query_editor_activated_callback), self);
}
}
static void
-nautilus_window_slot_set_search_visible (NautilusWindowSlot *slot,
+nautilus_window_slot_set_search_visible (NautilusWindowSlot *self,
gboolean visible)
{
+ NautilusWindowSlotPrivate *priv;
GAction *action;
- action = g_action_map_lookup_action (G_ACTION_MAP (slot->details->slot_action_group),
+ priv = nautilus_window_slot_get_instance_private (self);
+
+ action = g_action_map_lookup_action (G_ACTION_MAP (priv->slot_action_group),
"search-visible");
g_action_change_state (action, g_variant_new_boolean (visible));
}
static gboolean
-nautilus_window_slot_get_search_visible (NautilusWindowSlot *slot)
+nautilus_window_slot_get_search_visible (NautilusWindowSlot *self)
{
+ NautilusWindowSlotPrivate *priv;
GAction *action;
GVariant *state;
gboolean searching;
- action = g_action_map_lookup_action (G_ACTION_MAP (slot->details->slot_action_group),
+ priv = nautilus_window_slot_get_instance_private (self);
+ action = g_action_map_lookup_action (G_ACTION_MAP (priv->slot_action_group),
"search-visible");
state = g_action_get_state (action);
searching = g_variant_get_boolean (state);
@@ -461,78 +488,84 @@ nautilus_window_slot_get_search_visible (NautilusWindowSlot *slot)
}
void
-nautilus_window_slot_search (NautilusWindowSlot *slot,
+nautilus_window_slot_search (NautilusWindowSlot *self,
const gchar *text)
{
+ NautilusWindowSlotPrivate *priv;
NautilusView *view;
- if (slot->details->pending_search_text) {
- g_free (slot->details->pending_search_text);
- slot->details->pending_search_text = NULL;
+ priv = nautilus_window_slot_get_instance_private (self);
+ if (priv->pending_search_text) {
+ g_free (priv->pending_search_text);
+ priv->pending_search_text = NULL;
}
- view = nautilus_window_slot_get_current_view (slot);
+ view = nautilus_window_slot_get_current_view (self);
/* We could call this when the location is still being checked in the
* window slot. For that, save the search we want to do for once we have
* a view set up */
if (view) {
- nautilus_window_slot_set_search_visible (slot, TRUE);
- nautilus_query_editor_set_text (slot->details->query_editor, text);
+ nautilus_window_slot_set_search_visible (self, TRUE);
+ nautilus_query_editor_set_text (priv->query_editor, text);
} else {
- slot->details->pending_search_text = g_strdup (text);
+ priv->pending_search_text = g_strdup (text);
}
}
gboolean
-nautilus_window_slot_handle_event (NautilusWindowSlot *slot,
+nautilus_window_slot_handle_event (NautilusWindowSlot *self,
GdkEventKey *event)
{
+ NautilusWindowSlotPrivate *priv;
NautilusWindow *window;
gboolean retval;
+ priv = nautilus_window_slot_get_instance_private (self);
retval = FALSE;
- window = nautilus_window_slot_get_window (slot);
+ window = nautilus_window_slot_get_window (self);
if (!NAUTILUS_IS_DESKTOP_WINDOW (window)) {
- retval = gtk_search_bar_handle_event (GTK_SEARCH_BAR (slot->details->query_editor),
+ retval = gtk_search_bar_handle_event (GTK_SEARCH_BAR (priv->query_editor),
(GdkEvent*) event);
}
if (retval) {
- nautilus_window_slot_set_search_visible (slot, TRUE);
+ nautilus_window_slot_set_search_visible (self, TRUE);
}
return retval;
}
static void
-real_active (NautilusWindowSlot *slot)
+real_active (NautilusWindowSlot *self)
{
+ NautilusWindowSlotPrivate *priv;
NautilusWindow *window;
int page_num;
- window = slot->details->window;
+ priv = nautilus_window_slot_get_instance_private (self);
+ window = priv->window;
page_num = gtk_notebook_page_num (GTK_NOTEBOOK (nautilus_window_get_notebook (window)),
- GTK_WIDGET (slot));
+ GTK_WIDGET (self));
g_assert (page_num >= 0);
gtk_notebook_set_current_page (GTK_NOTEBOOK (nautilus_window_get_notebook (window)), page_num);
/* sync window to new slot */
- nautilus_window_sync_allow_stop (window, slot);
- nautilus_window_sync_title (window, slot);
+ nautilus_window_sync_allow_stop (window, self);
+ nautilus_window_sync_title (window, self);
nautilus_window_sync_location_widgets (window);
- nautilus_window_slot_sync_actions (slot);
+ nautilus_window_slot_sync_actions (self);
- gtk_widget_insert_action_group (GTK_WIDGET (window), "slot", slot->details->slot_action_group);
+ gtk_widget_insert_action_group (GTK_WIDGET (window), "slot", priv->slot_action_group);
}
static void
-real_inactive (NautilusWindowSlot *slot)
+real_inactive (NautilusWindowSlot *self)
{
NautilusWindow *window;
- window = nautilus_window_slot_get_window (slot);
- g_assert (slot == nautilus_window_get_active_slot (window));
+ window = nautilus_window_slot_get_window (self);
+ g_assert (self == nautilus_window_get_active_slot (window));
gtk_widget_insert_action_group (GTK_WIDGET (window), "slot", NULL);
}
@@ -541,32 +574,37 @@ static void
remove_all_extra_location_widgets (GtkWidget *widget,
gpointer data)
{
- NautilusWindowSlot *slot = data;
+ NautilusWindowSlotPrivate *priv;
+ NautilusWindowSlot *self = data;
NautilusDirectory *directory;
- directory = nautilus_directory_get (slot->details->location);
- if (widget != GTK_WIDGET (slot->details->query_editor)) {
- gtk_container_remove (GTK_CONTAINER (slot->details->extra_location_widgets), widget);
+ priv = nautilus_window_slot_get_instance_private (self);
+ directory = nautilus_directory_get (priv->location);
+ if (widget != GTK_WIDGET (priv->query_editor)) {
+ gtk_container_remove (GTK_CONTAINER (priv->extra_location_widgets), widget);
}
nautilus_directory_unref (directory);
}
static void
-nautilus_window_slot_remove_extra_location_widgets (NautilusWindowSlot *slot)
+nautilus_window_slot_remove_extra_location_widgets (NautilusWindowSlot *self)
{
- gtk_container_foreach (GTK_CONTAINER (slot->details->extra_location_widgets),
+ NautilusWindowSlotPrivate *priv;
+
+ priv = nautilus_window_slot_get_instance_private (self);
+ gtk_container_foreach (GTK_CONTAINER (priv->extra_location_widgets),
remove_all_extra_location_widgets,
- slot);
+ self);
}
static void
nautilus_window_slot_add_extra_location_widget (NautilusWindowSlot *slot,
GtkWidget *widget)
{
- gtk_box_pack_start (GTK_BOX (slot->details->extra_location_widgets),
+ gtk_box_pack_start (GTK_BOX (priv->extra_location_widgets),
widget, FALSE, TRUE, 0);
- gtk_widget_show (slot->details->extra_location_widgets);
+ gtk_widget_show (priv->extra_location_widgets);
}
static void
@@ -606,7 +644,7 @@ nautilus_window_slot_get_property (GObject *object,
g_value_set_boolean (value, nautilus_window_slot_get_active (slot));
break;
case PROP_WINDOW:
- g_value_set_object (value, slot->details->window);
+ g_value_set_object (value, priv->window);
break;
case PROP_ICON:
g_value_set_object (value, nautilus_window_slot_get_icon (slot));
@@ -642,19 +680,19 @@ nautilus_window_slot_constructed (GObject *object)
extras_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
style_context = gtk_widget_get_style_context (extras_vbox);
gtk_style_context_add_class (style_context, "searchbar-container");
- slot->details->extra_location_widgets = extras_vbox;
+ priv->extra_location_widgets = extras_vbox;
gtk_box_pack_start (GTK_BOX (slot), extras_vbox, FALSE, FALSE, 0);
gtk_widget_show (extras_vbox);
- slot->details->query_editor = NAUTILUS_QUERY_EDITOR (nautilus_query_editor_new ());
- gtk_widget_show (GTK_WIDGET (slot->details->query_editor));
- nautilus_window_slot_add_extra_location_widget (slot, GTK_WIDGET (slot->details->query_editor));
+ priv->query_editor = NAUTILUS_QUERY_EDITOR (nautilus_query_editor_new ());
+ gtk_widget_show (GTK_WIDGET (priv->query_editor));
+ nautilus_window_slot_add_extra_location_widget (slot, GTK_WIDGET (priv->query_editor));
g_object_bind_property (slot, "location",
- slot->details->query_editor, "location",
+ priv->query_editor, "location",
G_BINDING_DEFAULT);
- slot->details->title = g_strdup (_("Loading…"));
+ priv->title = g_strdup (_("Loading…"));
}
static void
@@ -718,22 +756,22 @@ nautilus_window_slot_init (NautilusWindowSlot *slot)
app = g_application_get_default ();
- slot->details = G_TYPE_INSTANCE_GET_PRIVATE
+ priv = G_TYPE_INSTANCE_GET_PRIVATE
(slot, NAUTILUS_TYPE_WINDOW_SLOT, NautilusWindowSlotDetails);
- slot->details->slot_action_group = G_ACTION_GROUP (g_simple_action_group_new ());
- g_action_map_add_action_entries (G_ACTION_MAP (slot->details->slot_action_group),
+ priv->slot_action_group = G_ACTION_GROUP (g_simple_action_group_new ());
+ g_action_map_add_action_entries (G_ACTION_MAP (priv->slot_action_group),
slot_entries,
G_N_ELEMENTS (slot_entries),
slot);
gtk_widget_insert_action_group (GTK_WIDGET (slot),
"slot",
- G_ACTION_GROUP (slot->details->slot_action_group));
+ G_ACTION_GROUP (priv->slot_action_group));
nautilus_application_add_accelerator (app, "slot.files-view-mode(1)", "<control>1");
nautilus_application_add_accelerator (app, "slot.files-view-mode(0)", "<control>2");
nautilus_application_add_accelerator (app, "slot.search-visible", "<control>f");
- slot->details->view_mode_before_search = NAUTILUS_VIEW_INVALID_ID;
+ priv->view_mode_before_search = NAUTILUS_VIEW_INVALID_ID;
}
#define DEBUG_FLAG NAUTILUS_DEBUG_WINDOW
@@ -780,8 +818,8 @@ nautilus_window_slot_open_location_full (NautilusWindowSlot *slot,
window = nautilus_window_slot_get_window (slot);
is_desktop = NAUTILUS_IS_DESKTOP_CANVAS_VIEW (window);
- if (slot->details->content_view) {
- old_selection = nautilus_view_get_selection (slot->details->content_view);
+ if (priv->content_view) {
+ old_selection = nautilus_view_get_selection (priv->content_view);
}
if (!is_desktop &&
old_location && g_file_equal (old_location, location) &&
@@ -865,11 +903,11 @@ save_scroll_position_for_history (NautilusWindowSlot *slot)
{
char *current_pos;
/* Set current_bookmark scroll pos */
- if (slot->details->current_location_bookmark != NULL &&
- slot->details->content_view != NULL &&
- NAUTILUS_IS_FILES_VIEW (slot->details->content_view)) {
- current_pos = nautilus_files_view_get_first_visible_file (NAUTILUS_FILES_VIEW
(slot->details->content_view));
- nautilus_bookmark_set_scroll_pos (slot->details->current_location_bookmark, current_pos);
+ if (priv->current_location_bookmark != NULL &&
+ priv->content_view != NULL &&
+ NAUTILUS_IS_FILES_VIEW (priv->content_view)) {
+ current_pos = nautilus_files_view_get_first_visible_file (NAUTILUS_FILES_VIEW
(priv->content_view));
+ nautilus_bookmark_set_scroll_pos (priv->current_location_bookmark, current_pos);
g_free (current_pos);
}
}
@@ -917,25 +955,25 @@ begin_location_change (NautilusWindowSlot *slot,
new_selection = check_select_old_location_containing_folder (new_selection, location,
previous_location);
- g_assert (slot->details->pending_location == NULL);
+ g_assert (priv->pending_location == NULL);
- slot->details->pending_location = g_object_ref (location);
- slot->details->location_change_type = type;
- slot->details->location_change_distance = distance;
- slot->details->tried_mount = FALSE;
- slot->details->pending_selection = nautilus_file_list_copy (new_selection);
+ priv->pending_location = g_object_ref (location);
+ priv->location_change_type = type;
+ priv->location_change_distance = distance;
+ priv->tried_mount = FALSE;
+ priv->pending_selection = nautilus_file_list_copy (new_selection);
- slot->details->pending_scroll_to = g_strdup (scroll_pos);
+ priv->pending_scroll_to = g_strdup (scroll_pos);
check_force_reload (location, type);
save_scroll_position_for_history (slot);
/* Get the info needed to make decisions about how to open the new location */
- slot->details->determine_view_file = nautilus_file_get (location);
- g_assert (slot->details->determine_view_file != NULL);
+ priv->determine_view_file = nautilus_file_get (location);
+ g_assert (priv->determine_view_file != NULL);
- nautilus_file_call_when_ready (slot->details->determine_view_file,
+ nautilus_file_call_when_ready (priv->determine_view_file,
NAUTILUS_FILE_ATTRIBUTE_INFO |
NAUTILUS_FILE_ATTRIBUTE_MOUNT,
got_file_info_for_view_selection_callback,
@@ -950,8 +988,8 @@ nautilus_window_slot_set_location (NautilusWindowSlot *slot,
{
GFile *old_location;
- if (slot->details->location &&
- g_file_equal (location, slot->details->location)) {
+ if (priv->location &&
+ g_file_equal (location, priv->location)) {
/* The location name could be updated even if the location
* wasn't changed. This is the case for a search.
*/
@@ -959,11 +997,11 @@ nautilus_window_slot_set_location (NautilusWindowSlot *slot,
return;
}
- old_location = slot->details->location;
- slot->details->location = g_object_ref (location);
+ old_location = priv->location;
+ priv->location = g_object_ref (location);
if (nautilus_window_slot_get_active (slot)) {
- nautilus_window_sync_location_widgets (slot->details->window);
+ nautilus_window_sync_location_widgets (priv->window);
}
nautilus_window_slot_update_title (slot);
@@ -984,18 +1022,18 @@ viewed_file_changed_callback (NautilusFile *file,
g_assert (NAUTILUS_IS_FILE (file));
g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
- g_assert (file == slot->details->viewed_file);
+ g_assert (file == priv->viewed_file);
if (!nautilus_file_is_not_yet_confirmed (file)) {
- slot->details->viewed_file_seen = TRUE;
+ priv->viewed_file_seen = TRUE;
}
- was_in_trash = slot->details->viewed_file_in_trash;
+ was_in_trash = priv->viewed_file_in_trash;
- slot->details->viewed_file_in_trash = is_in_trash = nautilus_file_is_in_trash (file);
+ priv->viewed_file_in_trash = is_in_trash = nautilus_file_is_in_trash (file);
if (nautilus_file_is_gone (file) || (is_in_trash && !was_in_trash)) {
- if (slot->details->viewed_file_seen) {
+ if (priv->viewed_file_seen) {
GFile *go_to_file;
GFile *parent;
GFile *location;
@@ -1053,17 +1091,17 @@ nautilus_window_slot_set_viewed_file (NautilusWindowSlot *slot,
{
NautilusFileAttributes attributes;
- if (slot->details->viewed_file == file) {
+ if (priv->viewed_file == file) {
return;
}
nautilus_file_ref (file);
- if (slot->details->viewed_file != NULL) {
- g_signal_handlers_disconnect_by_func (slot->details->viewed_file,
+ if (priv->viewed_file != NULL) {
+ g_signal_handlers_disconnect_by_func (priv->viewed_file,
G_CALLBACK (viewed_file_changed_callback),
slot);
- nautilus_file_monitor_remove (slot->details->viewed_file,
+ nautilus_file_monitor_remove (priv->viewed_file,
slot);
}
@@ -1077,8 +1115,8 @@ nautilus_window_slot_set_viewed_file (NautilusWindowSlot *slot,
G_CALLBACK (viewed_file_changed_callback), slot, 0);
}
- nautilus_file_unref (slot->details->viewed_file);
- slot->details->viewed_file = file;
+ nautilus_file_unref (priv->viewed_file);
+ priv->viewed_file = file;
}
typedef struct {
@@ -1107,19 +1145,19 @@ mount_not_mounted_callback (GObject *source_object,
return;
}
- slot->details->mount_cancellable = NULL;
+ priv->mount_cancellable = NULL;
- slot->details->determine_view_file = nautilus_file_get (slot->details->pending_location);
+ priv->determine_view_file = nautilus_file_get (priv->pending_location);
error = NULL;
if (!g_file_mount_enclosing_volume_finish (G_FILE (source_object), res, &error)) {
- slot->details->mount_error = error;
- got_file_info_for_view_selection_callback (slot->details->determine_view_file, slot);
- slot->details->mount_error = NULL;
+ priv->mount_error = error;
+ got_file_info_for_view_selection_callback (priv->determine_view_file, slot);
+ priv->mount_error = NULL;
g_error_free (error);
} else {
- nautilus_file_invalidate_all_attributes (slot->details->determine_view_file);
- nautilus_file_call_when_ready (slot->details->determine_view_file,
+ nautilus_file_invalidate_all_attributes (priv->determine_view_file);
+ nautilus_file_call_when_ready (priv->determine_view_file,
NAUTILUS_FILE_ATTRIBUTE_INFO |
NAUTILUS_FILE_ATTRIBUTE_MOUNT,
got_file_info_for_view_selection_callback,
@@ -1225,15 +1263,15 @@ handle_mount_if_needed (NautilusWindowSlot *slot,
gboolean needs_mount_handling = FALSE;
window = nautilus_window_slot_get_window (slot);
- if (slot->details->mount_error) {
- error = g_error_copy (slot->details->mount_error);
+ if (priv->mount_error) {
+ error = g_error_copy (priv->mount_error);
} else if (nautilus_file_get_file_info_error (file) != NULL) {
error = g_error_copy (nautilus_file_get_file_info_error (file));
}
if (error && error->domain == G_IO_ERROR && error->code == G_IO_ERROR_NOT_MOUNTED &&
- !slot->details->tried_mount) {
- slot->details->tried_mount = TRUE;
+ !priv->tried_mount) {
+ priv->tried_mount = TRUE;
mount_op = gtk_mount_operation_new (GTK_WINDOW (window));
g_mount_operation_set_password_save (mount_op, G_PASSWORD_SAVE_FOR_SESSION);
@@ -1241,8 +1279,8 @@ handle_mount_if_needed (NautilusWindowSlot *slot,
data = g_new0 (MountNotMountedData, 1);
data->cancellable = g_cancellable_new ();
data->slot = slot;
- slot->details->mount_cancellable = data->cancellable;
- g_file_mount_enclosing_volume (location, 0, mount_op, slot->details->mount_cancellable,
+ priv->mount_cancellable = data->cancellable;
+ g_file_mount_enclosing_volume (location, 0, mount_op, priv->mount_cancellable,
mount_not_mounted_callback, data);
g_object_unref (location);
g_object_unref (mount_op);
@@ -1265,20 +1303,20 @@ handle_regular_file_if_needed (NautilusWindowSlot *slot,
parent_file = nautilus_file_get_parent (file);
if ((parent_file != NULL) &&
nautilus_file_get_file_type (file) == G_FILE_TYPE_REGULAR) {
- if (slot->details->pending_selection != NULL) {
- nautilus_file_list_free (slot->details->pending_selection);
+ if (priv->pending_selection != NULL) {
+ nautilus_file_list_free (priv->pending_selection);
}
- g_clear_object (&slot->details->pending_location);
- g_free (slot->details->pending_scroll_to);
+ g_clear_object (&priv->pending_location);
+ g_free (priv->pending_scroll_to);
- slot->details->pending_location = nautilus_file_get_parent_location (file);
- slot->details->pending_selection = g_list_prepend (NULL, nautilus_file_ref (file));
- slot->details->determine_view_file = nautilus_file_ref (parent_file);
- slot->details->pending_scroll_to = nautilus_file_get_uri (file);
+ priv->pending_location = nautilus_file_get_parent_location (file);
+ priv->pending_selection = g_list_prepend (NULL, nautilus_file_ref (file));
+ priv->determine_view_file = nautilus_file_ref (parent_file);
+ priv->pending_scroll_to = nautilus_file_get_uri (file);
- nautilus_file_invalidate_all_attributes (slot->details->determine_view_file);
- nautilus_file_call_when_ready (slot->details->determine_view_file,
+ nautilus_file_invalidate_all_attributes (priv->determine_view_file);
+ nautilus_file_call_when_ready (priv->determine_view_file,
NAUTILUS_FILE_ATTRIBUTE_INFO |
NAUTILUS_FILE_ATTRIBUTE_MOUNT,
got_file_info_for_view_selection_callback,
@@ -1308,8 +1346,8 @@ got_file_info_for_view_selection_callback (NautilusFile *file,
slot = callback_data;
window = nautilus_window_slot_get_window (slot);
- g_assert (slot->details->determine_view_file == file);
- slot->details->determine_view_file = NULL;
+ g_assert (priv->determine_view_file == file);
+ priv->determine_view_file = NULL;
nautilus_profile_start (NULL);
@@ -1319,13 +1357,13 @@ got_file_info_for_view_selection_callback (NautilusFile *file,
if (handle_regular_file_if_needed (slot, file))
goto done;
- if (slot->details->mount_error) {
- error = g_error_copy (slot->details->mount_error);
+ if (priv->mount_error) {
+ error = g_error_copy (priv->mount_error);
} else if (nautilus_file_get_file_info_error (file) != NULL) {
error = g_error_copy (nautilus_file_get_file_info_error (file));
}
- location = slot->details->pending_location;
+ location = priv->pending_location;
/* desktop and other-locations GFile operations report G_IO_ERROR_NOT_SUPPORTED,
* but it's not an actual error for Nautilus */
@@ -1424,27 +1462,27 @@ setup_view (NautilusWindowSlot *slot,
nautilus_window_slot_disconnect_content_view (slot);
- slot->details->new_content_view = view;
+ priv->new_content_view = view;
nautilus_window_slot_connect_new_content_view (slot);
/* Forward search selection and state before loading the new model */
- old_location = slot->details->content_view ? nautilus_view_get_location
(slot->details->content_view) : NULL;
+ old_location = priv->content_view ? nautilus_view_get_location (priv->content_view) : NULL;
/* Actually load the pending location and selection: */
- if (slot->details->pending_location != NULL) {
+ if (priv->pending_location != NULL) {
load_new_location (slot,
- slot->details->pending_location,
- slot->details->pending_selection,
+ priv->pending_location,
+ priv->pending_selection,
FALSE,
TRUE);
- nautilus_file_list_free (slot->details->pending_selection);
- slot->details->pending_selection = NULL;
+ nautilus_file_list_free (priv->pending_selection);
+ priv->pending_selection = NULL;
} else if (old_location != NULL) {
GList *selection;
- selection = nautilus_view_get_selection (slot->details->content_view);
+ selection = nautilus_view_get_selection (priv->content_view);
load_new_location (slot,
old_location,
@@ -1458,7 +1496,7 @@ setup_view (NautilusWindowSlot *slot,
}
change_view (slot);
- gtk_widget_show (GTK_WIDGET (slot->details->window));
+ gtk_widget_show (GTK_WIDGET (priv->window));
out:
nautilus_profile_end (NULL);
@@ -1482,16 +1520,16 @@ load_new_location (NautilusWindowSlot *slot,
nautilus_profile_start (NULL);
/* Note, these may recurse into report_load_underway */
- if (slot->details->content_view != NULL && tell_current_content_view) {
- view = slot->details->content_view;
- nautilus_view_set_location (slot->details->content_view, location);
+ if (priv->content_view != NULL && tell_current_content_view) {
+ view = priv->content_view;
+ nautilus_view_set_location (priv->content_view, location);
}
- if (slot->details->new_content_view != NULL && tell_new_content_view &&
+ if (priv->new_content_view != NULL && tell_new_content_view &&
(!tell_current_content_view ||
- slot->details->new_content_view != slot->details->content_view) ) {
- view = slot->details->new_content_view;
- nautilus_view_set_location (slot->details->new_content_view, location);
+ priv->new_content_view != priv->content_view) ) {
+ view = priv->new_content_view;
+ nautilus_view_set_location (priv->new_content_view, location);
}
if (view) {
/* new_content_view might have changed here if
@@ -1518,8 +1556,8 @@ end_location_change (NautilusWindowSlot *slot)
/* Now we can free details->pending_scroll_to, since the load_complete
* callback already has been emitted.
*/
- g_free (slot->details->pending_scroll_to);
- slot->details->pending_scroll_to = NULL;
+ g_free (priv->pending_scroll_to);
+ priv->pending_scroll_to = NULL;
free_location_change (slot);
}
@@ -1527,24 +1565,24 @@ end_location_change (NautilusWindowSlot *slot)
static void
free_location_change (NautilusWindowSlot *slot)
{
- g_clear_object (&slot->details->pending_location);
- nautilus_file_list_free (slot->details->pending_selection);
- slot->details->pending_selection = NULL;
+ g_clear_object (&priv->pending_location);
+ nautilus_file_list_free (priv->pending_selection);
+ priv->pending_selection = NULL;
/* Don't free details->pending_scroll_to, since thats needed until
* the load_complete callback.
*/
- if (slot->details->mount_cancellable != NULL) {
- g_cancellable_cancel (slot->details->mount_cancellable);
- slot->details->mount_cancellable = NULL;
+ if (priv->mount_cancellable != NULL) {
+ g_cancellable_cancel (priv->mount_cancellable);
+ priv->mount_cancellable = NULL;
}
- if (slot->details->determine_view_file != NULL) {
+ if (priv->determine_view_file != NULL) {
nautilus_file_cancel_call_when_ready
- (slot->details->determine_view_file,
+ (priv->determine_view_file,
got_file_info_for_view_selection_callback, slot);
- slot->details->determine_view_file = NULL;
+ priv->determine_view_file = NULL;
}
}
@@ -1566,20 +1604,20 @@ nautilus_window_slot_set_content_view (NautilusWindowSlot *slot,
return;
}
- selection = nautilus_view_get_selection (slot->details->content_view);
+ selection = nautilus_view_get_selection (priv->content_view);
view = nautilus_files_view_new (id, slot);
nautilus_window_slot_stop_loading (slot);
nautilus_window_slot_set_allow_stop (slot, TRUE);
- if (g_list_length (selection) == 0 && NAUTILUS_IS_FILES_VIEW (slot->details->content_view)) {
+ if (g_list_length (selection) == 0 && NAUTILUS_IS_FILES_VIEW (priv->content_view)) {
/* If there is no selection, queue a scroll to the same icon that
* is currently visible */
- slot->details->pending_scroll_to = nautilus_files_view_get_first_visible_file
(NAUTILUS_FILES_VIEW (slot->details->content_view));
+ priv->pending_scroll_to = nautilus_files_view_get_first_visible_file (NAUTILUS_FILES_VIEW
(priv->content_view));
}
- slot->details->location_change_type = NAUTILUS_LOCATION_CHANGE_RELOAD;
+ priv->location_change_type = NAUTILUS_LOCATION_CHANGE_RELOAD;
if (!setup_view (slot, NAUTILUS_VIEW (view))) {
/* Just load the homedir. */
@@ -1601,7 +1639,7 @@ nautilus_window_back_or_forward (NautilusWindow *window,
GFile *old_location;
slot = nautilus_window_get_active_slot (window);
- list = back ? slot->details->back_list : slot->details->forward_list;
+ list = back ? priv->back_list : priv->forward_list;
len = (guint) g_list_length (list);
@@ -1658,11 +1696,11 @@ nautilus_window_slot_force_reload (NautilusWindowSlot *slot)
g_object_ref (location);
current_pos = NULL;
selection = NULL;
- if (slot->details->new_content_view) {
- selection = nautilus_view_get_selection (slot->details->content_view);
+ if (priv->new_content_view) {
+ selection = nautilus_view_get_selection (priv->content_view);
- if (NAUTILUS_IS_FILES_VIEW (slot->details->new_content_view)) {
- current_pos = nautilus_files_view_get_first_visible_file (NAUTILUS_FILES_VIEW
(slot->details->content_view));
+ if (NAUTILUS_IS_FILES_VIEW (priv->new_content_view)) {
+ current_pos = nautilus_files_view_get_first_visible_file (NAUTILUS_FILES_VIEW
(priv->content_view));
}
}
begin_location_change
@@ -1682,11 +1720,11 @@ nautilus_window_slot_queue_reload (NautilusWindowSlot *slot)
return;
}
- if (slot->details->pending_location != NULL
- || slot->details->content_view == NULL
- || nautilus_view_is_loading (slot->details->content_view)) {
+ if (priv->pending_location != NULL
+ || priv->content_view == NULL
+ || nautilus_view_is_loading (priv->content_view)) {
/* there is a reload in flight */
- slot->details->needs_reload = TRUE;
+ priv->needs_reload = TRUE;
return;
}
@@ -1698,8 +1736,8 @@ nautilus_window_slot_clear_forward_list (NautilusWindowSlot *slot)
{
g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
- g_list_free_full (slot->details->forward_list, g_object_unref);
- slot->details->forward_list = NULL;
+ g_list_free_full (priv->forward_list, g_object_unref);
+ priv->forward_list = NULL;
}
static void
@@ -1707,8 +1745,8 @@ nautilus_window_slot_clear_back_list (NautilusWindowSlot *slot)
{
g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
- g_list_free_full (slot->details->back_list, g_object_unref);
- slot->details->back_list = NULL;
+ g_list_free_full (priv->back_list, g_object_unref);
+ priv->back_list = NULL;
}
static void
@@ -1719,11 +1757,11 @@ nautilus_window_slot_update_bookmark (NautilusWindowSlot *slot, NautilusFile *fi
new_location = nautilus_file_get_location (file);
- if (slot->details->current_location_bookmark == NULL) {
+ if (priv->current_location_bookmark == NULL) {
recreate = TRUE;
} else {
GFile *bookmark_location;
- bookmark_location = nautilus_bookmark_get_location (slot->details->current_location_bookmark);
+ bookmark_location = nautilus_bookmark_get_location (priv->current_location_bookmark);
recreate = !g_file_equal (bookmark_location, new_location);
g_object_unref (bookmark_location);
}
@@ -1732,11 +1770,11 @@ nautilus_window_slot_update_bookmark (NautilusWindowSlot *slot, NautilusFile *fi
char *display_name = NULL;
/* We've changed locations, must recreate bookmark for current location. */
- g_clear_object (&slot->details->last_location_bookmark);
- slot->details->last_location_bookmark = slot->details->current_location_bookmark;
+ g_clear_object (&priv->last_location_bookmark);
+ priv->last_location_bookmark = priv->current_location_bookmark;
display_name = nautilus_file_get_display_name (file);
- slot->details->current_location_bookmark = nautilus_bookmark_new (new_location, display_name);
+ priv->current_location_bookmark = nautilus_bookmark_new (new_location, display_name);
g_free (display_name);
}
@@ -1767,7 +1805,7 @@ check_bookmark_location_matches (NautilusBookmark *bookmark, GFile *location)
static void
check_last_bookmark_location_matches_slot (NautilusWindowSlot *slot)
{
- check_bookmark_location_matches (slot->details->last_location_bookmark,
+ check_bookmark_location_matches (priv->last_location_bookmark,
nautilus_window_slot_get_location (slot));
}
@@ -1781,14 +1819,14 @@ handle_go_direction (NautilusWindowSlot *slot,
NautilusBookmark *bookmark;
gint i;
- list_ptr = (forward) ? (&slot->details->forward_list) : (&slot->details->back_list);
- other_list_ptr = (forward) ? (&slot->details->back_list) : (&slot->details->forward_list);
+ list_ptr = (forward) ? (&priv->forward_list) : (&priv->back_list);
+ other_list_ptr = (forward) ? (&priv->back_list) : (&priv->forward_list);
list = *list_ptr;
other_list = *other_list_ptr;
/* Move items from the list to the other list. */
- g_assert (g_list_length (list) > slot->details->location_change_distance);
- check_bookmark_location_matches (g_list_nth_data (list, slot->details->location_change_distance),
+ g_assert (g_list_length (list) > priv->location_change_distance);
+ check_bookmark_location_matches (g_list_nth_data (list, priv->location_change_distance),
location);
g_assert (nautilus_window_slot_get_location (slot) != NULL);
@@ -1796,11 +1834,11 @@ handle_go_direction (NautilusWindowSlot *slot,
check_last_bookmark_location_matches_slot (slot);
/* Use the first bookmark in the history list rather than creating a new one. */
- other_list = g_list_prepend (other_list, slot->details->last_location_bookmark);
+ other_list = g_list_prepend (other_list, priv->last_location_bookmark);
g_object_ref (other_list->data);
/* Move extra links from the list to the other list */
- for (i = 0; i < slot->details->location_change_distance; ++i) {
+ for (i = 0; i < priv->location_change_distance; ++i) {
bookmark = NAUTILUS_BOOKMARK (list->data);
list = g_list_remove (list, bookmark);
other_list = g_list_prepend (other_list, bookmark);
@@ -1835,9 +1873,9 @@ handle_go_elsewhere (NautilusWindowSlot *slot,
/* Store bookmark for current location in back list, unless there is no current
location */
check_last_bookmark_location_matches_slot (slot);
/* Use the first bookmark in the history list rather than creating a new one. */
- slot->details->back_list = g_list_prepend (slot->details->back_list,
- slot->details->last_location_bookmark);
- g_object_ref (slot->details->back_list->data);
+ priv->back_list = g_list_prepend (priv->back_list,
+ priv->last_location_bookmark);
+ g_object_ref (priv->back_list->data);
}
}
}
@@ -1902,7 +1940,7 @@ found_content_type_cb (const char **x_content_types,
nautilus_window_slot_show_x_content_bar (slot, data->mount, (const char* const *)
x_content_types);
}
- slot->details->find_mount_cancellable = NULL;
+ priv->find_mount_cancellable = NULL;
out:
g_object_unref (data->mount);
@@ -1934,7 +1972,7 @@ found_mount_cb (GObject *source_object,
return;
}
- data->slot->details->find_mount_cancellable = NULL;
+ data->priv->find_mount_cancellable = NULL;
out:
g_object_unref (data->cancellable);
@@ -1998,20 +2036,20 @@ nautilus_window_slot_update_for_new_location (NautilusWindowSlot *slot)
GFile *new_location;
NautilusFile *file;
- new_location = slot->details->pending_location;
- slot->details->pending_location = NULL;
+ new_location = priv->pending_location;
+ priv->pending_location = NULL;
file = nautilus_file_get (new_location);
nautilus_window_slot_update_bookmark (slot, file);
- update_history (slot, slot->details->location_change_type, new_location);
+ update_history (slot, priv->location_change_type, new_location);
/* Create a NautilusFile for this location, so we can catch it
* if it goes away.
*/
nautilus_window_slot_set_viewed_file (slot, file);
- slot->details->viewed_file_seen = !nautilus_file_is_not_yet_confirmed (file);
- slot->details->viewed_file_in_trash = nautilus_file_is_in_trash (file);
+ priv->viewed_file_seen = !nautilus_file_is_not_yet_confirmed (file);
+ priv->viewed_file_in_trash = nautilus_file_is_in_trash (file);
nautilus_file_unref (file);
nautilus_window_slot_set_location (slot, new_location);
@@ -2024,13 +2062,13 @@ static void
view_started_loading (NautilusWindowSlot *slot,
NautilusView *view)
{
- if (view == slot->details->content_view) {
+ if (view == priv->content_view) {
nautilus_window_slot_set_allow_stop (slot, TRUE);
}
- gtk_widget_grab_focus (GTK_WIDGET (slot->details->window));
+ gtk_widget_grab_focus (GTK_WIDGET (priv->window));
- gtk_widget_show (GTK_WIDGET (slot->details->window));
+ gtk_widget_show (GTK_WIDGET (priv->window));
nautilus_window_slot_set_loading (slot, TRUE);
}
@@ -2039,17 +2077,17 @@ static void
view_ended_loading (NautilusWindowSlot *slot,
NautilusView *view)
{
- if (view == slot->details->content_view) {
- if (NAUTILUS_IS_FILES_VIEW (view) && slot->details->pending_scroll_to != NULL) {
- nautilus_files_view_scroll_to_file (NAUTILUS_FILES_VIEW
(slot->details->content_view), slot->details->pending_scroll_to);
+ if (view == priv->content_view) {
+ if (NAUTILUS_IS_FILES_VIEW (view) && priv->pending_scroll_to != NULL) {
+ nautilus_files_view_scroll_to_file (NAUTILUS_FILES_VIEW (priv->content_view),
priv->pending_scroll_to);
}
end_location_change (slot);
}
- if (slot->details->needs_reload) {
+ if (priv->needs_reload) {
nautilus_window_slot_queue_reload (slot);
- slot->details->needs_reload = FALSE;
+ priv->needs_reload = FALSE;
}
nautilus_window_slot_set_allow_stop (slot, FALSE);
@@ -2116,9 +2154,9 @@ nautilus_window_slot_setup_extra_location_widgets (NautilusWindowSlot *slot)
}
/* need the mount to determine if we should put up the x-content cluebar */
- if (slot->details->find_mount_cancellable != NULL) {
- g_cancellable_cancel (slot->details->find_mount_cancellable);
- slot->details->find_mount_cancellable = NULL;
+ if (priv->find_mount_cancellable != NULL) {
+ g_cancellable_cancel (priv->find_mount_cancellable);
+ priv->find_mount_cancellable = NULL;
}
data = g_new (FindMountData, 1);
@@ -2126,7 +2164,7 @@ nautilus_window_slot_setup_extra_location_widgets (NautilusWindowSlot *slot)
data->cancellable = g_cancellable_new ();
data->mount = NULL;
- slot->details->find_mount_cancellable = data->cancellable;
+ priv->find_mount_cancellable = data->cancellable;
g_file_find_enclosing_mount_async (location,
G_PRIORITY_DEFAULT,
data->cancellable,
@@ -2141,8 +2179,8 @@ nautilus_window_slot_setup_extra_location_widgets (NautilusWindowSlot *slot)
static void
nautilus_window_slot_connect_new_content_view (NautilusWindowSlot *slot)
{
- if (slot->details->new_content_view) {
- g_signal_connect (slot->details->new_content_view,
+ if (priv->new_content_view) {
+ g_signal_connect (priv->new_content_view,
"notify::is-loading",
G_CALLBACK (view_is_loading_changed_cb),
slot);
@@ -2152,9 +2190,9 @@ nautilus_window_slot_connect_new_content_view (NautilusWindowSlot *slot)
static void
nautilus_window_slot_disconnect_content_view (NautilusWindowSlot *slot)
{
- if (slot->details->new_content_view && NAUTILUS_IS_FILES_VIEW (slot->details->new_content_view)) {
+ if (priv->new_content_view && NAUTILUS_IS_FILES_VIEW (priv->new_content_view)) {
/* disconnect old view */
- g_signal_handlers_disconnect_by_func (slot->details->content_view,
+ g_signal_handlers_disconnect_by_func (priv->content_view,
G_CALLBACK (view_is_loading_changed_cb),
slot);
}
@@ -2166,25 +2204,25 @@ nautilus_window_slot_switch_new_content_view (NautilusWindowSlot *slot)
GtkWidget *widget;
gboolean reusing_view;
- reusing_view = slot->details->new_content_view &&
- gtk_widget_get_parent (GTK_WIDGET (slot->details->new_content_view)) != NULL;
+ reusing_view = priv->new_content_view &&
+ gtk_widget_get_parent (GTK_WIDGET (priv->new_content_view)) != NULL;
/* We are either reusing the view, so new_content_view and content_view
* are the same, or the new_content_view is invalid */
- if (slot->details->new_content_view == NULL || reusing_view)
+ if (priv->new_content_view == NULL || reusing_view)
goto done;
- if (slot->details->content_view != NULL) {
- widget = GTK_WIDGET (slot->details->content_view);
+ if (priv->content_view != NULL) {
+ widget = GTK_WIDGET (priv->content_view);
gtk_widget_destroy (widget);
- g_object_unref (slot->details->content_view);
- slot->details->content_view = NULL;
+ g_object_unref (priv->content_view);
+ priv->content_view = NULL;
}
- if (slot->details->new_content_view != NULL) {
- slot->details->content_view = slot->details->new_content_view;
- slot->details->new_content_view = NULL;
+ if (priv->new_content_view != NULL) {
+ priv->content_view = priv->new_content_view;
+ priv->new_content_view = NULL;
- widget = GTK_WIDGET (slot->details->content_view);
+ widget = GTK_WIDGET (priv->content_view);
gtk_container_add (GTK_CONTAINER (slot), widget);
gtk_widget_set_vexpand (widget, TRUE);
gtk_widget_show (widget);
@@ -2196,7 +2234,7 @@ nautilus_window_slot_switch_new_content_view (NautilusWindowSlot *slot)
done:
/* Clean up, so we don't confuse having a new_content_view available or
* just that we didn't care about it here */
- slot->details->new_content_view = NULL;
+ priv->new_content_view = NULL;
}
@@ -2212,7 +2250,7 @@ change_view (NautilusWindowSlot *slot)
nautilus_window_slot_remove_extra_location_widgets (slot);
nautilus_window_slot_switch_new_content_view (slot);
- if (slot->details->pending_location != NULL) {
+ if (priv->pending_location != NULL) {
/* Tell the window we are finished. */
nautilus_window_slot_update_for_new_location (slot);
}
@@ -2236,39 +2274,39 @@ nautilus_window_slot_dispose (GObject *object)
nautilus_window_slot_remove_extra_location_widgets (slot);
- if (slot->details->content_view) {
- widget = GTK_WIDGET (slot->details->content_view);
+ if (priv->content_view) {
+ widget = GTK_WIDGET (priv->content_view);
gtk_widget_destroy (widget);
- g_object_unref (slot->details->content_view);
- slot->details->content_view = NULL;
+ g_object_unref (priv->content_view);
+ priv->content_view = NULL;
}
- if (slot->details->new_content_view) {
- widget = GTK_WIDGET (slot->details->new_content_view);
+ if (priv->new_content_view) {
+ widget = GTK_WIDGET (priv->new_content_view);
gtk_widget_destroy (widget);
- g_object_unref (slot->details->new_content_view);
- slot->details->new_content_view = NULL;
+ g_object_unref (priv->new_content_view);
+ priv->new_content_view = NULL;
}
nautilus_window_slot_set_viewed_file (slot, NULL);
- g_clear_object (&slot->details->location);
+ g_clear_object (&priv->location);
- nautilus_file_list_free (slot->details->pending_selection);
- slot->details->pending_selection = NULL;
+ nautilus_file_list_free (priv->pending_selection);
+ priv->pending_selection = NULL;
- g_clear_object (&slot->details->current_location_bookmark);
- g_clear_object (&slot->details->last_location_bookmark);
+ g_clear_object (&priv->current_location_bookmark);
+ g_clear_object (&priv->last_location_bookmark);
- if (slot->details->find_mount_cancellable != NULL) {
- g_cancellable_cancel (slot->details->find_mount_cancellable);
- slot->details->find_mount_cancellable = NULL;
+ if (priv->find_mount_cancellable != NULL) {
+ g_cancellable_cancel (priv->find_mount_cancellable);
+ priv->find_mount_cancellable = NULL;
}
- slot->details->window = NULL;
+ priv->window = NULL;
- g_free (slot->details->title);
- slot->details->title = NULL;
+ g_free (priv->title);
+ priv->title = NULL;
free_location_change (slot);
@@ -2285,11 +2323,11 @@ nautilus_window_slot_grab_focus (GtkWidget *widget)
GTK_WIDGET_CLASS (nautilus_window_slot_parent_class)->grab_focus (widget);
if (nautilus_window_slot_get_search_visible (slot)) {
- gtk_widget_grab_focus (GTK_WIDGET (slot->details->query_editor));
- } else if (slot->details->content_view) {
- gtk_widget_grab_focus (GTK_WIDGET (slot->details->content_view));
- } else if (slot->details->new_content_view) {
- gtk_widget_grab_focus (GTK_WIDGET (slot->details->new_content_view));
+ gtk_widget_grab_focus (GTK_WIDGET (priv->query_editor));
+ } else if (priv->content_view) {
+ gtk_widget_grab_focus (GTK_WIDGET (priv->content_view));
+ } else if (priv->new_content_view) {
+ gtk_widget_grab_focus (GTK_WIDGET (priv->new_content_view));
}
}
@@ -2377,13 +2415,13 @@ nautilus_window_slot_get_location (NautilusWindowSlot *slot)
{
g_assert (slot != NULL);
- return slot->details->location;
+ return priv->location;
}
const gchar *
nautilus_window_slot_get_title (NautilusWindowSlot *slot)
{
- return slot->details->title;
+ return priv->title;
}
char *
@@ -2391,8 +2429,8 @@ nautilus_window_slot_get_location_uri (NautilusWindowSlot *slot)
{
g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
- if (slot->details->location) {
- return g_file_get_uri (slot->details->location);
+ if (priv->location) {
+ return g_file_get_uri (priv->location);
}
return NULL;
}
@@ -2401,7 +2439,7 @@ NautilusWindow *
nautilus_window_slot_get_window (NautilusWindowSlot *slot)
{
g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
- return slot->details->window;
+ return priv->window;
}
void
@@ -2411,8 +2449,8 @@ nautilus_window_slot_set_window (NautilusWindowSlot *slot,
g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
g_assert (NAUTILUS_IS_WINDOW (window));
- if (slot->details->window != window) {
- slot->details->window = window;
+ if (priv->window != window) {
+ priv->window = window;
g_object_notify_by_pspec (G_OBJECT (slot), properties[PROP_WINDOW]);
}
}
@@ -2431,18 +2469,18 @@ nautilus_window_slot_update_title (NautilusWindowSlot *slot)
char *title;
gboolean do_sync = FALSE;
- title = nautilus_compute_title_for_location (slot->details->location);
+ title = nautilus_compute_title_for_location (priv->location);
window = nautilus_window_slot_get_window (slot);
- if (g_strcmp0 (title, slot->details->title) != 0) {
+ if (g_strcmp0 (title, priv->title) != 0) {
do_sync = TRUE;
- g_free (slot->details->title);
- slot->details->title = title;
+ g_free (priv->title);
+ priv->title = title;
title = NULL;
}
- if (strlen (slot->details->title) > 0) {
+ if (strlen (priv->title) > 0) {
do_sync = TRUE;
}
@@ -2458,7 +2496,7 @@ nautilus_window_slot_update_title (NautilusWindowSlot *slot)
gboolean
nautilus_window_slot_get_allow_stop (NautilusWindowSlot *slot)
{
- return slot->details->allow_stop;
+ return priv->allow_stop;
}
void
@@ -2469,7 +2507,7 @@ nautilus_window_slot_set_allow_stop (NautilusWindowSlot *slot,
g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
- slot->details->allow_stop = allow;
+ priv->allow_stop = allow;
window = nautilus_window_slot_get_window (slot);
nautilus_window_sync_allow_stop (window, slot);
@@ -2484,24 +2522,24 @@ nautilus_window_slot_stop_loading (NautilusWindowSlot *slot)
location = nautilus_window_slot_get_location (slot);
- directory = nautilus_directory_get (slot->details->location);
+ directory = nautilus_directory_get (priv->location);
- if (NAUTILUS_IS_FILES_VIEW (slot->details->content_view)) {
- nautilus_files_view_stop_loading (NAUTILUS_FILES_VIEW (slot->details->content_view));
+ if (NAUTILUS_IS_FILES_VIEW (priv->content_view)) {
+ nautilus_files_view_stop_loading (NAUTILUS_FILES_VIEW (priv->content_view));
}
nautilus_directory_unref (directory);
- if (slot->details->pending_location != NULL &&
+ if (priv->pending_location != NULL &&
location != NULL &&
- slot->details->content_view != NULL &&
- NAUTILUS_IS_FILES_VIEW (slot->details->content_view)) {
+ priv->content_view != NULL &&
+ NAUTILUS_IS_FILES_VIEW (priv->content_view)) {
/* No need to tell the new view - either it is the
* same as the old view, in which case it will already
* be told, or it is the very pending change we wish
* to cancel.
*/
- selection = nautilus_view_get_selection (slot->details->content_view);
+ selection = nautilus_view_get_selection (priv->content_view);
load_new_location (slot,
location,
selection,
@@ -2512,19 +2550,19 @@ nautilus_window_slot_stop_loading (NautilusWindowSlot *slot)
end_location_change (slot);
- if (slot->details->new_content_view) {
- g_object_unref (slot->details->new_content_view);
- slot->details->new_content_view = NULL;
+ if (priv->new_content_view) {
+ g_object_unref (priv->new_content_view);
+ priv->new_content_view = NULL;
}
}
NautilusView*
nautilus_window_slot_get_current_view (NautilusWindowSlot *slot)
{
- if (slot->details->content_view != NULL) {
- return slot->details->content_view;
- } else if (slot->details->new_content_view) {
- return slot->details->new_content_view;
+ if (priv->content_view != NULL) {
+ return priv->content_view;
+ } else if (priv->new_content_view) {
+ return priv->new_content_view;
}
return NULL;
@@ -2533,19 +2571,19 @@ nautilus_window_slot_get_current_view (NautilusWindowSlot *slot)
NautilusBookmark *
nautilus_window_slot_get_bookmark (NautilusWindowSlot *slot)
{
- return slot->details->current_location_bookmark;
+ return priv->current_location_bookmark;
}
GList *
nautilus_window_slot_get_back_history (NautilusWindowSlot *slot)
{
- return slot->details->back_list;
+ return priv->back_list;
}
GList *
nautilus_window_slot_get_forward_history (NautilusWindowSlot *slot)
{
- return slot->details->forward_list;
+ return priv->forward_list;
}
NautilusWindowSlot *
@@ -2585,7 +2623,7 @@ nautilus_window_slot_get_active (NautilusWindowSlot *slot)
{
g_return_val_if_fail (NAUTILUS_IS_WINDOW_SLOT (slot), FALSE);
- return slot->details->active;
+ return priv->active;
}
void
@@ -2594,8 +2632,8 @@ nautilus_window_slot_set_active (NautilusWindowSlot *slot,
{
g_return_if_fail (NAUTILUS_IS_WINDOW_SLOT (slot));
- if (slot->details->active != active) {
- slot->details->active = active;
+ if (priv->active != active) {
+ priv->active = active;
if (active) {
g_signal_emit (slot, signals[ACTIVE], 0);
@@ -2613,7 +2651,7 @@ nautilus_window_slot_set_loading (NautilusWindowSlot *slot,
{
g_return_if_fail (NAUTILUS_IS_WINDOW_SLOT (slot));
- slot->details->loading = loading;
+ priv->loading = loading;
g_object_notify_by_pspec (G_OBJECT (slot), properties[PROP_LOADING]);
}
@@ -2623,5 +2661,5 @@ nautilus_window_slot_get_loading (NautilusWindowSlot *slot)
{
g_return_val_if_fail (NAUTILUS_IS_WINDOW_SLOT (slot), FALSE);
- return slot->details->loading;
+ return priv->loading;
}
diff --git a/src/nautilus-window-slot.h b/src/nautilus-window-slot.h
index 4c7f564..d8ccb77 100644
--- a/src/nautilus-window-slot.h
+++ b/src/nautilus-window-slot.h
@@ -24,22 +24,10 @@
#define NAUTILUS_WINDOW_SLOT_H
#include "nautilus-query-editor.h"
-
-typedef struct NautilusWindowSlot NautilusWindowSlot;
-typedef struct NautilusWindowSlotClass NautilusWindowSlotClass;
-typedef struct NautilusWindowSlotDetails NautilusWindowSlotDetails;
-
#include "nautilus-files-view.h"
#include "nautilus-view.h"
#include "nautilus-window.h"
-#define NAUTILUS_TYPE_WINDOW_SLOT (nautilus_window_slot_get_type())
-#define NAUTILUS_WINDOW_SLOT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), NAUTILUS_TYPE_WINDOW_SLOT,
NautilusWindowSlotClass))
-#define NAUTILUS_WINDOW_SLOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NAUTILUS_TYPE_WINDOW_SLOT,
NautilusWindowSlot))
-#define NAUTILUS_IS_WINDOW_SLOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NAUTILUS_TYPE_WINDOW_SLOT))
-#define NAUTILUS_IS_WINDOW_SLOT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NAUTILUS_TYPE_WINDOW_SLOT))
-#define NAUTILUS_WINDOW_SLOT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NAUTILUS_TYPE_WINDOW_SLOT,
NautilusWindowSlotClass))
-
typedef enum {
NAUTILUS_LOCATION_CHANGE_STANDARD,
NAUTILUS_LOCATION_CHANGE_BACK,
@@ -47,25 +35,24 @@ typedef enum {
NAUTILUS_LOCATION_CHANGE_RELOAD
} NautilusLocationChangeType;
+#define NAUTILUS_TYPE_WINDOW_SLOT (nautilus_window_slot_get_type ())
+G_DECLARE_DERIVABLE_TYPE (NautilusWindowSlot, nautilus_window_slot, NAUTILUS, WINDOW_SLOT, GtkBox)
+
struct NautilusWindowSlotClass {
GtkBoxClass parent_class;
/* wrapped NautilusWindowInfo signals, for overloading */
void (* active) (NautilusWindowSlot *slot);
void (* inactive) (NautilusWindowSlot *slot);
-};
-
-/* Each NautilusWindowSlot corresponds to a location in the window
- * for displaying a NautilusFilesView, i.e. a tab.
- */
-struct NautilusWindowSlot {
- GtkBox parent;
- NautilusWindowSlotDetails *details;
+ /* Use this in case the subclassed slot has some special views differents
+ * that the ones supported here. You can return your nautilus view
+ * subclass in this function.
+ */
+ NautilusView* (* get_view_for_location) (NautilusWindowSlot *slot,
+ GFile *location);
};
-GType nautilus_window_slot_get_type (void);
-
NautilusWindowSlot * nautilus_window_slot_new (NautilusWindow *window);
NautilusWindow * nautilus_window_slot_get_window (NautilusWindowSlot *slot);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]