summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2015-07-24 19:20:58 -0300
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2015-07-24 19:20:58 -0300
commit873f252a2b8f65898f0695fb18f326d101505601 (patch)
tree5819fd6dd44b5e9d9da391956c6a76e366895ec6
parente602d19f8ec14cc33668a40cf4d40a20166610b4 (diff)
downloadnautilus-wip/gbsneto/other-locations.tar.gz
files-view: implement NautilusView interfacewip/gbsneto/other-locations
NautilusFilesView has some of its functionalities covered by NautilusView interface. The interface itself was developed to factor out some common behavior between the future views. Implement some NautilusView methods, and use the appropriate functions throughout the codebase.
-rw-r--r--src/nautilus-canvas-view.c19
-rw-r--r--src/nautilus-desktop-canvas-view.c4
-rw-r--r--src/nautilus-files-view.c169
-rw-r--r--src/nautilus-files-view.h18
-rw-r--r--src/nautilus-list-view.c21
-rw-r--r--src/nautilus-toolbar.c5
-rw-r--r--src/nautilus-window-slot.c22
-rw-r--r--src/nautilus-window-slot.h6
-rw-r--r--src/nautilus-window.c11
9 files changed, 203 insertions, 72 deletions
diff --git a/src/nautilus-canvas-view.c b/src/nautilus-canvas-view.c
index b9f480c69..2079fa846 100644
--- a/src/nautilus-canvas-view.c
+++ b/src/nautilus-canvas-view.c
@@ -24,6 +24,7 @@
#include <config.h>
#include "nautilus-canvas-view.h"
+#include "nautilus-view.h"
#include "nautilus-canvas-view-container.h"
#include "nautilus-desktop-canvas-view.h"
@@ -387,7 +388,7 @@ nautilus_canvas_view_remove_file (NautilusFilesView *view, NautilusFile *file, N
g_warning ("nautilus_canvas_view_remove_file() - directory not canvas view model, shouldn't happen.\n"
"file: %p:%s, dir: %p:%s, model: %p:%s, view loading: %d\n"
"If you see this, please add this info to http://bugzilla.gnome.org/show_bug.cgi?id=368178",
- file, file_uri, directory, dir_uri, nautilus_files_view_get_model (view), model_uri, nautilus_files_view_get_loading (view));
+ file, file_uri, directory, dir_uri, nautilus_files_view_get_model (view), model_uri, nautilus_view_get_loading (NAUTILUS_VIEW (view)));
g_free (file_uri);
g_free (dir_uri);
g_free (model_uri);
@@ -413,7 +414,7 @@ nautilus_canvas_view_add_file (NautilusFilesView *view, NautilusFile *file, Naut
canvas_container = get_canvas_container (canvas_view);
/* Reset scroll region for the first canvas added when loading a directory. */
- if (nautilus_files_view_get_loading (view) && nautilus_canvas_container_is_empty (canvas_container)) {
+ if (nautilus_view_get_loading (NAUTILUS_VIEW (view)) && nautilus_canvas_container_is_empty (canvas_container)) {
nautilus_canvas_container_reset_scroll_region (canvas_container);
}
@@ -808,7 +809,7 @@ nautilus_canvas_view_zoom_to_level (NautilusFilesView *view,
return;
nautilus_canvas_container_set_zoom_level (canvas_container, new_level);
- g_action_group_change_action_state (nautilus_files_view_get_action_group (view),
+ g_action_group_change_action_state (nautilus_view_get_action_group (NAUTILUS_VIEW (view)),
"zoom-to-level", g_variant_new_int32 (new_level));
nautilus_files_view_update_toolbar_menus (view);
@@ -1040,7 +1041,7 @@ update_sort_action_state_hint (NautilusCanvasView *canvas_view)
state_hint = g_variant_builder_end (&builder);
- action_group = nautilus_files_view_get_action_group (NAUTILUS_FILES_VIEW (canvas_view));
+ action_group = nautilus_view_get_action_group (NAUTILUS_VIEW (canvas_view));
action = g_action_map_lookup_action (G_ACTION_MAP (action_group), "sort");
g_simple_action_set_state_hint (G_SIMPLE_ACTION (action), state_hint);
@@ -1071,7 +1072,7 @@ nautilus_canvas_view_update_actions_state (NautilusFilesView *view)
NAUTILUS_FILES_VIEW_CLASS (nautilus_canvas_view_parent_class)->update_actions_state (view);
- view_action_group = nautilus_files_view_get_action_group (view);
+ view_action_group = nautilus_view_get_action_group (NAUTILUS_VIEW (view));
if (nautilus_canvas_view_supports_auto_layout (canvas_view)) {
GVariant *sort_state;
GVariant *reversed_state;
@@ -1356,7 +1357,7 @@ canvas_container_context_click_selection_callback (NautilusCanvasContainer *cont
g_assert (NAUTILUS_IS_CANVAS_CONTAINER (container));
g_assert (NAUTILUS_IS_CANVAS_VIEW (canvas_view));
- nautilus_files_view_pop_up_selection_context_menu (NAUTILUS_FILES_VIEW (canvas_view), event);
+ nautilus_view_popup_menu (NAUTILUS_VIEW (canvas_view), NAUTILUS_VIEW_MENU_SELECTION, event, NULL);
}
static void
@@ -1367,7 +1368,7 @@ canvas_container_context_click_background_callback (NautilusCanvasContainer *con
g_assert (NAUTILUS_IS_CANVAS_CONTAINER (container));
g_assert (NAUTILUS_IS_CANVAS_VIEW (canvas_view));
- nautilus_files_view_pop_up_background_context_menu (NAUTILUS_FILES_VIEW (canvas_view), event);
+ nautilus_view_popup_menu (NAUTILUS_VIEW (canvas_view), NAUTILUS_VIEW_MENU_BACKGROUND, event, NULL);
}
static void
@@ -1961,13 +1962,13 @@ nautilus_canvas_view_init (NautilusCanvasView *canvas_view)
"clipboard-info",
G_CALLBACK (canvas_view_notify_clipboard_info), canvas_view);
- view_action_group = nautilus_files_view_get_action_group (NAUTILUS_FILES_VIEW (canvas_view));
+ view_action_group = nautilus_view_get_action_group (NAUTILUS_VIEW (canvas_view));
g_action_map_add_action_entries (G_ACTION_MAP (view_action_group),
canvas_view_entries,
G_N_ELEMENTS (canvas_view_entries),
canvas_view);
/* Keep the action synced with the actual value, so the toolbar can poll it */
- g_action_group_change_action_state (nautilus_files_view_get_action_group (NAUTILUS_FILES_VIEW (canvas_view)),
+ g_action_group_change_action_state (nautilus_view_get_action_group (NAUTILUS_VIEW (canvas_view)),
"zoom-to-level", g_variant_new_int32 (get_default_zoom_level (canvas_view)));
}
diff --git a/src/nautilus-desktop-canvas-view.c b/src/nautilus-desktop-canvas-view.c
index 6c1091cbb..4c4785d25 100644
--- a/src/nautilus-desktop-canvas-view.c
+++ b/src/nautilus-desktop-canvas-view.c
@@ -648,7 +648,7 @@ real_update_context_menus (NautilusFilesView *view)
NAUTILUS_FILES_VIEW_CLASS (nautilus_desktop_canvas_view_parent_class)->update_context_menus (view);
- view_action_group = nautilus_files_view_get_action_group (view);
+ view_action_group = nautilus_view_get_action_group (NAUTILUS_VIEW (view));
desktop_view = NAUTILUS_DESKTOP_CANVAS_VIEW (view);
action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group), "empty-trash");
@@ -755,7 +755,7 @@ nautilus_desktop_canvas_view_init (NautilusDesktopCanvasView *desktop_canvas_vie
G_CALLBACK (nautilus_files_view_update_context_menus),
desktop_canvas_view);
- view_action_group = nautilus_files_view_get_action_group (NAUTILUS_FILES_VIEW (desktop_canvas_view));
+ view_action_group = nautilus_view_get_action_group (NAUTILUS_VIEW (desktop_canvas_view));
g_action_map_add_action_entries (G_ACTION_MAP (view_action_group),
desktop_view_entries,
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 7806b4554..74f6b2497 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -38,6 +38,7 @@
#include "nautilus-properties-window.h"
#include "nautilus-window.h"
#include "nautilus-toolbar.h"
+#include "nautilus-view.h"
#if ENABLE_EMPTY_VIEW
#include "nautilus-empty-view.h"
@@ -137,6 +138,11 @@ enum {
enum {
PROP_WINDOW_SLOT = 1,
PROP_SUPPORTS_ZOOMING,
+ PROP_ACTION_GROUP,
+ PROP_LOADING,
+ PROP_LOCATION,
+ PROP_SEARCH_QUERY,
+ PROP_OPERATIONS,
NUM_PROPERTIES
};
@@ -226,6 +232,8 @@ struct NautilusFilesViewDetails
GMenu *pathbar_menu;
GActionGroup *view_action_group;
+
+ NautilusViewOperation supported_operations;
};
typedef struct {
@@ -268,7 +276,16 @@ static void update_templates_directory (NautilusFilesVie
static void unschedule_pop_up_pathbar_context_menu (NautilusFilesView *view);
-G_DEFINE_TYPE (NautilusFilesView, nautilus_files_view, GTK_TYPE_SCROLLED_WINDOW);
+static void nautilus_view_iface_init (NautilusViewInterface *view);
+
+static void nautilus_files_view_pop_up_pathbar_context_menu (NautilusFilesView *view,
+ GdkEventButton *event,
+ const gchar *location);
+
+G_DEFINE_TYPE_WITH_CODE (NautilusFilesView,
+ nautilus_files_view,
+ GTK_TYPE_SCROLLED_WINDOW,
+ G_IMPLEMENT_INTERFACE (NAUTILUS_TYPE_VIEW, nautilus_view_iface_init));
static char *
real_get_backing_uri (NautilusFilesView *view)
@@ -2887,6 +2904,7 @@ done_loading (NautilusFilesView *view,
view->details->loading = FALSE;
g_signal_emit (view, signals[END_LOADING], 0, all_files_seen);
+ g_object_notify (G_OBJECT (view), "loading");
nautilus_profile_end (NULL);
}
@@ -3667,12 +3685,12 @@ nautilus_files_view_remove_subdirectory (NautilusFilesView *view,
* Return value: #gboolean inicating whether @view is currently loaded.
*
**/
-gboolean
-nautilus_files_view_get_loading (NautilusFilesView *view)
+static gboolean
+nautilus_files_view_get_loading (NautilusView *view)
{
- g_return_val_if_fail (NAUTILUS_IS_VIEW (view), FALSE);
+ g_return_val_if_fail (NAUTILUS_IS_FILES_VIEW (view), FALSE);
- return view->details->loading;
+ return NAUTILUS_FILES_VIEW (view)->details->loading;
}
/**
@@ -5982,12 +6000,12 @@ all_in_trash (GList *files)
return TRUE;
}
-GActionGroup *
-nautilus_files_view_get_action_group (NautilusFilesView *view)
+static GActionGroup*
+nautilus_files_view_get_action_group (NautilusView *view)
{
g_assert (NAUTILUS_IS_VIEW (view));
- return view->details->view_action_group;
+ return NAUTILUS_FILES_VIEW (view)->details->view_action_group;
}
static void
@@ -6593,9 +6611,9 @@ nautilus_files_view_update_toolbar_menus (NautilusFilesView *view)
* @event: The event that triggered this context menu.
*
**/
-void
-nautilus_files_view_pop_up_selection_context_menu (NautilusFilesView *view,
- GdkEventButton *event)
+static void
+nautilus_files_view_pop_up_selection_context_menu (NautilusFilesView *view,
+ GdkEventButton *event)
{
g_assert (NAUTILUS_IS_VIEW (view));
@@ -6616,9 +6634,9 @@ nautilus_files_view_pop_up_selection_context_menu (NautilusFilesView *view,
* @view: NautilusFilesView of interest.
*
**/
-void
-nautilus_files_view_pop_up_background_context_menu (NautilusFilesView *view,
- GdkEventButton *event)
+static void
+nautilus_files_view_pop_up_background_context_menu (NautilusFilesView *view,
+ GdkEventButton *event)
{
g_assert (NAUTILUS_IS_VIEW (view));
@@ -6713,10 +6731,10 @@ schedule_pop_up_pathbar_context_menu (NautilusFilesView *view,
* or NULL for the currently displayed location.
*
**/
-void
-nautilus_files_view_pop_up_pathbar_context_menu (NautilusFilesView *view,
- GdkEventButton *event,
- const char *location)
+static void
+nautilus_files_view_pop_up_pathbar_context_menu (NautilusFilesView *view,
+ GdkEventButton *event,
+ const char *location)
{
NautilusFile *file;
@@ -6877,6 +6895,7 @@ load_directory (NautilusFilesView *view,
g_signal_emit (view, signals[CLEAR], 0);
view->details->loading = TRUE;
+ g_object_notify (G_OBJECT (view), "loading");
/* Update menus when directory is empty, before going to new
* location, so they won't have any false lingering knowledge
@@ -7347,6 +7366,55 @@ real_get_selected_icon_locations (NautilusFilesView *view)
return g_array_new (FALSE, TRUE, sizeof (GdkPoint));
}
+
+static gint
+nautilus_files_view_get_supported_operations (NautilusView *view)
+{
+ return NAUTILUS_VIEW_OPERATION_BROWSE_GRID |
+ NAUTILUS_VIEW_OPERATION_BROWSE_LIST;
+}
+
+static void
+nautilus_files_view_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ NautilusFilesView *self;
+ NautilusView *view;
+ GFile *file;
+
+ self = NAUTILUS_FILES_VIEW (object);
+ view = NAUTILUS_VIEW (object);
+
+ switch (prop_id) {
+ case PROP_ACTION_GROUP:
+ g_value_set_object (value, nautilus_view_get_action_group (view));
+ break;
+
+ case PROP_LOADING:
+ g_value_set_boolean (value, nautilus_view_get_loading (view));
+ break;
+
+ case PROP_LOCATION:
+ file = nautilus_file_get_location (nautilus_files_view_get_directory_as_file (self));
+ g_value_set_object (value, file);
+ break;
+
+ case PROP_OPERATIONS:
+ g_value_set_flags (value, nautilus_files_view_get_supported_operations (view));
+ break;
+
+ case PROP_SEARCH_QUERY:
+ g_value_set_object (value, NULL);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
static void
nautilus_files_view_set_property (GObject *object,
guint prop_id,
@@ -7375,6 +7443,9 @@ nautilus_files_view_set_property (GObject *object,
case PROP_SUPPORTS_ZOOMING:
directory_view->details->supports_zooming = g_value_get_boolean (value);
break;
+
+ case PROP_SEARCH_QUERY:
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -7479,6 +7550,41 @@ nautilus_files_view_parent_set (GtkWidget *widget,
}
static void
+nautilus_files_view_pop_up_menu (NautilusView *view,
+ NautilusViewMenutype menu_type,
+ GdkEventButton *event,
+ const gchar *location)
+{
+ NautilusFilesView *files_view = NAUTILUS_FILES_VIEW (view);
+
+ switch (menu_type) {
+ case NAUTILUS_VIEW_MENU_BACKGROUND:
+ nautilus_files_view_pop_up_background_context_menu (files_view, event);
+ break;
+
+ case NAUTILUS_VIEW_MENU_PATHBAR:
+ nautilus_files_view_pop_up_pathbar_context_menu (files_view, event, location);
+ break;
+
+ case NAUTILUS_VIEW_MENU_SELECTION:
+ nautilus_files_view_pop_up_selection_context_menu (files_view, event);
+ break;
+
+ default:
+ g_assert_not_reached ();
+ }
+}
+
+static void
+nautilus_view_iface_init (NautilusViewInterface *iface)
+{
+ iface->get_action_group = nautilus_files_view_get_action_group;
+ iface->get_loading = nautilus_files_view_get_loading;
+ iface->get_supported_operations = nautilus_files_view_get_supported_operations;
+ iface->popup_menu = nautilus_files_view_pop_up_menu;
+}
+
+static void
nautilus_files_view_class_init (NautilusFilesViewClass *klass)
{
GObjectClass *oclass;
@@ -7491,6 +7597,7 @@ nautilus_files_view_class_init (NautilusFilesViewClass *klass)
oclass->finalize = nautilus_files_view_finalize;
oclass->set_property = nautilus_files_view_set_property;
+ oclass->get_property = nautilus_files_view_get_property;
widget_class->destroy = nautilus_files_view_destroy;
widget_class->scroll_event = nautilus_files_view_scroll_event;
@@ -7602,7 +7709,28 @@ nautilus_files_view_class_init (NautilusFilesViewClass *klass)
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS);
- g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
+ g_object_class_override_property (oclass,
+ PROP_ACTION_GROUP,
+ "action-group");
+
+ g_object_class_override_property (oclass,
+ PROP_LOADING,
+ "loading");
+
+ g_object_class_override_property (oclass,
+ PROP_LOCATION,
+ "location");
+
+
+ g_object_class_override_property (oclass,
+ PROP_OPERATIONS,
+ "operations");
+
+ g_object_class_override_property (oclass,
+ PROP_SEARCH_QUERY,
+ "search-query");
+
+ g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
}
static void
@@ -7624,6 +7752,9 @@ nautilus_files_view_init (NautilusFilesView *view)
view->details = G_TYPE_INSTANCE_GET_PRIVATE (view, NAUTILUS_TYPE_FILES_VIEW,
NautilusFilesViewDetails);
+ /* Supported operations */
+ view->details->supported_operations = nautilus_files_view_get_supported_operations (NAUTILUS_VIEW (view));
+
/* Default to true; desktop-icon-view sets to false */
view->details->show_foreign_files = TRUE;
diff --git a/src/nautilus-files-view.h b/src/nautilus-files-view.h
index 23b743e39..46d80a5b0 100644
--- a/src/nautilus-files-view.h
+++ b/src/nautilus-files-view.h
@@ -52,9 +52,9 @@ typedef struct NautilusFilesViewClass NautilusFilesViewClass;
(G_TYPE_CHECK_INSTANCE_CAST ((obj), NAUTILUS_TYPE_FILES_VIEW, NautilusFilesView))
#define NAUTILUS_FILES_VIEW_CLASS(klass)\
(G_TYPE_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_FILES_VIEW, NautilusFilesViewClass))
-#define NAUTILUS_IS_VIEW(obj)\
+#define NAUTILUS_IS_FILES_VIEW(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), NAUTILUS_TYPE_FILES_VIEW))
-#define NAUTILUS_IS_VIEW_CLASS(klass)\
+#define NAUTILUS_IS_FILES_VIEW_CLASS(klass)\
(G_TYPE_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_FILES_VIEW))
#define NAUTILUS_FILES_VIEW_GET_CLASS(obj)\
(G_TYPE_INSTANCE_GET_CLASS ((obj), NAUTILUS_TYPE_FILES_VIEW, NautilusFilesViewClass))
@@ -296,10 +296,9 @@ GdkAtom nautilus_files_view_get_copied_files_atom
* only by NautilusFilesView itself. They have corresponding signals
* that observers might want to connect with.
*/
-gboolean nautilus_files_view_get_loading (NautilusFilesView *view);
-/* Hooks for subclasses to call. These are normally called only by
- * NautilusFilesView and its subclasses
+/* Hooks for subclasses to call. These are normally called only by
+ * NautilusFilesView and its subclasses
*/
void nautilus_files_view_activate_files (NautilusFilesView *view,
GList *files,
@@ -313,10 +312,6 @@ void nautilus_files_view_stop_batching_selection_changes (Nautil
void nautilus_files_view_notify_selection_changed (NautilusFilesView *view);
NautilusDirectory *nautilus_files_view_get_model (NautilusFilesView *view);
NautilusFile *nautilus_files_view_get_directory_as_file (NautilusFilesView *view);
-void nautilus_files_view_pop_up_background_context_menu (NautilusFilesView *view,
- GdkEventButton *event);
-void nautilus_files_view_pop_up_selection_context_menu (NautilusFilesView *view,
- GdkEventButton *event);
gboolean nautilus_files_view_should_show_file (NautilusFilesView *view,
NautilusFile *file);
gboolean nautilus_files_view_should_sort_directories_first (NautilusFilesView *view);
@@ -377,9 +372,6 @@ void nautilus_files_view_zoom_to_level (NautilusFilesV
void nautilus_files_view_restore_default_zoom_level (NautilusFilesView *view);
gboolean nautilus_files_view_can_zoom_in (NautilusFilesView *view);
gboolean nautilus_files_view_can_zoom_out (NautilusFilesView *view);
-void nautilus_files_view_pop_up_pathbar_context_menu (NautilusFilesView *view,
- GdkEventButton *event,
- const char *location);
void nautilus_files_view_grab_focus (NautilusFilesView *view);
void nautilus_files_view_update_menus (NautilusFilesView *view);
@@ -390,6 +382,4 @@ void nautilus_files_view_update_actions_state (NautilusFilesV
void nautilus_files_view_action_show_hidden_files (NautilusFilesView *view,
gboolean show_hidden);
-GActionGroup * nautilus_files_view_get_action_group (NautilusFilesView *view);
-
#endif /* NAUTILUS_FILES_VIEW_H */
diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c
index 6e77db51a..c52078adf 100644
--- a/src/nautilus-list-view.c
+++ b/src/nautilus-list-view.c
@@ -604,9 +604,15 @@ static void
do_popup_menu (GtkWidget *widget, NautilusListView *view, GdkEventButton *event)
{
if (tree_view_has_selection (GTK_TREE_VIEW (widget))) {
- nautilus_files_view_pop_up_selection_context_menu (NAUTILUS_FILES_VIEW (view), event);
+ nautilus_view_popup_menu (NAUTILUS_VIEW (view),
+ NAUTILUS_VIEW_MENU_SELECTION,
+ event,
+ NULL);
} else {
- nautilus_files_view_pop_up_background_context_menu (NAUTILUS_FILES_VIEW (view), event);
+ nautilus_view_popup_menu (NAUTILUS_VIEW (view),
+ NAUTILUS_VIEW_MENU_BACKGROUND,
+ event,
+ NULL);
}
}
@@ -1038,7 +1044,10 @@ key_press_callback (GtkWidget *widget, GdkEventKey *event, gpointer callback_dat
switch (event->keyval) {
case GDK_KEY_F10:
if (event->state & GDK_CONTROL_MASK) {
- nautilus_files_view_pop_up_background_context_menu (view, &button_event);
+ nautilus_view_popup_menu (NAUTILUS_VIEW (view),
+ NAUTILUS_VIEW_MENU_BACKGROUND,
+ &button_event,
+ NULL);
handled = TRUE;
}
break;
@@ -2655,7 +2664,7 @@ nautilus_list_view_zoom_to_level (NautilusFilesView *view,
}
nautilus_list_view_set_zoom_level (list_view, zoom_level);
- g_action_group_change_action_state (nautilus_files_view_get_action_group (view),
+ g_action_group_change_action_state (nautilus_view_get_action_group (NAUTILUS_VIEW (view)),
"zoom-to-level", g_variant_new_int32 (zoom_level));
nautilus_files_view_update_toolbar_menus (view);
@@ -3316,13 +3325,13 @@ nautilus_list_view_init (NautilusListView *list_view)
"clipboard-info",
G_CALLBACK (list_view_notify_clipboard_info), list_view);
- view_action_group = nautilus_files_view_get_action_group (NAUTILUS_FILES_VIEW (list_view));
+ view_action_group = nautilus_view_get_action_group (NAUTILUS_VIEW (list_view));
g_action_map_add_action_entries (G_ACTION_MAP (view_action_group),
list_view_entries,
G_N_ELEMENTS (list_view_entries),
list_view);
/* Keep the action synced with the actual value, so the toolbar can poll it */
- g_action_group_change_action_state (nautilus_files_view_get_action_group (NAUTILUS_FILES_VIEW (list_view)),
+ g_action_group_change_action_state (nautilus_view_get_action_group (NAUTILUS_VIEW (list_view)),
"zoom-to-level", g_variant_new_int32 (get_default_zoom_level ()));
}
diff --git a/src/nautilus-toolbar.c b/src/nautilus-toolbar.c
index b99bb8417..a3c3b0d0a 100644
--- a/src/nautilus-toolbar.c
+++ b/src/nautilus-toolbar.c
@@ -25,6 +25,7 @@
#include <config.h>
#include "nautilus-toolbar.h"
+#include "nautilus-view.h"
#include "nautilus-location-entry.h"
#include "nautilus-pathbar.h"
@@ -417,7 +418,7 @@ zoom_level_changed (GtkRange *range,
slot = nautilus_window_get_active_slot (self->priv->window);
view = nautilus_window_slot_get_current_view (slot);
- g_action_group_change_action_state (nautilus_files_view_get_action_group (view),
+ g_action_group_change_action_state (nautilus_view_get_action_group (NAUTILUS_VIEW (view)),
"zoom-to-level",
g_variant_new_int32 ((gint) zoom_level));
}
@@ -932,7 +933,7 @@ nautilus_toolbar_reset_menus (NautilusToolbar *self)
* the view menu and action menu of the toolbar */
slot = nautilus_window_get_active_slot (self->priv->window);
view = nautilus_window_slot_get_current_view (slot);
- view_action_group = nautilus_files_view_get_action_group (view);
+ view_action_group = nautilus_view_get_action_group (NAUTILUS_VIEW (view));
gtk_widget_insert_action_group (GTK_WIDGET (self),
"view",
G_ACTION_GROUP (view_action_group));
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c
index 7ccd84159..5b2608abc 100644
--- a/src/nautilus-window-slot.c
+++ b/src/nautilus-window-slot.c
@@ -28,7 +28,6 @@
#include "nautilus-canvas-view.h"
#include "nautilus-desktop-window.h"
#include "nautilus-floating-bar.h"
-#include "nautilus-list-view.h"
#include "nautilus-special-location-bar.h"
#include "nautilus-trash-bar.h"
#include "nautilus-window.h"
@@ -82,8 +81,8 @@ struct NautilusWindowSlotDetails {
gchar *title;
/* Viewed file */
- NautilusFilesView *content_view;
- NautilusFilesView *new_content_view;
+ NautilusView *content_view;
+ NautilusView *new_content_view;
NautilusFile *viewed_file;
gboolean viewed_file_seen;
gboolean viewed_file_in_trash;
@@ -146,14 +145,15 @@ nautilus_window_slot_sync_search_widgets (NautilusWindowSlot *slot)
NautilusDirectory *directory;
gboolean toggle;
- if (slot != nautilus_window_get_active_slot (slot->details->window)) {
+ if (!NAUTILUS_IS_FILES_VIEW (slot->details->content_view) ||
+ slot != nautilus_window_get_active_slot (slot->details->window)) {
return;
}
toggle = slot->details->search_visible;
if (slot->details->content_view != NULL) {
- directory = nautilus_files_view_get_model (slot->details->content_view);
+ directory = nautilus_files_view_get_model (NAUTILUS_FILES_VIEW (slot->details->content_view));
if (NAUTILUS_IS_SEARCH_DIRECTORY (directory)) {
toggle = TRUE;
}
@@ -1484,7 +1484,7 @@ create_content_view (NautilusWindowSlot *slot,
GError **error_out)
{
NautilusWindow *window;
- NautilusFilesView *view;
+ NautilusView *view;
GList *selection;
gboolean ret = TRUE;
GError *error = NULL;
@@ -1596,7 +1596,7 @@ load_new_location (NautilusWindowSlot *slot,
gboolean tell_new_content_view)
{
GList *selection_copy;
- NautilusFilesView *view;
+ NautilusView *view;
g_assert (slot != NULL);
g_assert (location != NULL);
@@ -1912,7 +1912,7 @@ nautilus_window_slot_queue_reload (NautilusWindowSlot *slot)
if (slot->details->pending_location != NULL
|| slot->details->content_view == NULL
- || nautilus_files_view_get_loading (slot->details->content_view)) {
+ || nautilus_view_get_loading (slot->details->content_view)) {
/* there is a reload in flight */
slot->details->needs_reload = TRUE;
return;
@@ -2187,7 +2187,7 @@ static void
nautilus_window_slot_show_trash_bar (NautilusWindowSlot *slot)
{
GtkWidget *bar;
- NautilusFilesView *view;
+ NautilusView *view;
view = nautilus_window_slot_get_current_view (slot);
bar = nautilus_trash_bar_new (view);
@@ -2723,7 +2723,7 @@ nautilus_window_slot_set_window (NautilusWindowSlot *slot,
}
}
-NautilusFilesView *
+NautilusView *
nautilus_window_slot_get_view (NautilusWindowSlot *slot)
{
return slot->details->content_view;
@@ -2911,7 +2911,7 @@ nautilus_window_slot_get_current_uri (NautilusWindowSlot *slot)
return NULL;
}
-NautilusFilesView *
+NautilusView *
nautilus_window_slot_get_current_view (NautilusWindowSlot *slot)
{
if (slot->details->content_view != NULL) {
diff --git a/src/nautilus-window-slot.h b/src/nautilus-window-slot.h
index f546989cd..439ad0250 100644
--- a/src/nautilus-window-slot.h
+++ b/src/nautilus-window-slot.h
@@ -29,7 +29,7 @@ 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())
@@ -87,9 +87,9 @@ char * nautilus_window_slot_get_location_uri (NautilusWindowSlot *slot);
NautilusFile * nautilus_window_slot_get_file (NautilusWindowSlot *slot);
NautilusBookmark *nautilus_window_slot_get_bookmark (NautilusWindowSlot *slot);
-NautilusFilesView * nautilus_window_slot_get_view (NautilusWindowSlot *slot);
+NautilusView* nautilus_window_slot_get_view (NautilusWindowSlot *slot);
-NautilusFilesView * nautilus_window_slot_get_current_view (NautilusWindowSlot *slot);
+NautilusView* nautilus_window_slot_get_current_view (NautilusWindowSlot *slot);
char * nautilus_window_slot_get_current_uri (NautilusWindowSlot *slot);
GList * nautilus_window_slot_get_back_history (NautilusWindowSlot *slot);
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 826efcf38..14d450e83 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -40,8 +40,7 @@
#include "nautilus-properties-window.h"
#include "nautilus-toolbar.h"
#include "nautilus-window-slot.h"
-#include "nautilus-list-view.h"
-#include "nautilus-files-view.h"
+#include "nautilus-view.h"
#include <eel/eel-debug.h>
#include <eel/eel-gtk-extensions.h>
@@ -1662,7 +1661,7 @@ path_bar_path_event_callback (NautilusPathBar *path_bar,
NautilusWindowSlot *slot;
NautilusWindowOpenFlags flags;
int mask;
- NautilusFilesView *view;
+ NautilusView *view;
char *uri;
if (event->type == GDK_BUTTON_RELEASE) {
@@ -1688,7 +1687,7 @@ path_bar_path_event_callback (NautilusPathBar *path_bar,
view = nautilus_window_slot_get_view (slot);
if (view != NULL) {
uri = g_file_get_uri (location);
- nautilus_files_view_pop_up_pathbar_context_menu (view, event, uri);
+ nautilus_view_popup_menu (view, NAUTILUS_VIEW_MENU_PATHBAR, event, uri);
g_free (uri);
}
@@ -2392,7 +2391,7 @@ nautilus_window_key_press_event (GtkWidget *widget,
{
NautilusWindow *window;
NautilusWindowSlot *active_slot;
- NautilusFilesView *view;
+ NautilusView *view;
GtkWidget *focus_widget;
int i;
@@ -2419,7 +2418,7 @@ nautilus_window_key_press_event (GtkWidget *widget,
action = g_action_map_lookup_action (G_ACTION_MAP (window), extra_window_keybindings[i].action);
if (action == NULL) {
- action_group = nautilus_files_view_get_action_group (view);
+ action_group = nautilus_view_get_action_group (view);
action = g_action_map_lookup_action (G_ACTION_MAP (action_group), extra_window_keybindings[i].action);
}