1 /* Copyright (C) 2018 Ernestas Kulik <ernestask@gnome.org>
2  *
3  * This file is part of Nautilus.
4  *
5  * Nautilus 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  * Nautilus 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 Nautilus.  If not, see <https://www.gnu.org/licenses/>.
17  */
18 
19 /* This is the little brother of nautilus-types.h and only contains enumerations.
20  *
21  * Now that you’ve familiarized yourself with it, the reason for its existence
22  * is similar, and the split is purely for convenience reasons. Include this
23  * when you only need a certain enumeration and not the whole header that might
24  * have had it originally. Otherwise, include both!
25  */
26 
27 #pragma once
28 
29 /* Keep sorted alphabetically. */
30 
31 typedef enum
32 {
33     NAUTILUS_CANVAS_ICON_SIZE_SMALL    = 48,
34     NAUTILUS_CANVAS_ICON_SIZE_STANDARD = 64,
35     NAUTILUS_CANVAS_ICON_SIZE_LARGE    = 96,
36     NAUTILUS_CANVAS_ICON_SIZE_LARGER   = 128,
37     NAUTILUS_CANVAS_ICON_SIZE_LARGEST  = 256,
38 } NautilusCanvasIconSize;
39 
40 typedef enum
41 {
42     NAUTILUS_CANVAS_ZOOM_LEVEL_SMALL,
43     NAUTILUS_CANVAS_ZOOM_LEVEL_STANDARD,
44     NAUTILUS_CANVAS_ZOOM_LEVEL_LARGE,
45     NAUTILUS_CANVAS_ZOOM_LEVEL_LARGER,
46     NAUTILUS_CANVAS_ZOOM_LEVEL_LARGEST,
47 } NautilusCanvasZoomLevel;
48 
49 typedef enum
50 {
51     NAUTILUS_LIST_ICON_SIZE_SMALL    = 16,
52     NAUTILUS_LIST_ICON_SIZE_STANDARD = 32,
53     NAUTILUS_LIST_ICON_SIZE_LARGE    = 48,
54     NAUTILUS_LIST_ICON_SIZE_LARGER   = 64,
55 } NautilusListIconSize;
56 
57 typedef enum
58 {
59     NAUTILUS_LIST_ZOOM_LEVEL_SMALL,
60     NAUTILUS_LIST_ZOOM_LEVEL_STANDARD,
61     NAUTILUS_LIST_ZOOM_LEVEL_LARGE,
62     NAUTILUS_LIST_ZOOM_LEVEL_LARGER,
63 } NautilusListZoomLevel;
64 
65 typedef enum
66 {
67     NAUTILUS_FILE_ATTRIBUTE_INFO                      = 1 << 0, /* All standard info */
68     NAUTILUS_FILE_ATTRIBUTE_DEEP_COUNTS               = 1 << 1,
69     NAUTILUS_FILE_ATTRIBUTE_DIRECTORY_ITEM_COUNT      = 1 << 2,
70     NAUTILUS_FILE_ATTRIBUTE_DIRECTORY_ITEM_MIME_TYPES = 1 << 3,
71     NAUTILUS_FILE_ATTRIBUTE_EXTENSION_INFO            = 1 << 4,
72     NAUTILUS_FILE_ATTRIBUTE_THUMBNAIL                 = 1 << 5,
73     NAUTILUS_FILE_ATTRIBUTE_MOUNT                     = 1 << 6,
74     NAUTILUS_FILE_ATTRIBUTE_FILESYSTEM_INFO           = 1 << 7,
75 } NautilusFileAttributes;
76 
77 typedef enum
78 {
79     NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW       = 1 << 0,
80     NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB          = 1 << 1,
81     NAUTILUS_WINDOW_OPEN_SLOT_APPEND           = 1 << 2,
82     NAUTILUS_WINDOW_OPEN_FLAG_DONT_MAKE_ACTIVE = 1 << 3,
83 } NautilusWindowOpenFlags;
84