feat(ui): add cons_show_warning() (issue #87)
All checks were successful
CI Code / Check coding style (pull_request) Successful in 25s
CI Code / Check spelling (pull_request) Successful in 14s
CI Code / Code Coverage (pull_request) Successful in 3m16s
CI Code / Linux (ubuntu) (pull_request) Successful in 5m7s
CI Code / Linux (arch) (pull_request) Successful in 6m50s
CI Code / Linux (debian) (pull_request) Successful in 8m26s

The console had cons_show() for information and cons_show_error() for
failures, but nothing in between, so callers reporting a condition the
user should notice had to pick between hiding it and dressing it up as
an error.

cons_show_warning() prints through the new THEME_WARNING item, yellow
by default, and prefixes the text with "Warning: ". Themes that do not
set the "warning" colour fall back to that default, so the bundled
themes need no change. Logging stays with the caller, as it does for
the other console functions.
This commit is contained in:
2026-08-01 12:59:28 +03:00
parent d914e42ff6
commit a878b1e629
6 changed files with 45 additions and 0 deletions

View File

@@ -49,6 +49,18 @@ expect_any_cons_show_error(void)
expect_any(cons_show_error, output);
}
void
expect_cons_show_warning(char* expected)
{
expect_string(cons_show_warning, output, expected);
}
void
expect_any_cons_show_warning(void)
{
expect_any(cons_show_warning, output);
}
void
expect_win_println(char* message)
{
@@ -845,6 +857,16 @@ cons_show_error(const char* const cmd, ...)
va_end(args);
}
void
cons_show_warning(const char* const msg, ...)
{
va_list args;
va_start(args, msg);
vsnprintf(output, sizeof(output), msg, args);
check_expected(output);
va_end(args);
}
void
cons_show_contacts(GSList* list)
{

View File

@@ -10,4 +10,6 @@ void expect_cons_show(char* expected);
void expect_any_cons_show(void);
void expect_cons_show_error(char* expected);
void expect_any_cons_show_error(void);
void expect_cons_show_warning(char* expected);
void expect_any_cons_show_warning(void);
void expect_win_println(char* message);