== ImageBrowser ==

added icon for 'Toggle Bookmark Area'
disabled the bookmarks for databrowse
allow to add path inside .blend file (could be nice to use as material library for example)
This commit is contained in:
Andrea Weikert 2008-02-17 21:34:56 +00:00
parent fcd78f0817
commit b7cf0ecbf6
5 changed files with 2077 additions and 2058 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

File diff suppressed because it is too large Load Diff

@ -118,7 +118,7 @@ void calc_imasel_rcts(SpaceImaSel *simasel, int winx, int winy)
simasel->v2d.vert.ymin += TILE_BORDER_Y + 2;
// simasel->v2d.mask.xmax= simasel->v2d.vert.xmin;
if (simasel->flag & FILE_BOOKMARKS) {
if ((simasel->flag & FILE_BOOKMARKS) && (simasel->type != FILE_MAIN)) {
int bmwidth = (simasel->v2d.vert.xmin - simasel->v2d.mask.xmin)/4.0f;
if (bmwidth > BOOKMARKWIDTH_MAX) bmwidth = BOOKMARKWIDTH_MAX;
@ -238,7 +238,7 @@ static void draw_imasel_bookmarks(ScrArea *sa, SpaceImaSel *simasel)
char bookmark[FILE_MAX];
float sw;
if (simasel->flag & FILE_BOOKMARKS) {
if ((simasel->flag & FILE_BOOKMARKS) && (simasel->type != FILE_MAIN)) {
int nentries = fsmenu_get_nentries();
int i;
short sx, sy;
@ -607,6 +607,8 @@ static void draw_imasel_buttons(ScrArea *sa, SpaceImaSel* simasel)
float slen;
float parentbut_width = 20;
float bookmarkbut_width = 0.0f;
float file_start_width = 0.0f;
int filebuty1, filebuty2;
float xmin = simasel->v2d.mask.xmin + 10;
@ -635,11 +637,12 @@ static void draw_imasel_buttons(ScrArea *sa, SpaceImaSel* simasel)
menu= fsmenu_build_menu();
if (menu[0]) {
if (menu[0]&& (simasel->type != FILE_MAIN)) {
bookmarkbut_width = parentbut_width;
file_start_width = parentbut_width;
}
uiDefBut(block, TEX, B_FS_FILENAME,"", xmin+parentbut_width+bookmarkbut_width+2, filebuty1, xmax-xmin-loadbutton-parentbut_width-bookmarkbut_width, 21, simasel->file, 0.0, (float)FILE_MAXFILE-1, 0, 0, "");
uiDefBut(block, TEX, B_FS_FILENAME,"", xmin+file_start_width+bookmarkbut_width+2, filebuty1, xmax-xmin-loadbutton-file_start_width-bookmarkbut_width, 21, simasel->file, 0.0, (float)FILE_MAXFILE-1, 0, 0, "");
uiDefBut(block, TEX, B_FS_DIRNAME,"", xmin+parentbut_width, filebuty2, xmax-xmin-loadbutton-parentbut_width, 21, simasel->dir, 0.0, (float)FILE_MAXFILE-1, 0, 0, "");
if(loadbutton) {
@ -648,7 +651,9 @@ static void draw_imasel_buttons(ScrArea *sa, SpaceImaSel* simasel)
uiDefBut(block, BUT,B_FS_CANCEL, "Cancel", xmax-loadbutton, filebuty1, loadbutton, 21, simasel->file, 0.0, (float)FILE_MAXFILE-1, 0, 0, "");
}
if(menu[0]) { // happens when no .Bfs is there, and first time browse
/* menu[0] = NULL happens when no .Bfs is there, and first time browse
disallow external directory browsing for databrowse */
if(menu[0] && (simasel->type != FILE_MAIN)) {
uiDefButS(block, MENU,B_FS_DIR_MENU, menu, xmin, filebuty1, parentbut_width, 21, &simasel->menu, 0, 0, 0, 0, "");
uiDefBut(block, BUT, B_FS_BOOKMARK, "B", xmin+22, filebuty1, bookmarkbut_width, 21, 0, 0, 0, 0, 0, "Bookmark current directory");
}

@ -635,7 +635,6 @@ static void do_imasel_buttons(short event, SpaceImaSel *simasel)
/* which string */
if (selected) {
BLI_strncpy(simasel->dir, selected, sizeof(simasel->dir));
BLI_make_exist(simasel->dir);
BLI_cleanup_dir(G.sce, simasel->dir);
BIF_filelist_free(simasel->files);
BIF_filelist_setdir(simasel->files, simasel->dir);
@ -988,7 +987,6 @@ void winqreadimaselspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
/* which string */
if (selected) {
BLI_strncpy(simasel->dir, selected, sizeof(simasel->dir));
BLI_make_exist(simasel->dir);
BLI_cleanup_dir(G.sce, simasel->dir);
BIF_filelist_free(simasel->files);
BIF_filelist_setdir(simasel->files, simasel->dir);

@ -139,9 +139,13 @@ void imasel_buttons(void)
cpack(0x0);
xco+=XIC+10;
uiDefIconButBitS(block, TOG, FILE_BOOKMARKS, B_RELOADIMASELDIR, ICON_BOOKMARKS,xco+=XIC,0,XIC,YIC, &simasel->flag, 0, 0, 0, 0, "Toggles Bookmarks on/off");
xco+=XIC+10;
type = simasel->type;
if (type != FILE_MAIN) {
uiDefIconButBitS(block, TOG, FILE_BOOKMARKS, B_RELOADIMASELDIR, ICON_BOOKMARKS,xco+=XIC,0,XIC,YIC, &simasel->flag, 0, 0, 0, 0, "Toggles Bookmarks on/off");
xco+=XIC+10;
}
xcotitle= xco;
xco+= BIF_GetStringWidth(G.font, simasel->title, (U.transopts & USER_TR_BUTTONS));
@ -154,8 +158,6 @@ void imasel_buttons(void)
uiBlockEndAlign(block);
xco+=20;
type = simasel->type;
if(!simasel->files) {
simasel->files = BIF_filelist_new();
}