diff options
author | Andrea Weikert <elubie@gmx.net> | 2012-11-07 00:29:14 +0400 |
---|---|---|
committer | Andrea Weikert <elubie@gmx.net> | 2012-11-07 00:29:14 +0400 |
commit | ecda79a8b82fb583cbea2a0c4bf430c649b46e33 (patch) | |
tree | ae1c5989ebbbc4dd399be9eb3172acf268cfef33 | |
parent | 0ba9e04c5be13f9c5b49a86ee00d1a97841ebe76 (diff) |
== file browser ==
[#33080] Backup icons - further integration
Contributed by Georg Kronthaler, many thanks!
* enables display of correct file icon on splash screen and in Open Recent menu
* exposes filter_backup in the python api
* enables setting BLENDERFILE_BACKUP as active filter in file browser from wm_operators.c (and from .blend in case this setting will be saved in the future)
* adds a comment to slightly misleading function name file_is_blend_backup()
* Updates icon for backup files to be more consistent with icon for .blend files
-rw-r--r-- | release/datafiles/blender_icons.png | bin | 228428 -> 228237 bytes | |||
-rw-r--r-- | release/datafiles/prvicons.png | bin | 14130 -> 13948 bytes | |||
-rw-r--r-- | source/blender/editors/space_file/filelist.c | 1 | ||||
-rw-r--r-- | source/blender/editors/space_file/filesel.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_info/space_info.c | 8 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 9 |
6 files changed, 18 insertions, 2 deletions
diff --git a/release/datafiles/blender_icons.png b/release/datafiles/blender_icons.png Binary files differindex 55a83964a8b..257de8ae3c8 100644 --- a/release/datafiles/blender_icons.png +++ b/release/datafiles/blender_icons.png diff --git a/release/datafiles/prvicons.png b/release/datafiles/prvicons.png Binary files differindex dc31964b33f..1636e644b12 100644 --- a/release/datafiles/prvicons.png +++ b/release/datafiles/prvicons.png diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c index 8f94086013c..a49b75477e4 100644 --- a/source/blender/editors/space_file/filelist.c +++ b/source/blender/editors/space_file/filelist.c @@ -744,6 +744,7 @@ void filelist_setfilter_types(struct FileList *filelist, const char *filter_glob BLI_strncpy(filelist->filter_glob, filter_glob, sizeof(filelist->filter_glob)); } +/* would recognize .blend as well */ static int file_is_blend_backup(const char *str) { short a, b; diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c index 49562958f82..778a3f4df3e 100644 --- a/source/blender/editors/space_file/filesel.c +++ b/source/blender/editors/space_file/filesel.c @@ -164,6 +164,8 @@ short ED_fileselect_set_params(SpaceFile *sfile) params->filter = 0; if (RNA_struct_find_property(op->ptr, "filter_blender")) params->filter |= RNA_boolean_get(op->ptr, "filter_blender") ? BLENDERFILE : 0; + if (RNA_struct_find_property(op->ptr, "filter_backup")) + params->filter |= RNA_boolean_get(op->ptr, "filter_backup") ? BLENDERFILE_BACKUP : 0; if (RNA_struct_find_property(op->ptr, "filter_image")) params->filter |= RNA_boolean_get(op->ptr, "filter_image") ? IMAGEFILE : 0; if (RNA_struct_find_property(op->ptr, "filter_movie")) diff --git a/source/blender/editors/space_info/space_info.c b/source/blender/editors/space_info/space_info.c index f108881091a..cba0a808d63 100644 --- a/source/blender/editors/space_info/space_info.c +++ b/source/blender/editors/space_info/space_info.c @@ -58,6 +58,7 @@ #include "UI_view2d.h" #include "info_intern.h" /* own include */ +#include "BLO_readfile.h" /* ******************** default callbacks for info space ***************** */ @@ -271,11 +272,16 @@ static void info_header_listener(ARegion *ar, wmNotifier *wmn) static void recent_files_menu_draw(const bContext *UNUSED(C), Menu *menu) { struct RecentFile *recent; + char file [FILE_MAX]; uiLayout *layout = menu->layout; uiLayoutSetOperatorContext(layout, WM_OP_EXEC_REGION_WIN); if (G.recent_files.first) { for (recent = G.recent_files.first; (recent); recent = recent->next) { - uiItemStringO(layout, BLI_path_basename(recent->filepath), ICON_FILE_BLEND, "WM_OT_open_mainfile", "filepath", recent->filepath); + BLI_split_file_part(recent->filepath, file, sizeof(file)); + if (BLO_has_bfile_extension(file)) + uiItemStringO(layout, BLI_path_basename(recent->filepath), ICON_FILE_BLEND, "WM_OT_open_mainfile", "filepath", recent->filepath); + else + uiItemStringO(layout, BLI_path_basename(recent->filepath), ICON_FILE_BACKUP, "WM_OT_open_mainfile", "filepath", recent->filepath); } } else { diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index 2ef33aa5964..c9551ee28a4 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -903,6 +903,8 @@ void WM_operator_properties_filesel(wmOperatorType *ot, int filter, short type, prop = RNA_def_boolean(ot->srna, "filter_blender", (filter & BLENDERFILE), "Filter .blend files", ""); RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE); + prop = RNA_def_boolean(ot->srna, "filter_backup", (filter & BLENDERFILE_BACKUP), "Filter .blend files", ""); + RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE); prop = RNA_def_boolean(ot->srna, "filter_image", (filter & IMAGEFILE), "Filter image files", ""); RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE); prop = RNA_def_boolean(ot->srna, "filter_movie", (filter & MOVIEFILE), "Filter movie files", ""); @@ -1332,6 +1334,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar int i; MenuType *mt = WM_menutype_find("USERPREF_MT_splash", TRUE); char url[96]; + char file [FILE_MAX]; #ifndef WITH_HEADLESS extern char datatoc_splash_png[]; @@ -1419,7 +1422,11 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar uiItemL(col, IFACE_("Recent"), ICON_NONE); for (recent = G.recent_files.first, i = 0; (i < 5) && (recent); recent = recent->next, i++) { - uiItemStringO(col, BLI_path_basename(recent->filepath), ICON_FILE_BLEND, "WM_OT_open_mainfile", "filepath", recent->filepath); + BLI_split_file_part(recent->filepath, file, sizeof(file)); + if (BLO_has_bfile_extension(file)) + uiItemStringO(col, BLI_path_basename(recent->filepath), ICON_FILE_BLEND, "WM_OT_open_mainfile", "filepath", recent->filepath); + else + uiItemStringO(col, BLI_path_basename(recent->filepath), ICON_FILE_BACKUP, "WM_OT_open_mainfile", "filepath", recent->filepath); } uiItemS(col); |