1 /* vi:set et ai sw=2 sts=2 ts=2: */ 2 /*- 3 * Copyright (c) 2006-2007 Benedikt Meurer <benny@xfce.org> 4 * Copyright (c) 2009 Jannis Pohlmann <jannis@xfce.org> 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the Free 8 * Software Foundation; either version 2 of the License, or (at your option) 9 * any later version. 10 * 11 * This program is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 14 * more details. 15 * 16 * You should have received a copy of the GNU General Public License along with 17 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple 18 * Place, Suite 330, Boston, MA 02111-1307 USA 19 */ 20 21 #ifndef __THUNAR_ENUM_TYPES_H__ 22 #define __THUNAR_ENUM_TYPES_H__ 23 24 #include <exo/exo.h> 25 26 G_BEGIN_DECLS; 27 28 #define THUNAR_TYPE_RENAMER_MODE (thunar_renamer_mode_get_type ()) 29 30 /** 31 * ThunarRenamerMode: 32 * @THUNAR_RENAMER_MODE_NAME : only the name should be renamed. 33 * @THUNAR_RENAMER_MODE_SUFFIX : only the suffix should be renamed. 34 * @THUNAR_RENAMER_MODE_BOTH : the name and the suffix should be renamed. 35 * 36 * The rename mode for a #ThunarRenamerModel instance. 37 **/ 38 typedef enum 39 { 40 THUNAR_RENAMER_MODE_NAME, 41 THUNAR_RENAMER_MODE_SUFFIX, 42 THUNAR_RENAMER_MODE_BOTH, 43 } ThunarRenamerMode; 44 45 GType thunar_renamer_mode_get_type (void) G_GNUC_CONST; 46 47 48 49 #define THUNAR_TYPE_DATE_STYLE (thunar_date_style_get_type ()) 50 51 /** 52 * ThunarDateStyle: 53 * @THUNAR_DATE_STYLE_SIMPLE : display only the date. 54 * @THUNAR_DATE_STYLE_SHORT : display date and time in a short manner. 55 * @THUNAR_DATE_STYLE_LONG : display date and time in a long manner. 56 * @THUNAR_DATE_STYLE_ISO : display date and time in ISO standard form. 57 * 58 * The style used to display dates (e.g. modification dates) to the user. 59 **/ 60 typedef enum 61 { 62 THUNAR_DATE_STYLE_SIMPLE, 63 THUNAR_DATE_STYLE_SHORT, 64 THUNAR_DATE_STYLE_LONG, 65 THUNAR_DATE_STYLE_YYYYMMDD, 66 THUNAR_DATE_STYLE_MMDDYYYY, 67 THUNAR_DATE_STYLE_DDMMYYYY, 68 THUNAR_DATE_STYLE_CUSTOM, 69 } ThunarDateStyle; 70 71 GType thunar_date_style_get_type (void) G_GNUC_CONST; 72 73 74 #define THUNAR_TYPE_COLUMN (thunar_column_get_type ()) 75 76 /** 77 * ThunarColumn: 78 * @THUNAR_COLUMN_DATE_ACCESSED : last access time. 79 * @THUNAR_COLUMN_DATE_MODIFIED : last modification time. 80 * @THUNAR_COLUMN_GROUP : group's name. 81 * @THUNAR_COLUMN_MIME_TYPE : mime type (e.g. "text/plain"). 82 * @THUNAR_COLUMN_NAME : display name. 83 * @THUNAR_COLUMN_OWNER : owner's name. 84 * @THUNAR_COLUMN_PERMISSIONS : permissions bits. 85 * @THUNAR_COLUMN_SIZE : file size. 86 * @THUNAR_COLUMN_SIZE_IN_BYTES : file size in bytes. 87 * @THUNAR_COLUMN_TYPE : file type (e.g. 'plain text document'). 88 * @THUNAR_COLUMN_FILE : #ThunarFile object. 89 * @THUNAR_COLUMN_FILE_NAME : real file name. 90 * 91 * Columns exported by #ThunarListModel using the #GtkTreeModel 92 * interface. 93 **/ 94 typedef enum 95 { 96 /* visible columns */ 97 THUNAR_COLUMN_DATE_ACCESSED, 98 THUNAR_COLUMN_DATE_MODIFIED, 99 THUNAR_COLUMN_GROUP, 100 THUNAR_COLUMN_MIME_TYPE, 101 THUNAR_COLUMN_NAME, 102 THUNAR_COLUMN_OWNER, 103 THUNAR_COLUMN_PERMISSIONS, 104 THUNAR_COLUMN_SIZE, 105 THUNAR_COLUMN_SIZE_IN_BYTES, 106 THUNAR_COLUMN_TYPE, 107 108 /* special internal columns */ 109 THUNAR_COLUMN_FILE, 110 THUNAR_COLUMN_FILE_NAME, 111 112 /* number of columns */ 113 THUNAR_N_COLUMNS, 114 115 /* number of visible columns */ 116 THUNAR_N_VISIBLE_COLUMNS = THUNAR_COLUMN_FILE, 117 } ThunarColumn; 118 119 GType thunar_column_get_type (void) G_GNUC_CONST; 120 const gchar* thunar_column_string_from_value (ThunarColumn value); 121 gboolean thunar_column_value_from_string (const gchar *value_string, 122 gint *value); 123 124 125 #define THUNAR_TYPE_ICON_SIZE (thunar_icon_size_get_type ()) 126 127 /** 128 * ThunarIconSize: 129 * Icon sizes matching the various #ThunarZoomLevel<!---->s. 130 **/ 131 typedef enum 132 { 133 THUNAR_ICON_SIZE_16 = 16, 134 THUNAR_ICON_SIZE_24 = 24, 135 THUNAR_ICON_SIZE_32 = 32, 136 THUNAR_ICON_SIZE_48 = 48, 137 THUNAR_ICON_SIZE_64 = 64, 138 THUNAR_ICON_SIZE_96 = 96, 139 THUNAR_ICON_SIZE_128 = 128, 140 THUNAR_ICON_SIZE_160 = 160, 141 THUNAR_ICON_SIZE_192 = 192, 142 THUNAR_ICON_SIZE_256 = 256, 143 } ThunarIconSize; 144 145 GType thunar_icon_size_get_type (void) G_GNUC_CONST; 146 147 148 #define THUNAR_TYPE_THUMBNAIL_MODE (thunar_thumbnail_mode_get_type ()) 149 150 /** 151 * ThunarThumbnailMode: 152 * @THUNAR_THUMBNAIL_MODE_NEVER : never show thumbnails. 153 * @THUNAR_THUMBNAIL_MODE_ONLY_LOCAL : only show thumbnails on local filesystems. 154 * @THUNAR_THUMBNAIL_MODE_ALWAYS : always show thumbnails (everywhere). 155 **/ 156 typedef enum 157 { 158 THUNAR_THUMBNAIL_MODE_NEVER, 159 THUNAR_THUMBNAIL_MODE_ONLY_LOCAL, 160 THUNAR_THUMBNAIL_MODE_ALWAYS 161 } ThunarThumbnailMode; 162 163 GType thunar_thumbnail_mode_get_type (void) G_GNUC_CONST; 164 165 166 #define THUNAR_TYPE_THUMBNAIL_SIZE (thunar_thumbnail_size_get_type ()) 167 168 /** 169 * ThunarThumbnailSize: 170 * @THUNAR_THUMBNAIL_NORMAL : max 128px x 128px 171 * @THUNAR_THUMBNAIL_LARGE : max 256px x 256px 172 **/ 173 typedef enum 174 { 175 THUNAR_THUMBNAIL_SIZE_NORMAL, 176 THUNAR_THUMBNAIL_SIZE_LARGE 177 } ThunarThumbnailSize; 178 179 GType thunar_thumbnail_size_get_type (void) G_GNUC_CONST; 180 const char* thunar_thumbnail_size_get_nick (ThunarThumbnailSize thumbnail_size) G_GNUC_CONST; 181 182 183 #define THUNAR_TYPE_PARALLEL_COPY_MODE (thunar_parallel_copy_mode_get_type ()) 184 185 /** 186 * ThunarParallelCopyMode: 187 * @THUNAR_PARALLEL_COPY_MODE_NEVER : copies will be done consecutively, one after another. 188 * @THUNAR_PARALLEL_COPY_MODE_ONLY_LOCAL : only do parallel copies when source and destination are local files. 189 * @THUNAR_PARALLEL_COPY_MODE_ONLY_LOCAL_SAME_DEVICES : same as only local, but only if source and destination devices are the same. 190 * @THUNAR_PARALLEL_COPY_MODE_ALWAYS : all copies will be started immediately. 191 **/ 192 typedef enum 193 { 194 THUNAR_PARALLEL_COPY_MODE_NEVER, 195 THUNAR_PARALLEL_COPY_MODE_ONLY_LOCAL, 196 THUNAR_PARALLEL_COPY_MODE_ONLY_LOCAL_SAME_DEVICES, 197 THUNAR_PARALLEL_COPY_MODE_ALWAYS 198 } ThunarParallelCopyMode; 199 200 GType thunar_parallel_copy_mode_get_type (void) G_GNUC_CONST; 201 202 203 #define THUNAR_TYPE_RECURSIVE_PERMISSIONS (thunar_recursive_permissions_get_type ()) 204 205 /** 206 * ThunarRecursivePermissionsMode: 207 * @THUNAR_RECURSIVE_PERMISSIONS_ASK : ask the user every time permissions are changed. 208 * @THUNAR_RECURSIVE_PERMISSIONS_ALWAYS : always apply the change recursively. 209 * @THUNAR_RECURSIVE_PERMISSIONS_NEVER : never apply the change recursively. 210 * 211 * Modus operandi when changing permissions. 212 **/ 213 typedef enum 214 { 215 THUNAR_RECURSIVE_PERMISSIONS_ASK, 216 THUNAR_RECURSIVE_PERMISSIONS_ALWAYS, 217 THUNAR_RECURSIVE_PERMISSIONS_NEVER, 218 } ThunarRecursivePermissionsMode; 219 220 GType thunar_recursive_permissions_get_type (void) G_GNUC_CONST; 221 222 223 #define THUNAR_TYPE_ZOOM_LEVEL (thunar_zoom_level_get_type ()) 224 225 /** 226 * ThunarZoomLevel: 227 * Lists the various zoom levels supported by Thunar's 228 * folder views. 229 **/ 230 typedef enum 231 { 232 THUNAR_ZOOM_LEVEL_25_PERCENT, 233 THUNAR_ZOOM_LEVEL_38_PERCENT, 234 THUNAR_ZOOM_LEVEL_50_PERCENT, 235 THUNAR_ZOOM_LEVEL_75_PERCENT, 236 THUNAR_ZOOM_LEVEL_100_PERCENT, 237 THUNAR_ZOOM_LEVEL_150_PERCENT, 238 THUNAR_ZOOM_LEVEL_200_PERCENT, 239 THUNAR_ZOOM_LEVEL_250_PERCENT, 240 THUNAR_ZOOM_LEVEL_300_PERCENT, 241 THUNAR_ZOOM_LEVEL_400_PERCENT, 242 243 /*< private >*/ 244 THUNAR_ZOOM_N_LEVELS, 245 } ThunarZoomLevel; 246 247 GType thunar_zoom_level_get_type (void) G_GNUC_CONST; 248 ThunarThumbnailSize thunar_zoom_level_to_thumbnail_size (ThunarZoomLevel zoom_level) G_GNUC_CONST; 249 250 251 #define THUNAR_TYPE_JOB_RESPONSE (thunar_job_response_get_type ()) 252 253 /** 254 * ThunarJobResponse: 255 * @THUNAR_JOB_RESPONSE_YES : 256 * @THUNAR_JOB_RESPONSE_YES_ALL : 257 * @THUNAR_JOB_RESPONSE_NO : 258 * @THUNAR_JOB_RESPONSE_NO_ALL : 259 * @THUNAR_JOB_RESPONSE_CANCEL : 260 * @THUNAR_JOB_RESPONSE_RETRY : 261 * @THUNAR_JOB_RESPONSE_FORCE : 262 * @THUNAR_JOB_RESPONSE_REPLACE : 263 * @THUNAR_JOB_RESPONSE_REPLACE_ALL : 264 * @THUNAR_JOB_RESPONSE_SKIP : 265 * @THUNAR_JOB_RESPONSE_SKIP_ALL : 266 * @THUNAR_JOB_RESPONSE_RENAME : 267 * @THUNAR_JOB_RESPONSE_RENAME_ALL : 268 * 269 * Possible responses for the ThunarJob::ask signal. 270 **/ 271 typedef enum /*< flags >*/ 272 { 273 THUNAR_JOB_RESPONSE_YES = 1 << 0, 274 THUNAR_JOB_RESPONSE_YES_ALL = 1 << 1, 275 THUNAR_JOB_RESPONSE_NO = 1 << 2, 276 THUNAR_JOB_RESPONSE_CANCEL = 1 << 3, 277 THUNAR_JOB_RESPONSE_NO_ALL = 1 << 4, 278 THUNAR_JOB_RESPONSE_RETRY = 1 << 5, 279 THUNAR_JOB_RESPONSE_FORCE = 1 << 6, 280 THUNAR_JOB_RESPONSE_REPLACE = 1 << 7, 281 THUNAR_JOB_RESPONSE_REPLACE_ALL = 1 << 8, 282 THUNAR_JOB_RESPONSE_SKIP = 1 << 9, 283 THUNAR_JOB_RESPONSE_SKIP_ALL = 1 << 10, 284 THUNAR_JOB_RESPONSE_RENAME = 1 << 11, 285 THUNAR_JOB_RESPONSE_RENAME_ALL = 1 << 12, 286 } ThunarJobResponse; 287 #define THUNAR_JOB_RESPONSE_MAX_INT 12 288 289 GType thunar_job_response_get_type (void) G_GNUC_CONST; 290 291 292 #define THUNAR_TYPE_FILE_MODE (thunar_file_mode_get_type ()) 293 294 /** 295 * ThunarFileMode: 296 * 297 * Special flags and permissions of a filesystem entity. 298 **/ 299 typedef enum /*< flags >*/ 300 { 301 THUNAR_FILE_MODE_SUID = 04000, 302 THUNAR_FILE_MODE_SGID = 02000, 303 THUNAR_FILE_MODE_STICKY = 01000, 304 THUNAR_FILE_MODE_USR_ALL = 00700, 305 THUNAR_FILE_MODE_USR_READ = 00400, 306 THUNAR_FILE_MODE_USR_WRITE = 00200, 307 THUNAR_FILE_MODE_USR_EXEC = 00100, 308 THUNAR_FILE_MODE_GRP_ALL = 00070, 309 THUNAR_FILE_MODE_GRP_READ = 00040, 310 THUNAR_FILE_MODE_GRP_WRITE = 00020, 311 THUNAR_FILE_MODE_GRP_EXEC = 00010, 312 THUNAR_FILE_MODE_OTH_ALL = 00007, 313 THUNAR_FILE_MODE_OTH_READ = 00004, 314 THUNAR_FILE_MODE_OTH_WRITE = 00002, 315 THUNAR_FILE_MODE_OTH_EXEC = 00001, 316 } ThunarFileMode; 317 318 GType thunar_file_mode_get_type (void) G_GNUC_CONST; 319 320 G_END_DECLS; 321 322 #endif /* !__THUNAR_ENUM_TYPES_H__ */ 323