diff options
author | Andrea Weikert <elubie@gmx.net> | 2009-01-06 17:42:54 +0300 |
---|---|---|
committer | Andrea Weikert <elubie@gmx.net> | 2009-01-06 17:42:54 +0300 |
commit | b1cb844e0539376cb41cd15bf802aea62848b90a (patch) | |
tree | 5e67be9915d4a76afd9e894cc2e0783d439c41be /source/blender/editors/screen/area.c | |
parent | 10e6566aebec1c1c623cd88c3887db7c113d5af9 (diff) |
2.5 - Start of filebrowser.
- basic drawing of list and thumbnail view (switchable through 'favourits' icon in header)
- selection of files and directories (bookmarks) works with the RMB (right mouse button)
- load operator for files still unstable (no check for correct file type) and incomplete. (WM_operator_free missing)
immediate TODOS:
- fix load file operator
- finish drawing of buttons in header
- drawing of detailed list with all file info.
- finish selection and execute operators (LMB and MMB execute)
later todos:
- parent dir
- keymap for all the shortcuts
- append/link and databrowse
- ...
Diffstat (limited to 'source/blender/editors/screen/area.c')
-rw-r--r-- | source/blender/editors/screen/area.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 6f912ce393f..ee0da138941 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -649,6 +649,42 @@ void area_newspace(bContext *C, ScrArea *sa, int type) } } +void area_prevspace(bContext *C) +{ + SpaceLink *sl= CTX_wm_space_data(C); + ScrArea *sa= CTX_wm_area(C); + + /* cleanup */ +#if 0 // XXX needs to be space type specific + if(sfile->spacetype==SPACE_FILE) { + if(sfile->pupmenu) { + MEM_freeN(sfile->pupmenu); + sfile->pupmenu= NULL; + } + } +#endif + + if(sl->next) { + + BLI_remlink(&sa->spacedata, sl); + BLI_addtail(&sa->spacedata, sl); + + sl= sa->spacedata.first; + +#if 0 // XXX check whether this is still needed + if (sfile->spacetype == SPACE_SCRIPT) { + SpaceScript *sc = (SpaceScript *)sfile; + if (sc->script) sc->script->flags &=~SCRIPT_FILESEL; + } +#endif + + area_newspace(C, sa, SPACE_FILE); + } + else { + area_newspace(C, sa, SPACE_INFO); + } +} + static char *windowtype_pup(void) { return( |