From 6efac431a35c9792021eeb85b4eb0df04f88da80 Mon Sep 17 00:00:00 2001 From: Sharan Ranjit Date: Sun, 14 Apr 2019 16:33:59 +0200 Subject: UI: Remember the last display mode in file browser See also T57688. Differential Revision: https://developer.blender.org/D4479 --- source/blender/editors/space_file/filesel.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'source/blender/editors') diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c index 5195fa818d6..3ab08b5ac71 100644 --- a/source/blender/editors/space_file/filesel.c +++ b/source/blender/editors/space_file/filesel.c @@ -240,14 +240,21 @@ short ED_fileselect_set_params(SpaceFile *sfile) } if (params->display == FILE_DEFAULTDISPLAY) { - if (U.uiflag & USER_SHOW_THUMBNAILS) { - if (params->filter & (FILE_TYPE_IMAGE | FILE_TYPE_MOVIE | FILE_TYPE_FTFONT)) - params->display = FILE_IMGDISPLAY; - else + if(params->display_previous == FILE_DEFAULTDISPLAY){ + if (U.uiflag & USER_SHOW_THUMBNAILS) { + if (params->filter & (FILE_TYPE_IMAGE | FILE_TYPE_MOVIE | FILE_TYPE_FTFONT)) { + params->display = FILE_IMGDISPLAY; + } + else { + params->display = FILE_SHORTDISPLAY; + } + } + else { params->display = FILE_SHORTDISPLAY; + } } else { - params->display = FILE_SHORTDISPLAY; + params->display = params->display_previous; } } @@ -265,6 +272,7 @@ short ED_fileselect_set_params(SpaceFile *sfile) params->flag |= FILE_HIDE_DOT; params->flag &= ~FILE_DIRSEL_ONLY; params->display = FILE_SHORTDISPLAY; + params->display_previous = FILE_DEFAULTDISPLAY; params->sort = FILE_SORT_ALPHA; params->filter = 0; params->filter_glob[0] = '\0'; @@ -554,7 +562,6 @@ void ED_fileselect_init_layout(struct SpaceFile *sfile, ARegion *ar) (int)layout->column_widths[COLUMN_DATE] + column_space + (int)layout->column_widths[COLUMN_TIME] + column_space + (int)layout->column_widths[COLUMN_SIZE] + column_space; - } layout->tile_w = maxlen; if (layout->rows > 0) @@ -566,6 +573,7 @@ void ED_fileselect_init_layout(struct SpaceFile *sfile, ARegion *ar) layout->width = sfile->layout->columns * (layout->tile_w + 2 * layout->tile_border_x) + layout->tile_border_x * 2; layout->flag = FILE_LAYOUT_HOR; } + params->display_previous = params->display; layout->dirty = false; } -- cgit v1.2.3