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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-05-18 13:15:59 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-05-18 13:19:27 +0300
commit396558b36fb32e2a8b6d5fc641d434351179afce (patch)
tree5343dd4136537e53863200c770c4e48b4d3331b4 /source/blender/windowmanager
parent7fd015bb70b2fe690d06a97ef8df54eed511d1ba (diff)
Windows: use more standard button layout in quit dialog
macOS and Linux remain the same as before. Ref D3118.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r--source/blender/windowmanager/intern/wm_files.c118
1 files changed, 59 insertions, 59 deletions
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index 96b97f67cda..9e9619c698d 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -2900,6 +2900,31 @@ static void wm_block_file_close_save(bContext *C, void *arg_block, void *arg_dat
wm_generic_callback_free(callback);
}
+static void wm_block_file_close_cancel_button(uiBlock *block, GenericCallback *post_action)
+{
+ uiBut *but = uiDefIconTextBut(
+ block, UI_BTYPE_BUT, 0, 0, IFACE_("Cancel"), 0, 0, 0, UI_UNIT_Y, 0, 0, 0, 0, 0, "");
+ UI_but_func_set(but, wm_block_file_close_cancel, block, post_action);
+ UI_but_drawflag_disable(but, UI_BUT_TEXT_LEFT);
+}
+
+static void wm_block_file_close_discard_button(uiBlock *block, GenericCallback *post_action)
+{
+ uiBut *but = uiDefIconTextBut(
+ block, UI_BTYPE_BUT, 0, 0, IFACE_("Discard Changes"), 0, 0, 0, UI_UNIT_Y, 0, 0, 0, 0, 0, "");
+ UI_but_func_set(but, wm_block_file_close_discard, block, post_action);
+ UI_but_drawflag_disable(but, UI_BUT_TEXT_LEFT);
+}
+
+static void wm_block_file_close_save_button(uiBlock *block, GenericCallback *post_action)
+{
+ uiBut *but = uiDefIconTextBut(
+ block, UI_BTYPE_BUT, 0, 0, IFACE_("Save"), 0, 0, 0, UI_UNIT_Y, 0, 0, 0, 0, 0, "");
+ UI_but_func_set(but, wm_block_file_close_save, block, post_action);
+ UI_but_drawflag_disable(but, UI_BUT_TEXT_LEFT);
+ UI_but_flag_enable(but, UI_BUT_ACTIVE_DEFAULT);
+}
+
static uiBlock *block_create__close_file_dialog(struct bContext *C, struct ARegion *ar, void *arg1)
{
GenericCallback *post_action = (GenericCallback *)arg1;
@@ -2923,6 +2948,7 @@ static uiBlock *block_create__close_file_dialog(struct bContext *C, struct ARegi
0,
style);
+ /* Title */
bool blend_file_is_saved = BKE_main_blendfile_path(bmain)[0] != '\0';
if (blend_file_is_saved) {
uiItemL(layout, "This file has unsaved changes.", ICON_INFO);
@@ -2931,6 +2957,7 @@ static uiBlock *block_create__close_file_dialog(struct bContext *C, struct ARegi
uiItemL(layout, "This file has not been saved yet.", ICON_INFO);
}
+ /* Image Saving */
ReportList reports;
BKE_reports_init(&reports, RPT_STORE);
uint modified_images_count = ED_image_save_all_modified_info(C, &reports);
@@ -2967,70 +2994,43 @@ static uiBlock *block_create__close_file_dialog(struct bContext *C, struct ARegi
uiItemL(layout, "", ICON_NONE);
- uiBut *but;
+ /* Buttons */
+#ifdef _WIN32
+ const bool windows_layout = true;
+#else
+ const bool windows_layout = false;
+#endif
+
uiLayout *split = uiLayoutSplit(layout, 0.0f, true);
- uiLayout *col = uiLayoutColumn(split, false);
- but = uiDefIconTextBut(block,
- UI_BTYPE_BUT,
- 0,
- 0,
- IFACE_("Cancel"),
- 0,
- 0,
- 0,
- UI_UNIT_Y,
- NULL,
- 0,
- 0,
- 0,
- 0,
- "");
- UI_but_func_set(but, wm_block_file_close_cancel, block, post_action);
- UI_but_drawflag_disable(but, UI_BUT_TEXT_LEFT);
+ if (windows_layout) {
+ /* Windows standard layout. */
+ uiLayout *col = uiLayoutColumn(split, false);
+ uiItemS(col);
- /* empty space between buttons */
- col = uiLayoutColumn(split, false);
- uiItemS(col);
+ col = uiLayoutColumn(split, false);
+ wm_block_file_close_save_button(block, post_action);
- col = uiLayoutColumn(split, false);
- but = uiDefIconTextBut(block,
- UI_BTYPE_BUT,
- 0,
- 0,
- IFACE_("Discard Changes"),
- 0,
- 0,
- 50,
- UI_UNIT_Y,
- NULL,
- 0,
- 0,
- 0,
- 0,
- "");
- UI_but_func_set(but, wm_block_file_close_discard, block, post_action);
- UI_but_drawflag_disable(but, UI_BUT_TEXT_LEFT);
+ col = uiLayoutColumn(split, false);
+ wm_block_file_close_discard_button(block, post_action);
- col = uiLayoutColumn(split, false);
- but = uiDefIconTextBut(block,
- UI_BTYPE_BUT,
- 0,
- 0,
- IFACE_("Save"),
- 0,
- 0,
- 50,
- UI_UNIT_Y,
- NULL,
- 0,
- 0,
- 0,
- 0,
- "");
- UI_but_func_set(but, wm_block_file_close_save, block, post_action);
- UI_but_drawflag_disable(but, UI_BUT_TEXT_LEFT);
- UI_but_flag_enable(but, UI_BUT_ACTIVE_DEFAULT);
+ col = uiLayoutColumn(split, false);
+ wm_block_file_close_cancel_button(block, post_action);
+ }
+ else {
+ /* macOS and Linux standard layout. */
+ uiLayout *col = uiLayoutColumn(split, false);
+ wm_block_file_close_cancel_button(block, post_action);
+
+ col = uiLayoutColumn(split, false);
+ uiItemS(col);
+
+ col = uiLayoutColumn(split, false);
+ wm_block_file_close_discard_button(block, post_action);
+
+ col = uiLayoutColumn(split, false);
+ wm_block_file_close_save_button(block, post_action);
+ }
UI_block_bounds_set_centered(block, 10);
return block;