[Bf-blender-cvs] [6efac431a35] master: UI: Remember the last display mode in file browser

Sharan Ranjit noreply at git.blender.org
Sun Apr 14 16:37:19 CEST 2019


Commit: 6efac431a35c9792021eeb85b4eb0df04f88da80
Author: Sharan Ranjit
Date:   Sun Apr 14 16:33:59 2019 +0200
Branches: master
https://developer.blender.org/rB6efac431a35c9792021eeb85b4eb0df04f88da80

UI: Remember the last display mode in file browser

See also T57688.

Differential Revision: https://developer.blender.org/D4479

===================================================================

M	source/blender/editors/space_file/filesel.c
M	source/blender/makesdna/DNA_space_types.h

===================================================================

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;
 }
 
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index 21e945a084a..2b1a6adb344 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -669,7 +669,9 @@ typedef struct FileSelectParams {
 	short sort;
 	/** Display mode flag. */
 	short display;
+	short display_previous;
 	/** Filter when (flags & FILE_FILTER) is true. */
+	char _pad2[2];
 	int filter;
 
 	/** Max number of levels in dirtree to show at once, 0 to disable recursion. */



More information about the Bf-blender-cvs mailing list