Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/space_file')
-rw-r--r--source/blender/editors/space_file/file_draw.c229
-rw-r--r--source/blender/editors/space_file/file_intern.h2
-rw-r--r--source/blender/editors/space_file/file_ops.c34
-rw-r--r--source/blender/editors/space_file/file_panels.c20
-rw-r--r--source/blender/editors/space_file/filesel.c1
-rw-r--r--source/blender/editors/space_file/space_file.c25
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;
}