mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-21 21:20:20 +00:00
Merge pull request #142 from ZoiteChat/fix-color-reset-saving
Fix GTK default text/bg reset staging
This commit is contained in:
@@ -2197,8 +2197,8 @@ setup_ok_cb (GtkWidget *but, GtkWidget *win)
|
|||||||
char buffer[192];
|
char buffer[192];
|
||||||
|
|
||||||
memcpy (&old_prefs, &prefs, sizeof (prefs));
|
memcpy (&old_prefs, &prefs, sizeof (prefs));
|
||||||
theme_preferences_stage_apply ();
|
|
||||||
setup_apply (&setup_prefs);
|
setup_apply (&setup_prefs);
|
||||||
|
theme_preferences_stage_apply ();
|
||||||
save_result = preferences_persistence_save_all ();
|
save_result = preferences_persistence_save_all ();
|
||||||
if (save_result.success)
|
if (save_result.success)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -68,6 +68,16 @@ theme_get_color (ThemeSemanticToken token, GdkRGBA *color)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
theme_get_widget_style_values_for_widget (GtkWidget *widget, ThemeWidgetStyleValues *out_values)
|
||||||
|
{
|
||||||
|
(void)widget;
|
||||||
|
if (!out_values)
|
||||||
|
return;
|
||||||
|
gdk_rgba_parse (&out_values->foreground, "#111111");
|
||||||
|
gdk_rgba_parse (&out_values->background, "#f0f0f0");
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
theme_manager_set_token_color (unsigned int dark_mode, ThemeSemanticToken token, const GdkRGBA *color, gboolean *changed)
|
theme_manager_set_token_color (unsigned int dark_mode, ThemeSemanticToken token, const GdkRGBA *color, gboolean *changed)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -723,6 +723,7 @@ theme_preferences_manager_dialog_response_cb (GtkDialog *dialog, gint response_i
|
|||||||
if (theme_preferences_stage.active)
|
if (theme_preferences_stage.active)
|
||||||
{
|
{
|
||||||
ThemeSemanticToken token;
|
ThemeSemanticToken token;
|
||||||
|
ThemeWidgetStyleValues style_values;
|
||||||
|
|
||||||
for (token = THEME_TOKEN_MIRC_0; token < THEME_TOKEN_COUNT; token++)
|
for (token = THEME_TOKEN_MIRC_0; token < THEME_TOKEN_COUNT; token++)
|
||||||
{
|
{
|
||||||
@@ -733,6 +734,12 @@ theme_preferences_manager_dialog_response_cb (GtkDialog *dialog, gint response_i
|
|||||||
theme_preferences_stage.staged[token] = rgba;
|
theme_preferences_stage.staged[token] = rgba;
|
||||||
theme_preferences_stage.staged_valid[token] = TRUE;
|
theme_preferences_stage.staged_valid[token] = TRUE;
|
||||||
}
|
}
|
||||||
|
theme_get_widget_style_values_for_widget (GTK_WIDGET (dialog), &style_values);
|
||||||
|
theme_preferences_stage.staged[THEME_TOKEN_TEXT_FOREGROUND] = style_values.foreground;
|
||||||
|
theme_preferences_stage.staged_valid[THEME_TOKEN_TEXT_FOREGROUND] = TRUE;
|
||||||
|
theme_preferences_stage.staged[THEME_TOKEN_TEXT_BACKGROUND] = style_values.background;
|
||||||
|
theme_preferences_stage.staged_valid[THEME_TOKEN_TEXT_BACKGROUND] = TRUE;
|
||||||
|
theme_preferences_stage_sync_runtime_to_staged ();
|
||||||
theme_preferences_stage_recompute_changed ();
|
theme_preferences_stage_recompute_changed ();
|
||||||
if (ui->color_change_flag)
|
if (ui->color_change_flag)
|
||||||
*ui->color_change_flag = theme_preferences_stage.changed;
|
*ui->color_change_flag = theme_preferences_stage.changed;
|
||||||
|
|||||||
Reference in New Issue
Block a user