summaryrefslogtreecommitdiff
path: root/src/nautilus-list-view.c
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2015-08-11 12:33:39 -0300
committerCarlos Soriano <csoriano@gnome.org>2015-08-16 19:32:52 +0200
commit764b98f6f47395559fde40d47f09ce0cafc4719c (patch)
treeb380fd37e4cac42c1b5f8209c2109a5a0775099b /src/nautilus-list-view.c
parent328348c6f76bc72823c1a8464937b7f4208674d9 (diff)
downloadnautilus-764b98f6f47395559fde40d47f09ce0cafc4719c.tar.gz
view: handle view menu
NautilusToolbar handles the view menu, requiring direct access to the underlying view inside the window slot. Since we're wiping out every access to the underlying view, we shouldn't access it from NautilusToolbar. To fix that, makes the view handle the view widget. Since we're making NautilusWindowSlot a wrapper, add the necessary properties for it to expose view data without exposing the view itself. https://bugzilla.gnome.org/show_bug.cgi?id=753673
Diffstat (limited to 'src/nautilus-list-view.c')
-rw-r--r--src/nautilus-list-view.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c
index 35a7472f6..3beff6626 100644
--- a/src/nautilus-list-view.c
+++ b/src/nautilus-list-view.c
@@ -103,6 +103,8 @@ struct NautilusListViewDetails {
gulong clipboard_handler_id;
GQuark last_sort_attr;
+
+ GIcon *icon;
};
struct SelectionForeachData {
@@ -3120,6 +3122,8 @@ nautilus_list_view_finalize (GObject *object)
gtk_widget_destroy (list_view->details->column_editor);
}
+ g_clear_object (&list_view->details->icon);
+
g_free (list_view->details);
g_signal_handlers_disconnect_by_func (nautilus_preferences,
@@ -3281,6 +3285,14 @@ nautilus_list_view_compute_rename_popover_relative_to (NautilusView *view)
return rect;
}
+static GIcon*
+nautilus_list_view_get_icon (NautilusView *view)
+{
+ g_return_val_if_fail (NAUTILUS_IS_LIST_VIEW (view), NULL);
+
+ return NAUTILUS_LIST_VIEW (view)->details->icon;
+}
+
static void
nautilus_list_view_class_init (NautilusListViewClass *class)
{
@@ -3319,6 +3331,7 @@ nautilus_list_view_class_init (NautilusListViewClass *class)
nautilus_view_class->get_first_visible_file = nautilus_list_view_get_first_visible_file;
nautilus_view_class->scroll_to_file = list_view_scroll_to_file;
nautilus_view_class->compute_rename_popover_relative_to = nautilus_list_view_compute_rename_popover_relative_to;
+ nautilus_view_class->get_icon = nautilus_list_view_get_icon;
}
static void
@@ -3327,6 +3340,8 @@ nautilus_list_view_init (NautilusListView *list_view)
GActionGroup *view_action_group;
list_view->details = g_new0 (NautilusListViewDetails, 1);
+ list_view->details->icon = g_themed_icon_new ("view-list-symbolic");
+
/* ensure that the zoom level is always set before settings up the tree view columns */
list_view->details->zoom_level = get_default_zoom_level ();