[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50700] trunk/blender/source/blender/ editors/space_file: == filebrowser ==
Andrea Weikert
elubie at gmx.net
Mon Sep 17 23:38:07 CEST 2012
Revision: 50700
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50700
Author: elubie
Date: 2012-09-17 21:38:04 +0000 (Mon, 17 Sep 2012)
Log Message:
-----------
== filebrowser ==
added operator for resetting (cleaning up) the recent folders list in the file-browser panels.
(small and low risk request by dfelinto)
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_file/file_intern.h
trunk/blender/source/blender/editors/space_file/file_ops.c
trunk/blender/source/blender/editors/space_file/file_panels.c
trunk/blender/source/blender/editors/space_file/space_file.c
Modified: trunk/blender/source/blender/editors/space_file/file_intern.h
===================================================================
--- trunk/blender/source/blender/editors/space_file/file_intern.h 2012-09-17 21:29:30 UTC (rev 50699)
+++ trunk/blender/source/blender/editors/space_file/file_intern.h 2012-09-17 21:38:04 UTC (rev 50700)
@@ -66,6 +66,7 @@
void FILE_OT_select_bookmark(struct wmOperatorType *ot);
void FILE_OT_bookmark_add(struct wmOperatorType *ot);
void FILE_OT_delete_bookmark(struct wmOperatorType *ot);
+void FILE_OT_reset_recent(wmOperatorType *ot);
void FILE_OT_hidedot(struct wmOperatorType *ot);
void FILE_OT_execute(struct wmOperatorType *ot);
void FILE_OT_cancel(struct wmOperatorType *ot);
Modified: trunk/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/file_ops.c 2012-09-17 21:29:30 UTC (rev 50699)
+++ trunk/blender/source/blender/editors/space_file/file_ops.c 2012-09-17 21:38:04 UTC (rev 50700)
@@ -515,6 +515,35 @@
RNA_def_int(ot->srna, "index", -1, -1, 20000, "Index", "", -1, 20000);
}
+static int reset_recent_exec(bContext *C, wmOperator *op)
+{
+ ScrArea *sa = CTX_wm_area(C);
+ char name[FILE_MAX];
+ struct FSMenu *fsmenu = fsmenu_get();
+
+ while (fsmenu_get_entry(fsmenu, FS_CATEGORY_RECENT, 0) != NULL) {
+ fsmenu_remove_entry(fsmenu, FS_CATEGORY_RECENT, 0);
+ }
+ BLI_make_file_string("/", name, BLI_get_folder_create(BLENDER_USER_CONFIG, NULL), BLENDER_BOOKMARK_FILE);
+ fsmenu_write_file(fsmenu, name);
+ ED_area_tag_redraw(sa);
+
+ return OPERATOR_FINISHED;
+}
+
+void FILE_OT_reset_recent(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Reset Recent";
+ ot->description = "Reset Recent files";
+ ot->idname = "FILE_OT_reset_recent";
+
+ /* api callbacks */
+ ot->exec = reset_recent_exec;
+ ot->poll = ED_operator_file_active;
+
+}
+
int file_highlight_set(SpaceFile *sfile, ARegion *ar, int mx, int my)
{
View2D *v2d = &ar->v2d;
Modified: trunk/blender/source/blender/editors/space_file/file_panels.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/file_panels.c 2012-09-17 21:29:30 UTC (rev 50699)
+++ trunk/blender/source/blender/editors/space_file/file_panels.c 2012-09-17 21:38:04 UTC (rev 50700)
@@ -152,9 +152,14 @@
static void file_panel_recent(const bContext *C, Panel *pa)
{
SpaceFile *sfile = CTX_wm_space_file(C);
+ uiLayout *row;
if (sfile) {
if (!(U.uiflag & USER_HIDE_RECENT) ) {
+ row = uiLayoutRow(pa->layout, FALSE);
+ uiItemO(row, IFACE_("Reset"), ICON_X, "file.reset_recent");
+ uiItemL(row, NULL, ICON_NONE);
+
file_panel_category(C, pa, FS_CATEGORY_RECENT, &sfile->recentnr, ICON_FILE_FOLDER, 0);
}
}
Modified: trunk/blender/source/blender/editors/space_file/space_file.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/space_file.c 2012-09-17 21:29:30 UTC (rev 50699)
+++ trunk/blender/source/blender/editors/space_file/space_file.c 2012-09-17 21:38:04 UTC (rev 50700)
@@ -386,6 +386,7 @@
WM_operatortype_append(FILE_OT_bookmark_toggle);
WM_operatortype_append(FILE_OT_bookmark_add);
WM_operatortype_append(FILE_OT_delete_bookmark);
+ WM_operatortype_append(FILE_OT_reset_recent);
WM_operatortype_append(FILE_OT_hidedot);
WM_operatortype_append(FILE_OT_filenum);
WM_operatortype_append(FILE_OT_directory_new);
More information about the Bf-blender-cvs
mailing list