1 /* nautilus-list-view-private.h 2 * 3 * Copyright (C) 2015 Carlos Soriano <csoriano@gnome.org> 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 /* Data and functions shared between list view and list view dnd */ 20 21 #pragma once 22 23 #include "nautilus-list-model.h" 24 #include "nautilus-tree-view-drag-dest.h" 25 #include "nautilus-dnd.h" 26 #include "nautilus-tag-manager.h" 27 28 struct NautilusListViewDetails { 29 GtkTreeView *tree_view; 30 NautilusListModel *model; 31 32 GtkTreeViewColumn *file_name_column; 33 int file_name_column_num; 34 35 GtkCellRendererPixbuf *pixbuf_cell; 36 GtkCellRendererText *file_name_cell; 37 GList *cells; 38 39 NautilusListZoomLevel zoom_level; 40 41 NautilusTreeViewDragDest *drag_dest; 42 43 GtkTreePath *first_click_path; /* Both clicks in a double click need to be on the same row */ 44 45 GtkTreePath *new_selection_path; /* Path of the new selection after removing a file */ 46 47 GtkTreePath *hover_path; 48 49 gint last_event_button_x; 50 gint last_event_button_y; 51 52 guint drag_button; 53 int drag_x; 54 int drag_y; 55 56 gboolean drag_started; 57 gboolean ignore_button_release; 58 gboolean row_selected_on_button_down; 59 gboolean active; 60 NautilusDragInfo *drag_source_info; 61 62 GHashTable *columns; 63 GtkWidget *column_editor; 64 65 char *original_name; 66 67 gulong clipboard_handler_id; 68 69 GQuark last_sort_attr; 70 71 GRegex *regex; 72 73 NautilusTagManager *tag_manager; 74 GCancellable *starred_cancellable; 75 76 GtkGesture *tree_view_drag_gesture; 77 GtkGesture *tree_view_multi_press_gesture; 78 }; 79 80