diff options
Diffstat (limited to 'source/blender/editors/space_file')
-rw-r--r-- | source/blender/editors/space_file/file_draw.c | 229 | ||||
-rw-r--r-- | source/blender/editors/space_file/file_intern.h | 2 | ||||
-rw-r--r-- | source/blender/editors/space_file/file_ops.c | 34 | ||||
-rw-r--r-- | source/blender/editors/space_file/file_panels.c | 20 | ||||
-rw-r--r-- | source/blender/editors/space_file/filesel.c | 1 | ||||
-rw-r--r-- | source/blender/editors/space_file/space_file.c | 25 |
6 files changed, 175 insertions, 136 deletions
diff --git a/source/blender/editors/space_file/file_draw.c b/source/blender/editors/space_file/file_draw.c index 00024ffa961..5a07c6a7550 100644 --- a/source/blender/editors/space_file/file_draw.c +++ b/source/blender/editors/space_file/file_draw.c @@ -353,9 +353,59 @@ void file_calc_previews(const bContext *C, ARegion *ar) UI_view2d_totRect_set(v2d, sfile->layout->width, sfile->layout->height); } -static void file_draw_preview(short sx, short sy, ImBuf *imb, FileLayout *layout, short dropshadow) +void file_draw_previews(const bContext *C, ARegion *ar) { - if (imb) { + SpaceFile *sfile= CTX_wm_space_file(C); + FileSelectParams* params= ED_fileselect_get_params(sfile); + FileLayout* layout= ED_fileselect_get_layout(sfile, ar); + View2D *v2d= &ar->v2d; + struct FileList* files = sfile->files; + int numfiles; + struct direntry *file; + short sx, sy; + ImBuf* imb=0; + int i; + int colorid = 0; + int offset; + int is_icon; + + if (!files) return; + + filelist_imgsize(files,sfile->layout->prv_w,sfile->layout->prv_h); + numfiles = filelist_numfiles(files); + + sx = v2d->cur.xmin + layout->tile_border_x; + sy = v2d->cur.ymax - layout->tile_border_y; + + offset = ED_fileselect_layout_offset(layout, 0, 0); + if (offset<0) offset=0; + for (i=offset; (i < numfiles) && (i < (offset+(layout->rows+2)*layout->columns)); ++i) + { + ED_fileselect_layout_tilepos(layout, i, &sx, &sy); + sx += v2d->tot.xmin+2; + sy = v2d->tot.ymax - sy; + file = filelist_file(files, i); + + if (file->flags & ACTIVE) { + colorid = TH_HILITE; + draw_tile(sx - 1, sy, sfile->layout->tile_w + 1, sfile->layout->tile_h, colorid,0); + } else if (params->active_file == i) { + colorid = TH_ACTIVE; + draw_tile(sx - 1, sy, sfile->layout->tile_w + 1, sfile->layout->tile_h, colorid,0); + } + + if ( (file->flags & IMAGEFILE) /* || (file->flags & MOVIEFILE) */) + { + filelist_loadimage(files, i); + } + is_icon = 0; + imb = filelist_getimage(files, i); + if (!imb) { + imb = filelist_geticon(files,i); + is_icon = 1; + } + + if (imb) { float fx, fy; float dx, dy; short xco, yco; @@ -383,15 +433,15 @@ static void file_draw_preview(short sx, short sy, ImBuf *imb, FileLayout *layout ey = (short)scaledy; fx = ((float)layout->prv_w - (float)ex)/2.0f; fy = ((float)layout->prv_h - (float)ey)/2.0f; - dx = (fx + 0.5f + layout->prv_border_x); - dy = (fy + 0.5f - layout->prv_border_y); + dx = (fx + 0.5f + sfile->layout->prv_border_x); + dy = (fy + 0.5f - sfile->layout->prv_border_y); xco = (float)sx + dx; - yco = (float)sy - layout->prv_h + dy; + yco = (float)sy - sfile->layout->prv_h + dy; glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); /* shadow */ - if (dropshadow) + if (!is_icon && (file->flags & IMAGEFILE)) uiDrawBoxShadow(220, xco, yco, xco + ex, yco + ey); glEnable(GL_BLEND); @@ -401,7 +451,7 @@ static void file_draw_preview(short sx, short sy, ImBuf *imb, FileLayout *layout glaDrawPixelsTexScaled(xco, yco, imb->x, imb->y, GL_UNSIGNED_BYTE, imb->rect, scale, scale); /* border */ - if (dropshadow) { + if (!is_icon && (file->flags & IMAGEFILE)) { glColor4f(0.0f, 0.0f, 0.0f, 0.4f); fdrawbox(xco, yco, xco + ex, yco + ey); } @@ -409,6 +459,41 @@ static void file_draw_preview(short sx, short sy, ImBuf *imb, FileLayout *layout glDisable(GL_BLEND); imb = 0; } + + /* shadow */ + UI_ThemeColorShade(TH_BACK, -20); + + + if (S_ISDIR(file->type)) { + glColor4f(1.0f, 1.0f, 0.9f, 1.0f); + } + else if (file->flags & IMAGEFILE) { + UI_ThemeColor(TH_SEQ_IMAGE); + } + else if (file->flags & MOVIEFILE) { + UI_ThemeColor(TH_SEQ_MOVIE); + } + else if (file->flags & BLENDERFILE) { + UI_ThemeColor(TH_SEQ_SCENE); + } + else { + if (params->active_file == i) { + UI_ThemeColor(TH_GRID); /* grid used for active text */ + } else if (file->flags & ACTIVE) { + UI_ThemeColor(TH_TEXT_HI); + } else { + UI_ThemeColor(TH_TEXT); + } + } + + file_draw_string(sx + layout->prv_border_x, sy+4, file->relname, layout->tile_w, layout->tile_h, FILE_SHORTEN_END); + + if (!sfile->loadimage_timer) + sfile->loadimage_timer= WM_event_add_window_timer(CTX_wm_window(C), TIMER1, 1.0/30.0); /* max 30 frames/sec. */ + + } + + uiSetRoundBox(0); } static void renamebutton_cb(bContext *C, void *arg1, char *oldname) @@ -438,39 +523,6 @@ static void renamebutton_cb(bContext *C, void *arg1, char *oldname) } } - -static void draw_background(FileLayout *layout, View2D *v2d) -{ - int i; - short sy; - - /* alternating flat shade background */ - for (i=0; (i <= layout->rows); i+=2) - { - sy = v2d->cur.ymax - i*(layout->tile_h+2*layout->tile_border_y) - layout->tile_border_y; - - UI_ThemeColorShade(TH_BACK, -7); - glRectf(v2d->cur.xmin, sy, v2d->cur.xmax, sy+layout->tile_h+2*layout->tile_border_y); - - } -} - -static void draw_dividers(FileLayout *layout, View2D *v2d) -{ - short sx; - - /* vertical column dividers */ - sx = v2d->tot.xmin; - while (sx < v2d->cur.xmax) { - sx += (layout->tile_w+2*layout->tile_border_x); - - UI_ThemeColorShade(TH_BACK, 30); - sdrawline(sx+1, v2d->cur.ymax - layout->tile_border_y , sx+1, v2d->cur.ymin); - UI_ThemeColorShade(TH_BACK, -30); - sdrawline(sx, v2d->cur.ymax - layout->tile_border_y , sx, v2d->cur.ymin); - } -} - void file_draw_list(const bContext *C, ARegion *ar) { SpaceFile *sfile= CTX_wm_space_file(C); @@ -479,7 +531,6 @@ void file_draw_list(const bContext *C, ARegion *ar) View2D *v2d= &ar->v2d; struct FileList* files = sfile->files; struct direntry *file; - ImBuf *imb; int numfiles; int numfiles_layout; int colorid = 0; @@ -487,7 +538,6 @@ void file_draw_list(const bContext *C, ARegion *ar) int offset; int i; float sw, spos; - short is_icon; numfiles = filelist_numfiles(files); @@ -497,11 +547,26 @@ void file_draw_list(const bContext *C, ARegion *ar) offset = ED_fileselect_layout_offset(layout, 0, 0); if (offset<0) offset=0; - if (params->display != FILE_IMGDISPLAY) { + /* alternating flat shade background */ + for (i=0; (i <= layout->rows); i+=2) + { + sx = v2d->cur.xmin; + sy = v2d->cur.ymax - i*(layout->tile_h+2*layout->tile_border_y) - layout->tile_border_y; - draw_background(layout, v2d); + UI_ThemeColorShade(TH_BACK, -7); + glRectf(v2d->cur.xmin, sy, v2d->cur.xmax, sy+layout->tile_h+2*layout->tile_border_y); + + } - draw_dividers(layout, v2d); + /* vertical column dividers */ + sx = v2d->tot.xmin; + while (sx < ar->v2d.cur.xmax) { + sx += (sfile->layout->tile_w+2*sfile->layout->tile_border_x); + + UI_ThemeColorShade(TH_BACK, 30); + sdrawline(sx+1, ar->v2d.cur.ymax - layout->tile_border_y , sx+1, ar->v2d.cur.ymin); + UI_ThemeColorShade(TH_BACK, -30); + sdrawline(sx, ar->v2d.cur.ymax - layout->tile_border_y , sx, ar->v2d.cur.ymin); } sx = ar->v2d.cur.xmin + layout->tile_border_x; @@ -529,33 +594,16 @@ void file_draw_list(const bContext *C, ARegion *ar) } spos = sx; - - if ( FILE_IMGDISPLAY == params->display ) { - if ( (file->flags & IMAGEFILE) /* || (file->flags & MOVIEFILE) */) { - filelist_loadimage(files, i); - } - is_icon = 0; - imb = filelist_getimage(files, i); - if (!imb) { - imb = filelist_geticon(files,i); - is_icon = 1; - } - - file_draw_preview(sx, sy, imb, layout, !is_icon && (file->flags & IMAGEFILE)); - - } else { - file_draw_icon(spos, sy-3, get_file_icon(file), ICON_DEFAULT_WIDTH, ICON_DEFAULT_WIDTH); - spos += ICON_DEFAULT_WIDTH + 4; - } - + file_draw_icon(spos, sy-3, get_file_icon(file), ICON_DEFAULT_WIDTH, ICON_DEFAULT_WIDTH); + spos += ICON_DEFAULT_WIDTH + 4; + UI_ThemeColor4(TH_TEXT); - + sw = file_string_width(file->relname); if (file->flags & EDITING) { - short but_width = (FILE_IMGDISPLAY == params->display) ? layout->tile_w : layout->column_widths[COLUMN_NAME]; uiBlock *block = uiBeginBlock(C, ar, "FileName", UI_EMBOSS); uiBut *but = uiDefBut(block, TEX, 1, "", spos, sy-layout->tile_h-3, - but_width, layout->textheight*2, file->relname, 1.0f, (float)FILE_MAX,0,0,""); + layout->column_widths[COLUMN_NAME], layout->tile_h, file->relname, 1.0f, (float)FILE_MAX,0,0,""); uiButSetRenameFunc(but, renamebutton_cb, file); if ( 0 == uiButActiveOnly(C, block, but)) { file->flags &= ~EDITING; @@ -563,42 +611,36 @@ void file_draw_list(const bContext *C, ARegion *ar) uiEndBlock(C, block); uiDrawBlock(C, block); } else { - float name_width = (FILE_IMGDISPLAY == params->display) ? layout->tile_w : sw; - file_draw_string(spos, sy, file->relname, name_width, layout->tile_h, FILE_SHORTEN_END); + file_draw_string(spos, sy, file->relname, sw, layout->tile_h, FILE_SHORTEN_END); } - - uiSetRoundBox(0); - - if (params->display == FILE_SHORTDISPLAY) { - spos += layout->column_widths[COLUMN_NAME] + 12; + spos += layout->column_widths[COLUMN_NAME] + 12; + if (params->display == FILE_SHOWSHORT) { if (!(file->type & S_IFDIR)) { sw = file_string_width(file->size); spos += layout->column_widths[COLUMN_SIZE] + 12 - sw; file_draw_string(spos, sy, file->size, sw+1, layout->tile_h, FILE_SHORTEN_END); } - } else if (params->display == FILE_LONGDISPLAY) { - spos += layout->column_widths[COLUMN_NAME] + 12; - -#ifndef WIN32 + } else { +#if 0 // XXX TODO: add this for non-windows systems /* rwx rwx rwx */ spos += 20; - sw = file_string_width(file->mode1); - file_draw_string(spos, sy, file->mode1, sw, layout->tile_h, FILE_SHORTEN_END); - spos += layout->column_widths[COLUMN_MODE1] + 12; - - sw = file_string_width(file->mode2); - file_draw_string(spos, sy, file->mode2, sw, layout->tile_h, FILE_SHORTEN_END); - spos += layout->column_widths[COLUMN_MODE2] + 12; - - sw = file_string_width(file->mode3); - file_draw_string(spos, sy, file->mode3, sw, layout->tile_h, FILE_SHORTEN_END); - spos += layout->column_widths[COLUMN_MODE3] + 12; + sw = UI_GetStringWidth(file->mode1); + file_draw_string(spos, sy, file->mode1, sw, layout->tile_h); + + spos += 30; + sw = UI_GetStringWidth(file->mode2); + file_draw_string(spos, sy, file->mode2, sw, layout->tile_h); - sw = file_string_width(file->owner); - file_draw_string(spos, sy, file->owner, sw, layout->tile_h, FILE_SHORTEN_END); - spos += layout->column_widths[COLUMN_OWNER] + 12; + spos += 30; + sw = UI_GetStringWidth(file->mode3); + file_draw_string(spos, sy, file->mode3, sw, layout->tile_h); + + spos += 30; + sw = UI_GetStringWidth(file->owner); + file_draw_string(spos, sy, file->owner, sw, layout->tile_h); #endif + sw = file_string_width(file->date); file_draw_string(spos, sy, file->date, sw, layout->tile_h, FILE_SHORTEN_END); spos += layout->column_widths[COLUMN_DATE] + 12; @@ -614,9 +656,6 @@ void file_draw_list(const bContext *C, ARegion *ar) } } } - - if (!sfile->loadimage_timer) - sfile->loadimage_timer= WM_event_add_window_timer(CTX_wm_window(C), TIMER1, 1.0/30.0); /* max 30 frames/sec. */ } diff --git a/source/blender/editors/space_file/file_intern.h b/source/blender/editors/space_file/file_intern.h index a99594e9575..9f1e4ad0e25 100644 --- a/source/blender/editors/space_file/file_intern.h +++ b/source/blender/editors/space_file/file_intern.h @@ -59,7 +59,7 @@ void FILE_OT_add_bookmark(struct wmOperatorType *ot); void FILE_OT_delete_bookmark(struct wmOperatorType *ot); void FILE_OT_hidedot(struct wmOperatorType *ot); void FILE_OT_loadimages(struct wmOperatorType *ot); -void FILE_OT_execute(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_directory_new(struct wmOperatorType *ot); diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c index e1a6e346ce2..9c73956d375 100644 --- a/source/blender/editors/space_file/file_ops.c +++ b/source/blender/editors/space_file/file_ops.c @@ -190,9 +190,9 @@ static int file_border_select_exec(bContext *C, wmOperator *op) BLI_isect_rcti(&(ar->v2d.mask), &rect, &rect); if (FILE_SELECT_DIR == file_select(sfile, ar, &rect, val )) { - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL); } else { - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_PARAMS, NULL); + WM_event_add_notifier(C, NC_FILE|ND_PARAMS, NULL); } return OPERATOR_FINISHED; } @@ -239,12 +239,12 @@ static int file_select_invoke(bContext *C, wmOperator *op, wmEvent *event) file_deselect_all(sfile); if (FILE_SELECT_DIR == file_select(sfile, ar, &rect, val )) - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL); else - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_PARAMS, NULL); + WM_event_add_notifier(C, NC_FILE|ND_PARAMS, NULL); WM_event_add_mousemove(C); /* for directory changes */ - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_PARAMS, NULL); + WM_event_add_notifier(C, NC_FILE|ND_PARAMS, NULL); return OPERATOR_FINISHED; } @@ -322,7 +322,7 @@ static int bookmark_select_invoke(bContext *C, wmOperator *op, wmEvent *event) BLI_cleanup_dir(G.sce, params->dir); file_change_dir(sfile); - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL); } return OPERATOR_FINISHED; @@ -566,11 +566,11 @@ int file_exec(bContext *C, wmOperator *unused) return OPERATOR_FINISHED; } -void FILE_OT_execute(struct wmOperatorType *ot) +void FILE_OT_exec(struct wmOperatorType *ot) { /* identifiers */ ot->name= "Execute File Window"; - ot->idname= "FILE_OT_execute"; + ot->idname= "FILE_OT_exec"; /* api callbacks */ ot->exec= file_exec; @@ -587,7 +587,7 @@ int file_parent_exec(bContext *C, wmOperator *unused) BLI_parent_dir(sfile->params->dir); BLI_cleanup_dir(G.sce, sfile->params->dir); file_change_dir(sfile); - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL); } } @@ -614,7 +614,7 @@ int file_refresh_exec(bContext *C, wmOperator *unused) file_change_dir(sfile); - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL); return OPERATOR_FINISHED; @@ -645,7 +645,7 @@ int file_previous_exec(bContext *C, wmOperator *unused) file_change_dir(sfile); } - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL); return OPERATOR_FINISHED; } @@ -676,7 +676,7 @@ int file_next_exec(bContext *C, wmOperator *unused) file_change_dir(sfile); } - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL); return OPERATOR_FINISHED; } @@ -705,7 +705,7 @@ int file_directory_new_exec(bContext *C, wmOperator *unused) BLI_strncpy(sfile->params->dir, filelist_dir(sfile->files), FILE_MAX); } } - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL); return OPERATOR_FINISHED; } @@ -754,7 +754,7 @@ int file_directory_exec(bContext *C, wmOperator *unused) BLI_cleanup_dir(G.sce, sfile->params->dir); BLI_add_slash(sfile->params->dir); file_change_dir(sfile); - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL); } @@ -769,7 +769,7 @@ int file_filename_exec(bContext *C, wmOperator *unused) if (file_select_match(sfile, sfile->params->file)) { sfile->params->file[0] = '\0'; - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_PARAMS, NULL); + WM_event_add_notifier(C, NC_FILE|ND_PARAMS, NULL); } } @@ -796,7 +796,7 @@ int file_hidedot_exec(bContext *C, wmOperator *unused) sfile->params->flag ^= FILE_HIDE_DOT; filelist_free(sfile->files); sfile->params->active_file = -1; - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL); } return OPERATOR_FINISHED; @@ -958,7 +958,7 @@ int file_delete_exec(bContext *C, wmOperator *op) file = filelist_file(sfile->files, sfile->params->active_file); BLI_make_file_string(G.sce, str, sfile->params->dir, file->relname); BLI_delete(str, 0, 0); - WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); + WM_event_add_notifier(C, NC_FILE | ND_FILELIST, NULL); return OPERATOR_FINISHED; diff --git a/source/blender/editors/space_file/file_panels.c b/source/blender/editors/space_file/file_panels.c index 24c3f9b4ca1..30598d39d58 100644 --- a/source/blender/editors/space_file/file_panels.c +++ b/source/blender/editors/space_file/file_panels.c @@ -63,7 +63,7 @@ static void file_panel_cb(bContext *C, void *arg_entry, void *arg_unused) WM_operator_properties_free(&ptr); } -static void file_panel_category(const bContext *C, Panel *pa, FSMenuCategory category, short *nr, int icon, int allow_delete, int reverse) +static void file_panel_category(const bContext *C, Panel *pa, FSMenuCategory category, short *nr, int icon, int allow_delete) { SpaceFile *sfile= CTX_wm_space_file(C); uiBlock *block; @@ -71,7 +71,7 @@ static void file_panel_category(const bContext *C, Panel *pa, FSMenuCategory cat uiLayout *box, *col; struct FSMenu* fsmenu = fsmenu_get(); char *curdir= (sfile->params)? sfile->params->dir: ""; - int i, i_iter, nentries = fsmenu_get_nentries(fsmenu, category); + int i, nentries = fsmenu_get_nentries(fsmenu, category); /* reset each time */ *nr= -1; @@ -86,16 +86,12 @@ static void file_panel_category(const bContext *C, Panel *pa, FSMenuCategory cat box= uiLayoutBox(pa->layout); col= uiLayoutColumn(box, 1); - for (i_iter=0; i_iter< nentries;++i_iter) { + for (i=0; i< nentries;++i) { char dir[FILE_MAX]; char temp[FILE_MAX]; uiLayout* layout = uiLayoutRow(col, 0); - char *entry; + char *entry = fsmenu_get_entry(fsmenu, category, i); - i= reverse ? nentries-(i_iter+1) : i_iter; - - entry = fsmenu_get_entry(fsmenu, category, i); - /* set this list item as active if we have a match */ if(strcmp(curdir, entry) == 0) *nr= i; @@ -128,7 +124,7 @@ static void file_panel_system(const bContext *C, Panel *pa) SpaceFile *sfile= CTX_wm_space_file(C); if(sfile) - file_panel_category(C, pa, FS_CATEGORY_SYSTEM, &sfile->systemnr, ICON_DISK_DRIVE, 0, 0); + file_panel_category(C, pa, FS_CATEGORY_SYSTEM, &sfile->systemnr, ICON_DISK_DRIVE, 0); } static void file_panel_bookmarks(const bContext *C, Panel *pa) @@ -141,7 +137,7 @@ static void file_panel_bookmarks(const bContext *C, Panel *pa) uiItemO(row, "Add", ICON_ZOOMIN, "file.add_bookmark"); uiItemL(row, NULL, 0); - file_panel_category(C, pa, FS_CATEGORY_BOOKMARKS, &sfile->bookmarknr, ICON_BOOKMARKS, 1, 0); + file_panel_category(C, pa, FS_CATEGORY_BOOKMARKS, &sfile->bookmarknr, ICON_BOOKMARKS, 1); } } @@ -150,7 +146,7 @@ static void file_panel_recent(const bContext *C, Panel *pa) SpaceFile *sfile= CTX_wm_space_file(C); if(sfile) - file_panel_category(C, pa, FS_CATEGORY_RECENT, &sfile->recentnr, ICON_FILE_FOLDER, 0, 1); + file_panel_category(C, pa, FS_CATEGORY_RECENT, &sfile->recentnr, ICON_FILE_FOLDER, 0); } @@ -188,7 +184,7 @@ static void file_panel_operator(const bContext *C, Panel *pa) if(strncmp(RNA_property_identifier(prop), "filter", 6) == 0) continue; - uiItemFullR(pa->layout, NULL, 0, op->ptr, prop, -1, 0, 0); + uiItemFullR(pa->layout, NULL, 0, op->ptr, prop, -1, 0, 0, 0, 0); empty= 0; } RNA_STRUCT_END; diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c index f300505933f..8ee7d3515b5 100644 --- a/source/blender/editors/space_file/filesel.c +++ b/source/blender/editors/space_file/filesel.c @@ -287,7 +287,6 @@ void ED_fileselect_init_layout(struct SpaceFile *sfile, struct ARegion *ar) numfiles = filelist_numfiles(sfile->files); textheight = file_font_pointsize(); layout = sfile->layout; - layout->textheight = textheight; if (params->display == FILE_IMGDISPLAY) { layout->prv_w = 96; diff --git a/source/blender/editors/space_file/space_file.c b/source/blender/editors/space_file/space_file.c index 722fa475727..ea640eab090 100644 --- a/source/blender/editors/space_file/space_file.c +++ b/source/blender/editors/space_file/space_file.c @@ -212,14 +212,14 @@ static void file_listener(ScrArea *sa, wmNotifier *wmn) /* context changes */ switch(wmn->category) { - case NC_SPACE: + case NC_FILE: switch (wmn->data) { - case ND_SPACE_FILE_LIST: + case ND_FILELIST: if (sfile->files) filelist_free(sfile->files); ED_area_tag_refresh(sa); ED_area_tag_redraw(sa); break; - case ND_SPACE_FILE_PARAMS: + case ND_PARAMS: ED_area_tag_refresh(sa); ED_area_tag_redraw(sa); break; @@ -249,12 +249,12 @@ static void file_main_area_listener(ARegion *ar, wmNotifier *wmn) { /* context changes */ switch(wmn->category) { - case NC_SPACE: + case NC_FILE: switch (wmn->data) { - case ND_SPACE_FILE_LIST: + case ND_FILELIST: ED_region_tag_redraw(ar); break; - case ND_SPACE_FILE_PARAMS: + case ND_PARAMS: ED_region_tag_redraw(ar); break; } @@ -310,7 +310,12 @@ static void file_main_area_draw(const bContext *C, ARegion *ar) file_hilight_set(sfile, ar, event->x, event->y); } - file_draw_list(C, ar); + if (params->display == FILE_IMGDISPLAY) { + file_draw_previews(C, ar); + } else { + file_draw_list(C, ar); + } + /* reset view matrix */ UI_view2d_view_restore(C); @@ -330,7 +335,7 @@ void file_operatortypes(void) WM_operatortype_append(FILE_OT_select_bookmark); WM_operatortype_append(FILE_OT_loadimages); WM_operatortype_append(FILE_OT_highlight); - WM_operatortype_append(FILE_OT_execute); + WM_operatortype_append(FILE_OT_exec); WM_operatortype_append(FILE_OT_cancel); WM_operatortype_append(FILE_OT_parent); WM_operatortype_append(FILE_OT_previous); @@ -470,9 +475,9 @@ static void file_ui_area_listener(ARegion *ar, wmNotifier *wmn) { /* context changes */ switch(wmn->category) { - case NC_SPACE: + case NC_FILE: switch (wmn->data) { - case ND_SPACE_FILE_LIST: + case ND_FILELIST: ED_region_tag_redraw(ar); break; } |