1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
/* nautilus-files-view.h
*
* Copyright (C) 1999, 2000 Free Software Foundaton
* Copyright (C) 2000, 2001 Eazel, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, see <http://www.gnu.org/licenses/>.
*
* Authors: Ettore Perazzoli
* Darin Adler <darin@bentspoon.com>
* John Sullivan <sullivan@eazel.com>
* Pavel Cisler <pavel@eazel.com>
*/
#pragma once
#include "nautilus-types.h"
#include <adwaita.h>
#include <gtk/gtk.h>
#include <gio/gio.h>
G_BEGIN_DECLS
#define NAUTILUS_TYPE_FILES_VIEW nautilus_files_view_get_type()
G_DECLARE_FINAL_TYPE (NautilusFilesView, nautilus_files_view, NAUTILUS, FILES_VIEW, AdwBin)
NautilusFilesView * nautilus_files_view_new (guint id,
NautilusWindowSlot *slot);
guint
nautilus_files_view_get_view_id (NautilusFilesView *self);
void nautilus_files_view_change (NautilusFilesView *self,
guint id);
const char *
nautilus_files_view_get_toggle_icon_name (NautilusFilesView *self);
const char *
nautilus_files_view_get_toggle_tooltip (NautilusFilesView *self,
const char **description);
GFile *
nautilus_files_view_get_location (NautilusFilesView *self);
void
nautilus_files_view_set_location (NautilusFilesView *self,
GFile *location);
NautilusQuery *
nautilus_files_view_get_search_query (NautilusFilesView *self);
void
nautilus_files_view_set_search_query (NautilusFilesView *self,
NautilusQuery *query);
NautilusFileList *
nautilus_files_view_get_selection (NautilusFilesView *self);
NautilusSelectionSource
nautilus_files_view_get_selection_source (NautilusFilesView *self);
void
nautilus_files_view_set_selection (NautilusFilesView *self,
NautilusFileList *selection,
NautilusSelectionSource selection_source);
gboolean
nautilus_files_view_is_loading (NautilusFilesView *self);
gboolean
nautilus_files_view_is_searching (NautilusFilesView *self);
/* Wrappers for signal emitters. These are normally called
* 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
*/
void nautilus_files_view_activate_file (NautilusFilesView *view,
NautilusFile *file,
NautilusOpenFlags flags);
gboolean nautilus_files_view_has_subdirectory (NautilusFilesView *view,
NautilusDirectory *directory);
void nautilus_files_view_add_subdirectory (NautilusFilesView *view,
NautilusDirectory *directory);
void nautilus_files_view_remove_subdirectory (NautilusFilesView *view,
NautilusDirectory *directory);
/* file operations */
char * nautilus_files_view_get_backing_uri (NautilusFilesView *view);
void nautilus_files_view_move_copy_items (NautilusFilesView *view,
const GList *item_uris,
const char *target_uri,
int copy_action);
void nautilus_file_view_save_image_from_texture (NautilusFilesView *view,
GdkTexture *texture,
const char *target_uri,
const char *base_name);
void nautilus_files_view_new_file_with_initial_contents (NautilusFilesView *view,
const char *parent_uri,
const char *filename,
const void *initial_contents,
gsize length);
/* selection handling */
void nautilus_files_view_activate_selection (NautilusFilesView *view,
NautilusOpenFlags flags);
void nautilus_files_view_preview_selection_event (NautilusFilesView *view,
GtkDirectionType direction);
void nautilus_files_view_stop_loading (NautilusFilesView *view);
/* testing-only */
NautilusViewModel *
nautilus_files_view_get_private_model (NautilusFilesView *self);
GActionGroup *
nautilus_files_view_get_private_action_group (NautilusFilesView *self);
NautilusListBase *
nautilus_files_view_get_private_list_base (NautilusFilesView *self);
G_END_DECLS
|