diff options
author | Andrea Weikert <elubie@gmx.net> | 2009-03-14 21:15:28 +0300 |
---|---|---|
committer | Andrea Weikert <elubie@gmx.net> | 2009-03-14 21:15:28 +0300 |
commit | e7e655ce746039601d8ecc3896db744e81c4dea8 (patch) | |
tree | 31deb0c44109f48ed6ae5cd4bab6e72816b3f8fb /source/blender/editors/space_file/file_ops.c | |
parent | d297058910f121c619ef90b29070f62964e905e2 (diff) |
2.5 filebrowser
- drawing tweak for background lines
- long and short display now behave the same, only difference is column width now.
TODO still:
- add additional columns (access rights - mode1-mode3 and owner) for non-Windows platforms
Diffstat (limited to 'source/blender/editors/space_file/file_ops.c')
-rw-r--r-- | source/blender/editors/space_file/file_ops.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c index 20e6b9b16a8..bafd81ae73e 100644 --- a/source/blender/editors/space_file/file_ops.c +++ b/source/blender/editors/space_file/file_ops.c @@ -117,17 +117,19 @@ static void file_deselect_all(SpaceFile* sfile) } } -static void file_select(SpaceFile* sfile, FileSelectParams* params, ARegion* ar, const rcti* rect, short val) +static void file_select(SpaceFile* sfile, ARegion* ar, const rcti* rect, short val) { int first_file = -1; int last_file = -1; int act_file; short selecting = (val == LEFTMOUSE); + FileSelectParams *params = ED_fileselect_get_params(sfile); + FileLayout *layout = ED_fileselect_get_layout(sfile, ar); int numfiles = filelist_numfiles(sfile->files); params->selstate = NOTACTIVE; - if ( (params->display == FILE_IMGDISPLAY) || (params->display == FILE_LONGDISPLAY) ) { + if ( (layout->flag == FILE_LAYOUT_HOR) ) { first_file = find_file_mouse_hor(sfile, ar, rect->xmin, rect->ymax); last_file = find_file_mouse_hor(sfile, ar, rect->xmax, rect->ymin); } else { @@ -209,7 +211,7 @@ static int file_border_select_exec(bContext *C, wmOperator *op) rect.xmax= RNA_int_get(op->ptr, "xmax"); rect.ymax= RNA_int_get(op->ptr, "ymax"); - file_select(sfile, sfile->params, ar, &rect, val ); + file_select(sfile, ar, &rect, val ); WM_event_add_notifier(C, NC_WINDOW, NULL); return OPERATOR_FINISHED; } @@ -250,7 +252,7 @@ static int file_select_invoke(bContext *C, wmOperator *op, wmEvent *event) /* single select, deselect all selected first */ file_deselect_all(sfile); - file_select(sfile, sfile->params, ar, &rect, val ); + file_select(sfile, ar, &rect, val ); WM_event_add_notifier(C, NC_WINDOW, NULL); } return OPERATOR_FINISHED; @@ -446,20 +448,22 @@ void FILE_OT_loadimages(wmOperatorType *ot) int file_hilight_set(SpaceFile *sfile, ARegion *ar, int mx, int my) { FileSelectParams* params; + FileLayout* layout; int numfiles, actfile; if(sfile==NULL || sfile->files==NULL) return 0; numfiles = filelist_numfiles(sfile->files); params = ED_fileselect_get_params(sfile); - - if ( (params->display == FILE_IMGDISPLAY) || (params->display == FILE_LONGDISPLAY)) { + layout = ED_fileselect_get_layout(sfile, ar); + + if ( (layout->flag == FILE_LAYOUT_HOR)) { actfile = find_file_mouse_hor(sfile, ar, mx , my); } else { actfile = find_file_mouse_vert(sfile, ar, mx, my); } - if (actfile >= 0 && actfile < numfiles ) { + if (params && (actfile >= 0) && (actfile < numfiles) ) { params->active_file=actfile; return 1; } |