|
Blender V4.3
|
#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include "MEM_guardedalloc.h"#include "BLI_fileops.h"#include "BLI_ghash.h"#include "BLI_listbase.h"#include "BLI_path_utils.hh"#include "BLI_string.h"#include "BLI_utildefines.h"#include "DNA_userdef_types.h"#include "BLT_translation.hh"#include "ED_fileselect.hh"#include "UI_resources.hh"#include "fsmenu.h"Go to the source code of this file.
Macros | |
| #define | FS_UDIR_PATH(dir, icon) |
Functions | |
| void | fsmenu_read_system (FSMenu *fsmenu, int read_bookmarks) |
XDG User Directory Support (Unix) | |
Generic Unix, Use XDG when available, otherwise fallback to the home directory. | |
| static GHash * | fsmenu_xdg_user_dirs_parse (const char *home) |
| static void | fsmenu_xdg_user_dirs_free (GHash *xdg_map) |
| static void | fsmenu_xdg_insert_entry (GHash *xdg_map, FSMenu *fsmenu, const char *key, const char *default_path, int icon, const char *home) |
| #define FS_UDIR_PATH | ( | dir, | |
| icon ) |
Referenced by fsmenu_read_system().
adds system specific directories
Definition at line 242 of file fsmenu_system.cc.
References ARRAY_SIZE, BLI_filelist_dir_contents(), BLI_filelist_free(), BLI_getenv(), BLI_is_dir(), BLI_path_join, BLI_strncpy_wchar_as_utf8(), BLI_strncpy_wchar_from_utf8(), dirname(), FILE_MAX, FILE_MAXDIR, FILE_MAXFILE, FS_CATEGORY_OTHER, FS_CATEGORY_SYSTEM, FS_CATEGORY_SYSTEM_BOOKMARKS, FS_INSERT_LAST, FS_INSERT_NO_VALIDATE, FS_INSERT_SORTED, FS_UDIR_PATH, fsmenu_insert_entry(), fsmenu_xdg_insert_entry(), fsmenu_xdg_user_dirs_free(), fsmenu_xdg_user_dirs_parse(), label, LISTBASE_FOREACH, N_, direntry::relname, seed, SNPRINTF, STRPREFIX, UNLIKELY, and UNUSED_VARS.
Referenced by ED_file_read_bookmarks(), and fsmenu_refresh_system_category().
|
static |
Add fsmenu entry for system folders on linux.
user-dirs.dirs.$HOME.| key | Use user-dirs.dirs format "XDG_EXAMPLE_DIR" |
| default_path | Directory name to check in $HOME, also used for the menu entry name. |
Definition at line 143 of file fsmenu_system.cc.
References BLI_ghash_lookup(), BLI_path_join, FILE_MAXDIR, FS_CATEGORY_SYSTEM_BOOKMARKS, FS_INSERT_LAST, fsmenu_insert_entry(), and N_.
Referenced by fsmenu_read_system().
|
static |
Definition at line 128 of file fsmenu_system.cc.
References BLI_ghash_free(), and MEM_freeN().
Referenced by fsmenu_read_system().
|
static |
Look for user-dirs.dirs, where localized or custom user folders are defined, and store their paths in a GHash.
Definition at line 69 of file fsmenu_system.cc.
References BLI_fopen(), BLI_ghash_insert(), BLI_ghash_str_new_ex(), BLI_path_join, BLI_str_rstrip(), BLI_strdup(), FILE_MAX, FILE_MAXDIR, l, SEP_STR, and STRPREFIX.
Referenced by fsmenu_read_system().