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:
authorCampbell Barton <ideasman42@gmail.com>2019-07-12 08:45:52 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-07-12 08:45:52 +0300
commit14999945573428c0cb9ae65651d9c3587716105a (patch)
treec5a03ca7e64f2a385734bb81c45a3eb9f9207b10
parentf2df5206987f691f245c929a7d3b9086d2020c66 (diff)
Fix T66675: Auto-Save override button has no tooltip
-rw-r--r--release/scripts/startup/bl_ui/space_userpref.py17
-rw-r--r--source/blender/editors/space_userpref/userpref_ops.c33
2 files changed, 44 insertions, 6 deletions
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index 4fc54de7c4d..2f573d83132 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -40,17 +40,22 @@ class USERPREF_HT_header(Header):
row = layout.row()
row.menu("USERPREF_MT_save_load", text="", icon='COLLAPSEMENU')
+ # Use '_is_startup' so once factory settings are loaded
+ # this display option will show, since it's confusing if disabling
+ # the option makes it dissapiers.
if prefs.use_preferences_save:
- if bpy.app.use_userpref_skip_save_on_exit:
- # We should have an 'alert' icon, for now use 'error'.
+ use_userpref_skip_save_on_exit = bpy.app.use_userpref_skip_save_on_exit
+ if use_userpref_skip_save_on_exit or getattr(USERPREF_HT_header, "_is_startup", False):
+ USERPREF_HT_header._is_startup = True
+
sub = row.row(align=True)
+ sub.alignment = 'LEFT'
props = sub.operator(
- "wm.context_toggle",
+ "preferences.autosave_override_toggle",
text="Skip Auto-Save",
- icon='CHECKBOX_HLT',
+ emboss=False,
+ icon='CHECKBOX_HLT' if use_userpref_skip_save_on_exit else 'CHECKBOX_DEHLT',
)
- props.module = "bpy.app"
- props.data_path = "use_userpref_skip_save_on_exit"
else:
sub = row.row(align=True)
sub.active = prefs.is_dirty
diff --git a/source/blender/editors/space_userpref/userpref_ops.c b/source/blender/editors/space_userpref/userpref_ops.c
index bd3ddf18144..c932d537b54 100644
--- a/source/blender/editors/space_userpref/userpref_ops.c
+++ b/source/blender/editors/space_userpref/userpref_ops.c
@@ -26,6 +26,7 @@
#include "DNA_screen_types.h"
#include "BKE_context.h"
+#include "BKE_global.h"
#include "BKE_main.h"
#include "BKE_report.h"
@@ -71,7 +72,39 @@ static void PREFERENCES_OT_reset_default_theme(wmOperatorType *ot)
/** \} */
+/* -------------------------------------------------------------------- */
+/** \name Toggle Auto-Save Override
+ *
+ * This operator only exists so there is a useful tool-tip for for adjusting the global flag.
+ * \{ */
+
+static int preferences_autosave_override_toggle_exec(bContext *UNUSED(C), wmOperator *UNUSED(op))
+{
+ G.f ^= G_FLAG_USERPREF_NO_SAVE_ON_EXIT;
+ return OPERATOR_FINISHED;
+}
+
+static void PREFERENCES_OT_autosave_override_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Toggle Override Auto-Save";
+ ot->idname = "PREFERENCES_OT_autosave_override_toggle";
+ ot->description =
+ "The current session has \"Factory Preferences\" loaded "
+ "which disables automatically saving.\n"
+ "Disable this to auto-save the preferences";
+
+ /* callbacks */
+ ot->exec = preferences_autosave_override_toggle_exec;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER;
+}
+
+/** \} */
+
void ED_operatortypes_userpref(void)
{
WM_operatortype_append(PREFERENCES_OT_reset_default_theme);
+ WM_operatortype_append(PREFERENCES_OT_autosave_override_toggle);
}