mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Fix Color chooser option value setting and getting.
This commit is contained in:
parent
c83a3f44dd
commit
8079470c8a
@ -2166,19 +2166,25 @@ public:
|
||||
void set_ui_item_from_option(GncOption& option) noexcept override
|
||||
{
|
||||
GdkRGBA color;
|
||||
if (gdk_rgba_parse(&color,
|
||||
option.get_value<std::string>().c_str()))
|
||||
auto rgba_str{g_strdup_printf("#%s",
|
||||
option.get_value<std::string>().c_str())};
|
||||
if (gdk_rgba_parse(&color, rgba_str))
|
||||
{
|
||||
auto color_button = GTK_COLOR_CHOOSER(get_widget());
|
||||
gtk_color_chooser_set_rgba(color_button, &color);
|
||||
}
|
||||
g_free(rgba_str);
|
||||
}
|
||||
void set_option_from_ui_item(GncOption& option) noexcept override
|
||||
{
|
||||
GdkRGBA color;
|
||||
auto color_button = GTK_COLOR_CHOOSER(get_widget());
|
||||
gtk_color_chooser_get_rgba(color_button, &color);
|
||||
auto rgba_str = gdk_rgba_to_string(&color);
|
||||
auto rgba_str = g_strdup_printf("%2x%2x%2x%2x",
|
||||
(uint8_t)(color.red * 255),
|
||||
(uint8_t)(color.green * 255),
|
||||
(uint8_t)(color.blue * 255),
|
||||
(uint8_t)(color.alpha * 255));
|
||||
option.set_value(std::string{rgba_str});
|
||||
g_free(rgba_str);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user