2.5 filebrowser
- add refresh filelist operator and button in header
This commit is contained in:
@@ -143,10 +143,13 @@ void file_header_buttons(const bContext *C, ARegion *ar)
|
||||
uiBlockSetEmboss(block, UI_EMBOSSX);
|
||||
|
||||
xco += 5;
|
||||
|
||||
uiDefIconButO(block, BUT, "FILE_OT_parent", WM_OP_INVOKE_DEFAULT, ICON_FILE_PARENT, xco, yco, 20, 20, "Navigate to Parent Folder");
|
||||
|
||||
xco+=XIC;
|
||||
|
||||
uiBlockBeginAlign(block);
|
||||
uiDefIconButO(block, BUT, "FILE_OT_parent", WM_OP_INVOKE_DEFAULT, ICON_FILE_PARENT, xco+=XIC, yco, 20, 20, "Navigate to Parent Folder");
|
||||
uiDefIconButO(block, BUT, "FILE_OT_refresh", WM_OP_INVOKE_DEFAULT, ICON_FILE_REFRESH, xco+=XIC, yco, 20, 20, "Refresh List of Files");
|
||||
uiBlockEndAlign(block);
|
||||
|
||||
xco += 5;
|
||||
|
||||
if (sfile->params->type != FILE_MAIN) {
|
||||
uiBlockBeginAlign(block);
|
||||
|
||||
@@ -60,6 +60,7 @@ void FILE_OT_loadimages(struct wmOperatorType *ot);
|
||||
void FILE_OT_exec(struct wmOperatorType *ot);
|
||||
void FILE_OT_cancel(struct wmOperatorType *ot);
|
||||
void FILE_OT_parent(struct wmOperatorType *ot);
|
||||
void FILE_OT_refresh(struct wmOperatorType *ot);
|
||||
void FILE_OT_bookmark_toggle(struct wmOperatorType *ot);
|
||||
|
||||
int file_exec(bContext *C, struct wmOperator *unused);
|
||||
|
||||
@@ -569,6 +569,34 @@ void FILE_OT_parent(struct wmOperatorType *ot)
|
||||
ot->poll= ED_operator_file_active; /* <- important, handler is on window level */
|
||||
}
|
||||
|
||||
|
||||
int file_refresh_exec(bContext *C, wmOperator *unused)
|
||||
{
|
||||
SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
|
||||
|
||||
if(sfile->params) {
|
||||
filelist_setdir(sfile->files, sfile->params->dir);
|
||||
filelist_free(sfile->files);
|
||||
sfile->params->active_file = -1;
|
||||
}
|
||||
ED_area_tag_redraw(CTX_wm_area(C));
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
|
||||
}
|
||||
|
||||
|
||||
void FILE_OT_refresh(struct wmOperatorType *ot)
|
||||
{
|
||||
/* identifiers */
|
||||
ot->name= "Refresh Filelist";
|
||||
ot->idname= "FILE_OT_refresh";
|
||||
|
||||
/* api callbacks */
|
||||
ot->exec= file_refresh_exec;
|
||||
ot->poll= ED_operator_file_active; /* <- important, handler is on window level */
|
||||
}
|
||||
|
||||
struct ARegion *file_buttons_region(struct ScrArea *sa)
|
||||
{
|
||||
ARegion *ar;
|
||||
|
||||
@@ -270,6 +270,7 @@ void file_operatortypes(void)
|
||||
WM_operatortype_append(FILE_OT_exec);
|
||||
WM_operatortype_append(FILE_OT_cancel);
|
||||
WM_operatortype_append(FILE_OT_parent);
|
||||
WM_operatortype_append(FILE_OT_refresh);
|
||||
WM_operatortype_append(FILE_OT_bookmark_toggle);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user