diff --git a/src/nautilus-grid-view.c b/src/nautilus-grid-view.c index b98b2fbd03c15d4053cfe1c6c36db9f19867a905..19fb033b2efd053ff0eebf12848aaece325fac9e 100644 --- a/src/nautilus-grid-view.c +++ b/src/nautilus-grid-view.c @@ -324,14 +324,6 @@ real_get_icon_size (NautilusListBase *list_base_view) return get_icon_size_for_zoom_level (self->zoom_level); } -static GtkWidget * -real_get_view_ui (NautilusListBase *list_base_view) -{ - NautilusGridView *self = NAUTILUS_GRID_VIEW (list_base_view); - - return GTK_WIDGET (self->view_ui); -} - static int real_get_zoom_level (NautilusListBase *list_base_view) { @@ -361,6 +353,15 @@ real_get_sort_state (NautilusListBase *list_base) self->reversed)); } +static void +real_set_enable_rubberband (NautilusListBase *list_base, + gboolean enabled) +{ + NautilusGridView *self = NAUTILUS_GRID_VIEW (list_base); + + gtk_grid_view_set_enable_rubberband (self->view_ui, enabled); +} + static void real_set_sort_state (NautilusListBase *list_base, GVariant *value) @@ -537,10 +538,10 @@ nautilus_grid_view_class_init (NautilusGridViewClass *klass) list_base_view_class->get_icon_size = real_get_icon_size; list_base_view_class->get_sort_state = real_get_sort_state; list_base_view_class->get_view_info = real_get_view_info; - list_base_view_class->get_view_ui = real_get_view_ui; list_base_view_class->get_zoom_level = real_get_zoom_level; list_base_view_class->preview_selection_event = real_preview_selection_event; list_base_view_class->scroll_to = real_scroll_to; + list_base_view_class->set_enable_rubberband = real_set_enable_rubberband; list_base_view_class->set_sort_state = real_set_sort_state; list_base_view_class->set_zoom_level = real_set_zoom_level; list_base_view_class->setup_directory = nautilus_grid_view_setup_directory; diff --git a/src/nautilus-list-base.c b/src/nautilus-list-base.c index f3234df3cd52baa0e3800c2a878ebee33c270bd7..ebcf78b9bd0ac249496c9c1d7d7bb416e76b230b 100644 --- a/src/nautilus-list-base.c +++ b/src/nautilus-list-base.c @@ -118,12 +118,6 @@ nautilus_list_base_get_sort_state (NautilusListBase *self) return NAUTILUS_LIST_BASE_CLASS (G_OBJECT_GET_CLASS (self))->get_sort_state (self); } -static GtkWidget * -nautilus_list_base_get_view_ui (NautilusListBase *self) -{ - return NAUTILUS_LIST_BASE_CLASS (G_OBJECT_GET_CLASS (self))->get_view_ui (self); -} - void nautilus_list_base_set_model (NautilusListBase *self, NautilusViewModel *model) @@ -219,15 +213,7 @@ rubberband_set_state (NautilusListBase *self, return; } - GtkWidget *view = nautilus_list_base_get_view_ui (self); - if (GTK_IS_GRID_VIEW (view)) - { - gtk_grid_view_set_enable_rubberband (GTK_GRID_VIEW (view), enabled); - } - else if (GTK_IS_COLUMN_VIEW (view)) - { - gtk_column_view_set_enable_rubberband (GTK_COLUMN_VIEW (view), enabled); - } + NAUTILUS_LIST_BASE_CLASS (G_OBJECT_GET_CLASS (self))->set_enable_rubberband (self, enabled); } /** @@ -428,7 +414,6 @@ on_item_drag_prepare (GtkDragSource *source, NautilusViewCell *cell = user_data; NautilusListBase *self = nautilus_view_cell_get_view (cell); NautilusListBasePrivate *priv = nautilus_list_base_get_instance_private (self); - GtkWidget *view_ui; g_autoptr (GtkBitset) selection = NULL; g_autolist (NautilusFile) selected_files = NULL; g_autoslist (GFile) file_list = NULL; @@ -476,19 +461,7 @@ on_item_drag_prepare (GtkDragSource *source, scale_factor = gtk_widget_get_scale_factor (GTK_WIDGET (self)); paintable = get_paintable_for_drag_selection (selected_files, scale_factor); - view_ui = nautilus_list_base_get_view_ui (self); - if (GTK_IS_GRID_VIEW (view_ui)) - { - x = x * NAUTILUS_DRAG_SURFACE_ICON_SIZE / nautilus_list_base_get_icon_size (self); - y = y * NAUTILUS_DRAG_SURFACE_ICON_SIZE / nautilus_list_base_get_icon_size (self); - } - else - { - x = 0; - y = 0; - } - - gtk_drag_source_set_icon (source, paintable, x, y); + gtk_drag_source_set_icon (source, paintable, 0, 0); return gdk_content_provider_new_typed (GDK_TYPE_FILE_LIST, file_list); } diff --git a/src/nautilus-list-base.h b/src/nautilus-list-base.h index 0b196a309767f563069181ca3b54348ab1bb3e7a..c8a6022d3dd9a0a0f8c9fe58d09b94ab6882a008 100644 --- a/src/nautilus-list-base.h +++ b/src/nautilus-list-base.h @@ -26,12 +26,13 @@ struct _NautilusListBaseClass NautilusViewInfo (*get_view_info) (NautilusListBase *self); guint (*get_icon_size) (NautilusListBase *self); GVariant *(*get_sort_state) (NautilusListBase *self); - GtkWidget *(*get_view_ui) (NautilusListBase *self); int (*get_zoom_level) (NautilusListBase *self); void (*scroll_to) (NautilusListBase *self, guint position, GtkListScrollFlags flags, GtkScrollInfo *scroll); + void (*set_enable_rubberband) (NautilusListBase *self, + gboolean enabled); void (*set_sort_state) (NautilusListBase *self, GVariant *sort_state); void (*set_zoom_level) (NautilusListBase *self, diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c index ac5b8b4f103a5d876fd3b8d9f7da3692013c32d0..04f792fa9b78afcc95751de766bca7e2b53981b0 100644 --- a/src/nautilus-list-view.c +++ b/src/nautilus-list-view.c @@ -136,14 +136,6 @@ real_get_icon_size (NautilusListBase *list_base_view) return get_icon_size_for_zoom_level (self->zoom_level); } -static GtkWidget * -real_get_view_ui (NautilusListBase *list_base_view) -{ - NautilusListView *self = NAUTILUS_LIST_VIEW (list_base_view); - - return GTK_WIDGET (self->view_ui); -} - static int real_get_zoom_level (NautilusListBase *list_base_view) { @@ -486,6 +478,15 @@ real_get_sort_state (NautilusListBase *list_base) return g_variant_take_ref (g_variant_new ("(sb)", sort_text, reversed)); } +static void +real_set_enable_rubberband (NautilusListBase *list_base, + gboolean enabled) +{ + NautilusListView *self = NAUTILUS_LIST_VIEW (list_base); + + gtk_column_view_set_enable_rubberband (self->view_ui, enabled); +} + static void real_set_sort_state (NautilusListBase *list_base, GVariant *value) @@ -1235,9 +1236,9 @@ nautilus_list_view_class_init (NautilusListViewClass *klass) list_base_view_class->get_icon_size = real_get_icon_size; list_base_view_class->get_sort_state = real_get_sort_state; list_base_view_class->get_view_info = real_get_view_info; - list_base_view_class->get_view_ui = real_get_view_ui; list_base_view_class->get_zoom_level = real_get_zoom_level; list_base_view_class->scroll_to = real_scroll_to; + list_base_view_class->set_enable_rubberband = real_set_enable_rubberband; list_base_view_class->set_sort_state = real_set_sort_state; list_base_view_class->set_zoom_level = real_set_zoom_level; list_base_view_class->setup_directory = nautilus_list_view_setup_directory; diff --git a/src/nautilus-network-view.c b/src/nautilus-network-view.c index ce96ae1893048a470086283899b352d10330c69d..7dfcb144de7e8de1a53ea9f5e07ef5594efebd01 100644 --- a/src/nautilus-network-view.c +++ b/src/nautilus-network-view.c @@ -143,14 +143,6 @@ real_get_icon_size (NautilusListBase *list_base_view) return NAUTILUS_LIST_ICON_SIZE_SMALL; } -static GtkWidget * -real_get_view_ui (NautilusListBase *list_base_view) -{ - NautilusNetworkView *self = NAUTILUS_NETWORK_VIEW (list_base_view); - - return GTK_WIDGET (self->view_ui); -} - static int real_get_zoom_level (NautilusListBase *list_base_view) { @@ -174,6 +166,15 @@ real_get_sort_state (NautilusListBase *list_base) return g_variant_take_ref (g_variant_new ("(sb)", "invalid", FALSE)); } +static void +real_set_enable_rubberband (NautilusListBase *list_base, + gboolean enabled) +{ + NautilusNetworkView *self = NAUTILUS_NETWORK_VIEW (list_base); + + gtk_list_view_set_enable_rubberband (self->view_ui, enabled); +} + static void real_set_sort_state (NautilusListBase *list_base, GVariant *value) @@ -369,10 +370,10 @@ nautilus_network_view_class_init (NautilusNetworkViewClass *klass) list_base_view_class->get_icon_size = real_get_icon_size; list_base_view_class->get_sort_state = real_get_sort_state; list_base_view_class->get_view_info = real_get_view_info; - list_base_view_class->get_view_ui = real_get_view_ui; list_base_view_class->get_zoom_level = real_get_zoom_level; list_base_view_class->popup_background_context_menu = real_popup_background_context_menu; list_base_view_class->scroll_to = real_scroll_to; + list_base_view_class->set_enable_rubberband = real_set_enable_rubberband; list_base_view_class->set_sort_state = real_set_sort_state; list_base_view_class->set_zoom_level = real_set_zoom_level; }