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
path: root/source
diff options
context:
space:
mode:
authorYevgeny Makarov <jenkm>2020-02-28 15:51:40 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-02-28 15:57:32 +0300
commite287122af6ca2bb4b60ac938b5ac8a3f1354cad9 (patch)
tree9d220cfc9cfc8d8cdecb15d34418c97b8485005b /source
parent318112379d6d251334b8f3d2a20b935210446b4f (diff)
UI: improve label text colors in save and security popups
This adds a utility functions to draw a label highlighted or in red. Differential Revision: https://developer.blender.org/D6934
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/include/UI_interface.h2
-rw-r--r--source/blender/editors/interface/interface_layout.c15
-rw-r--r--source/blender/windowmanager/intern/wm_files.c20
3 files changed, 26 insertions, 11 deletions
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index 74ecff22243..554a166b2ce 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -2283,6 +2283,8 @@ void uiItemsFullEnumO_items(uiLayout *layout,
int totitem);
void uiItemL(uiLayout *layout, const char *name, int icon); /* label */
+void uiItemL_ex(
+ uiLayout *layout, const char *name, int icon, const bool highlight, const bool redalert);
uiLayout *uiItemL_respect_property_split(uiLayout *layout, const char *text, int icon);
/* label icon for dragging */
void uiItemLDrag(uiLayout *layout, struct PointerRNA *ptr, const char *name, int icon);
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index 64c0e11976b..91b56177eac 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -2957,6 +2957,21 @@ static uiBut *uiItemL_(uiLayout *layout, const char *name, int icon)
return but;
}
+void uiItemL_ex(
+ uiLayout *layout, const char *name, int icon, const bool highlight, const bool redalert)
+{
+ uiBut *but = uiItemL_(layout, name, icon);
+
+ if (highlight) {
+ /* TODO: add another flag for this. */
+ UI_but_flag_enable(but, UI_SELECT_DRAW);
+ }
+
+ if (redalert) {
+ UI_but_flag_enable(but, UI_BUT_REDALERT);
+ }
+}
+
void uiItemL(uiLayout *layout, const char *name, int icon)
{
uiItemL_(layout, name, icon);
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index 1775d9064d9..dae6f62319d 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -2828,13 +2828,13 @@ static uiBlock *block_create_autorun_warning(struct bContext *C,
/* Text and some vertical space */
uiLayout *col = uiLayoutColumn(layout, true);
- uiItemL(col,
- TIP_("For security reasons, automatic execution of Python scripts in this file was "
- "disabled:"),
- ICON_ERROR);
- uiLayout *sub = uiLayoutRow(col, true);
- uiLayoutSetRedAlert(sub, true);
- uiItemL(sub, G.autoexec_fail, ICON_BLANK1);
+ uiItemL_ex(col,
+ TIP_("For security reasons, automatic execution of Python scripts "
+ "in this file was disabled:"),
+ ICON_ERROR,
+ true,
+ false);
+ uiItemL_ex(col, G.autoexec_fail, ICON_BLANK1, false, true);
uiItemL(col, TIP_("This may lead to unexpected behavior"), ICON_BLANK1);
uiItemS(layout);
@@ -3085,7 +3085,7 @@ static uiBlock *block_create__close_file_dialog(struct bContext *C, struct ARegi
style);
/* Title */
- uiItemL(layout, title, ICON_ERROR);
+ uiItemL_ex(layout, title, ICON_ERROR, true, false);
/* Image Saving */
ReportList reports;
@@ -3093,9 +3093,7 @@ static uiBlock *block_create__close_file_dialog(struct bContext *C, struct ARegi
uint modified_images_count = ED_image_save_all_modified_info(C, &reports);
LISTBASE_FOREACH (Report *, report, &reports.list) {
- uiLayout *row = uiLayoutRow(layout, false);
- uiLayoutSetRedAlert(row, true);
- uiItemL(row, report->message, ICON_CANCEL);
+ uiItemL_ex(layout, report->message, ICON_CANCEL, false, true);
}
if (modified_images_count > 0) {