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
This commit is contained in:
Yevgeny Makarov
2020-02-28 13:51:40 +01:00
committed by Brecht Van Lommel
parent 318112379d
commit e287122af6
3 changed files with 26 additions and 11 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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) {