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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
/* Copyright (C) 2018 Ernestas Kulik <ernestask@gnome.org>
*
* This file is part of Nautilus.
*
* Nautilus 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 3 of the License, or
* (at your option) any later version.
*
* Nautilus 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 Nautilus. If not, see <https://www.gnu.org/licenses/>.
*/
/* This is the little brother of nautilus-types.h and only contains enumerations.
*
* Now that you’ve familiarized yourself with it, the reason for its existence
* is similar, and the split is purely for convenience reasons. Include this
* when you only need a certain enumeration and not the whole header that might
* have had it originally. Otherwise, include both!
*/
#pragma once
#include <glib.h>
/* Keep sorted alphabetically. */
typedef enum
{
NAUTILUS_GRID_ICON_SIZE_SMALL = 48,
NAUTILUS_GRID_ICON_SIZE_SMALL_PLUS = 64,
NAUTILUS_GRID_ICON_SIZE_MEDIUM = 96,
NAUTILUS_GRID_ICON_SIZE_LARGE = 168,
NAUTILUS_GRID_ICON_SIZE_EXTRA_LARGE = 256,
} NautilusGridIconSize;
typedef enum
{
NAUTILUS_GRID_ZOOM_LEVEL_SMALL,
NAUTILUS_GRID_ZOOM_LEVEL_SMALL_PLUS,
NAUTILUS_GRID_ZOOM_LEVEL_MEDIUM,
NAUTILUS_GRID_ZOOM_LEVEL_LARGE,
NAUTILUS_GRID_ZOOM_LEVEL_EXTRA_LARGE,
} NautilusGridZoomLevel;
typedef enum
{
NAUTILUS_LIST_ICON_SIZE_SMALL = 16,
NAUTILUS_LIST_ICON_SIZE_MEDIUM = 32,
NAUTILUS_LIST_ICON_SIZE_LARGE = 64,
} NautilusListIconSize;
typedef enum
{
NAUTILUS_LIST_ZOOM_LEVEL_SMALL,
NAUTILUS_LIST_ZOOM_LEVEL_MEDIUM,
NAUTILUS_LIST_ZOOM_LEVEL_LARGE,
} NautilusListZoomLevel;
#define NAUTILUS_ATTRIBUTE_N_TOTAL 9
typedef enum
{
/* Some attributes require others, which is done by ORing them */
NAUTILUS_ATTRIBUTE_INFO = 1 << 0, /* All standard info */
NAUTILUS_ATTRIBUTE_DEEP_COUNT = 1 << 1,
NAUTILUS_ATTRIBUTE_DIRECTORY_ITEM_COUNT = 1 << 2,
NAUTILUS_ATTRIBUTE_THUMBNAIL_INFO = 1 << 3 | NAUTILUS_ATTRIBUTE_INFO,
NAUTILUS_ATTRIBUTE_EXTENSION_INFO = 1 << 4,
NAUTILUS_ATTRIBUTE_THUMBNAIL_BUFFER = 1 << 5 | NAUTILUS_ATTRIBUTE_THUMBNAIL_INFO,
NAUTILUS_ATTRIBUTE_MOUNT = 1 << 6 | NAUTILUS_ATTRIBUTE_INFO,
NAUTILUS_ATTRIBUTE_FILESYSTEM_INFO = 1 << 7,
NAUTILUS_ATTRIBUTE_FILE_LIST = 1 << 8,
/* Adjust NAUTILUS_ATTRIBUTE_N_TOTAL when expanding */
} NautilusAttributes;
typedef enum
{
NAUTILUS_MODE_BROWSE = 0,
NAUTILUS_MODE_OPEN_FILE,
NAUTILUS_MODE_OPEN_FILES,
NAUTILUS_MODE_OPEN_FOLDER,
NAUTILUS_MODE_OPEN_FOLDERS,
NAUTILUS_MODE_SAVE_FILE,
NAUTILUS_MODE_SAVE_FILES,
} NautilusMode;
typedef enum
{
NAUTILUS_OPEN_FLAG_NORMAL = 1 << 0,
NAUTILUS_OPEN_FLAG_NEW_WINDOW = 1 << 1,
NAUTILUS_OPEN_FLAG_NEW_TAB = 1 << 2,
NAUTILUS_OPEN_FLAG_DONT_MAKE_ACTIVE = 1 << 3,
NAUTILUS_OPEN_FLAG_REUSE_EXISTING = 1 << 4,
} G_GNUC_FLAG_ENUM NautilusOpenFlags;
/* See org.gnome.nautilus.SearchFilterTimeType schema */
typedef enum {
NAUTILUS_SEARCH_TIME_TYPE_LAST_MODIFIED = 0,
NAUTILUS_SEARCH_TIME_TYPE_LAST_ACCESS,
NAUTILUS_SEARCH_TIME_TYPE_CREATED,
} NautilusSearchTimeType;
typedef enum {
NAUTILUS_SIDEBAR_ROW_INVALID = 0,
NAUTILUS_SIDEBAR_ROW_BUILT_IN,
NAUTILUS_SIDEBAR_ROW_EXTERNAL_MOUNT,
NAUTILUS_SIDEBAR_ROW_INTERNAL_MOUNT,
NAUTILUS_SIDEBAR_ROW_NEW_BOOKMARK,
NAUTILUS_SIDEBAR_ROW_BOOKMARK,
NAUTILUS_SIDEBAR_ROW_BOOKMARK_PLACEHOLDER,
NAUTILUS_SIDEBAR_N_ROW_TYPES
} NautilusSidebarRowType;
/* Keep order, since it's used for the sort functions */
typedef enum {
NAUTILUS_SIDEBAR_SECTION_INVALID = 0,
NAUTILUS_SIDEBAR_SECTION_DEFAULT_LOCATIONS,
NAUTILUS_SIDEBAR_SECTION_BOOKMARKS,
NAUTILUS_SIDEBAR_SECTION_CLOUD,
NAUTILUS_SIDEBAR_SECTION_MOUNTS,
NAUTILUS_SIDEBAR_N_SECTION_TYPES
} NautilusSidebarSectionType;
/**
* NautilusSelectionSource:
* @NAUTILUS_SELECTION_SOURCE_NONE: Fallback for undefined source.
* @NAUTILUS_SELECTION_SOURCE_MANUAL: Selection was manual by the user through
* manual clicking, rubberbanding, pattern selection, or selection shortcuts.
* @NAUTILUS_SELECTION_SOURCE_AUTO: Selection was programmatically by a source
* other than what is defined below.
* @NAUTILUS_SELECTION_SOURCE_IN_SEARCH: Automatic selection of the first item
* during search
* @NAUTILUS_SELECTION_SOURCE_AFTER_SEARCH: Same as IN_SEARCH, but transferred
* after exiting search without change.
* @NAUTILUS_SELECTION_SOURCE_OP_START: The selection that existed at the time
* of an operation start.
* @NAUTILUS_SELECTION_SOURCE_OP_DONE: Selection that appears as a result of an
* operation after it has finished.
*
**/
typedef enum
{
NAUTILUS_SELECTION_SOURCE_NONE,
NAUTILUS_SELECTION_SOURCE_MANUAL,
NAUTILUS_SELECTION_SOURCE_AUTO,
NAUTILUS_SELECTION_SOURCE_IN_SEARCH,
NAUTILUS_SELECTION_SOURCE_AFTER_SEARCH,
NAUTILUS_SELECTION_SOURCE_OP_START,
NAUTILUS_SELECTION_SOURCE_OP_DONE,
} NautilusSelectionSource;
|