mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-22 05:30:18 +00:00
Compare commits
12 Commits
network-tr
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1208449322 | ||
| a11ec3a05b | |||
|
|
e39dfcf00c | ||
| 5f1e0fe7d8 | |||
|
|
57d0d92ecb | ||
| cf89d80765 | |||
|
|
758722ddeb | ||
| 182adba83c | |||
|
|
3c880216cf | ||
| e854153b88 | |||
| 416b8449b9 | |||
|
|
394de09cb1 |
@@ -1120,7 +1120,9 @@ gtkutil_treeview_get_selected (GtkTreeView *view, GtkTreeIter *iter_ret, ...)
|
|||||||
gboolean
|
gboolean
|
||||||
gtkutil_tray_icon_supported (GtkWindow *window)
|
gtkutil_tray_icon_supported (GtkWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef GDK_WINDOWING_X11
|
#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_APPINDICATOR)
|
||||||
|
return TRUE;
|
||||||
|
#elif defined(GDK_WINDOWING_X11)
|
||||||
GdkScreen *screen = gtk_window_get_screen (window);
|
GdkScreen *screen = gtk_window_get_screen (window);
|
||||||
GdkDisplay *display = gdk_screen_get_display (screen);
|
GdkDisplay *display = gdk_screen_get_display (screen);
|
||||||
if (!GDK_IS_X11_DISPLAY (display))
|
if (!GDK_IS_X11_DISPLAY (display))
|
||||||
|
|||||||
@@ -2803,6 +2803,43 @@ mg_apply_entry_style (GtkWidget *entry)
|
|||||||
theme_manager_apply_entry_palette (entry, input_style->font_desc);
|
theme_manager_apply_entry_palette (entry, input_style->font_desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
mg_apply_entry_scroll_artifact_fix (GtkWidget *entry)
|
||||||
|
{
|
||||||
|
GtkStyleContext *context;
|
||||||
|
GtkCssProvider *provider;
|
||||||
|
|
||||||
|
if (!entry || !GTK_IS_ENTRY (entry))
|
||||||
|
return;
|
||||||
|
|
||||||
|
context = gtk_widget_get_style_context (entry);
|
||||||
|
if (!context)
|
||||||
|
return;
|
||||||
|
|
||||||
|
provider = g_object_get_data (G_OBJECT (entry), "mg-entry-scroll-artifact-provider");
|
||||||
|
if (!provider)
|
||||||
|
{
|
||||||
|
provider = gtk_css_provider_new ();
|
||||||
|
g_object_set_data_full (G_OBJECT (entry), "mg-entry-scroll-artifact-provider", provider, g_object_unref);
|
||||||
|
gtk_css_provider_load_from_data (provider,
|
||||||
|
"entry.zoitechat-no-undershoot undershoot,\n"
|
||||||
|
"entry.zoitechat-no-undershoot undershoot.left,\n"
|
||||||
|
"entry.zoitechat-no-undershoot undershoot.right,\n"
|
||||||
|
".zoitechat-no-undershoot undershoot,\n"
|
||||||
|
".zoitechat-no-undershoot undershoot.left,\n"
|
||||||
|
".zoitechat-no-undershoot undershoot.right {\n"
|
||||||
|
" background-image: none;\n"
|
||||||
|
" background-color: transparent;\n"
|
||||||
|
" border: none;\n"
|
||||||
|
" box-shadow: none;\n"
|
||||||
|
"}\n",
|
||||||
|
-1, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
gtk_style_context_add_class (context, "zoitechat-no-undershoot");
|
||||||
|
theme_css_apply_widget_provider (entry, GTK_STYLE_PROVIDER (provider));
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
mg_entry_select_all (GtkWidget *entry, GdkEventKey *event, gpointer userdata)
|
mg_entry_select_all (GtkWidget *entry, GdkEventKey *event, gpointer userdata)
|
||||||
{
|
{
|
||||||
@@ -2842,6 +2879,7 @@ mg_create_chanmodebuttons (session_gui *gui, GtkWidget *box)
|
|||||||
|
|
||||||
if (prefs.hex_gui_input_style)
|
if (prefs.hex_gui_input_style)
|
||||||
mg_apply_entry_style (gui->key_entry);
|
mg_apply_entry_style (gui->key_entry);
|
||||||
|
mg_apply_entry_scroll_artifact_fix (gui->key_entry);
|
||||||
|
|
||||||
gui->flag_l = mg_create_flagbutton (_("User Limit"), box, "l");
|
gui->flag_l = mg_create_flagbutton (_("User Limit"), box, "l");
|
||||||
gui->limit_entry = gtk_entry_new ();
|
gui->limit_entry = gtk_entry_new ();
|
||||||
@@ -2858,6 +2896,7 @@ mg_create_chanmodebuttons (session_gui *gui, GtkWidget *box)
|
|||||||
|
|
||||||
if (prefs.hex_gui_input_style)
|
if (prefs.hex_gui_input_style)
|
||||||
mg_apply_entry_style (gui->limit_entry);
|
mg_apply_entry_style (gui->limit_entry);
|
||||||
|
mg_apply_entry_scroll_artifact_fix (gui->limit_entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*static void
|
/*static void
|
||||||
@@ -3955,6 +3994,7 @@ mg_create_search(session *sess, GtkWidget *box)
|
|||||||
gtk_box_pack_start(GTK_BOX(gui->shbox), entry, FALSE, FALSE, 0);
|
gtk_box_pack_start(GTK_BOX(gui->shbox), entry, FALSE, FALSE, 0);
|
||||||
gtk_widget_set_size_request (gui->shentry, 180, -1);
|
gtk_widget_set_size_request (gui->shentry, 180, -1);
|
||||||
mg_apply_emoji_fallback_widget (entry);
|
mg_apply_emoji_fallback_widget (entry);
|
||||||
|
mg_apply_entry_scroll_artifact_fix (entry);
|
||||||
gui->search_changed_signal = g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(search_handle_change), sess);
|
gui->search_changed_signal = g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(search_handle_change), sess);
|
||||||
g_signal_connect (G_OBJECT (entry), "key-press-event", G_CALLBACK (search_handle_esc), sess);
|
g_signal_connect (G_OBJECT (entry), "key-press-event", G_CALLBACK (search_handle_esc), sess);
|
||||||
g_signal_connect(G_OBJECT(entry), "activate", G_CALLBACK(mg_search_handle_next), sess);
|
g_signal_connect(G_OBJECT(entry), "activate", G_CALLBACK(mg_search_handle_next), sess);
|
||||||
@@ -4050,6 +4090,7 @@ mg_create_entry (session *sess, GtkWidget *box)
|
|||||||
|
|
||||||
if (prefs.hex_gui_input_style)
|
if (prefs.hex_gui_input_style)
|
||||||
mg_apply_entry_style (entry);
|
mg_apply_entry_style (entry);
|
||||||
|
mg_apply_entry_scroll_artifact_fix (entry);
|
||||||
|
|
||||||
g_object_set (G_OBJECT (entry), "show-emoji-icon", TRUE, NULL);
|
g_object_set (G_OBJECT (entry), "show-emoji-icon", TRUE, NULL);
|
||||||
|
|
||||||
|
|||||||
@@ -65,8 +65,8 @@ if host_machine.system() != 'windows'
|
|||||||
if appindicator_dep.found()
|
if appindicator_dep.found()
|
||||||
zoitechat_gtk_deps += appindicator_dep
|
zoitechat_gtk_deps += appindicator_dep
|
||||||
zoitechat_gtk_cflags += '-DHAVE_APPINDICATOR'
|
zoitechat_gtk_cflags += '-DHAVE_APPINDICATOR'
|
||||||
elif appindicator_opt.enabled()
|
elif appindicator_opt.enabled() or (appindicator_opt.auto() and host_machine.system() == 'linux')
|
||||||
error('appindicator=enabled, but neither ayatana-appindicator3-0.1 nor appindicator3-0.1 was found')
|
error('tray support requires ayatana-appindicator3-0.1 or appindicator3-0.1 on Linux (use -Dappindicator=disabled to override)')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ static void tray_menu_notify_cb (GObject *tray, GParamSpec *pspec, gpointer user
|
|||||||
static void tray_update_toggle_item_label (void);
|
static void tray_update_toggle_item_label (void);
|
||||||
static gboolean tray_window_state_cb (GtkWidget *widget, GdkEventWindowState *event, gpointer userdata);
|
static gboolean tray_window_state_cb (GtkWidget *widget, GdkEventWindowState *event, gpointer userdata);
|
||||||
static void tray_window_visibility_cb (GtkWidget *widget, gpointer userdata);
|
static void tray_window_visibility_cb (GtkWidget *widget, gpointer userdata);
|
||||||
|
static void tray_toggle_item_destroy_cb (GtkWidget *widget, gpointer userdata);
|
||||||
#if HAVE_APPINDICATOR_BACKEND
|
#if HAVE_APPINDICATOR_BACKEND
|
||||||
static void tray_menu_show_cb (GtkWidget *menu, gpointer userdata) G_GNUC_UNUSED;
|
static void tray_menu_show_cb (GtkWidget *menu, gpointer userdata) G_GNUC_UNUSED;
|
||||||
#endif
|
#endif
|
||||||
@@ -364,8 +365,8 @@ tray_app_indicator_set_icon (TrayIcon icon)
|
|||||||
if (!icon_name)
|
if (!icon_name)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
app_indicator_set_icon_full (tray_indicator, icon_name, _(DISPLAY_NAME));
|
|
||||||
app_indicator_set_status (tray_indicator, APP_INDICATOR_STATUS_ACTIVE);
|
app_indicator_set_status (tray_indicator, APP_INDICATOR_STATUS_ACTIVE);
|
||||||
|
app_indicator_set_icon_full (tray_indicator, icon_name, _(DISPLAY_NAME));
|
||||||
|
|
||||||
g_free (icon_name_alloc);
|
g_free (icon_name_alloc);
|
||||||
}
|
}
|
||||||
@@ -408,6 +409,7 @@ tray_app_indicator_cleanup (void)
|
|||||||
|
|
||||||
if (tray_menu)
|
if (tray_menu)
|
||||||
{
|
{
|
||||||
|
if (GTK_IS_WIDGET (tray_menu))
|
||||||
gtk_widget_destroy (tray_menu);
|
gtk_widget_destroy (tray_menu);
|
||||||
tray_menu = NULL;
|
tray_menu = NULL;
|
||||||
}
|
}
|
||||||
@@ -431,7 +433,6 @@ tray_app_indicator_init (void)
|
|||||||
g_signal_connect (G_OBJECT (tray_menu), "map",
|
g_signal_connect (G_OBJECT (tray_menu), "map",
|
||||||
G_CALLBACK (tray_menu_show_cb), NULL);
|
G_CALLBACK (tray_menu_show_cb), NULL);
|
||||||
app_indicator_set_menu (tray_indicator, GTK_MENU (tray_menu));
|
app_indicator_set_menu (tray_indicator, GTK_MENU (tray_menu));
|
||||||
app_indicator_set_status (tray_indicator, APP_INDICATOR_STATUS_ACTIVE);
|
|
||||||
|
|
||||||
klass = G_OBJECT_GET_CLASS (tray_indicator);
|
klass = G_OBJECT_GET_CLASS (tray_indicator);
|
||||||
if (klass && g_object_class_find_property (klass, "connected"))
|
if (klass && g_object_class_find_property (klass, "connected"))
|
||||||
@@ -1027,9 +1028,14 @@ blink_item (unsigned int *setting, GtkWidget *menu, char *label)
|
|||||||
static void
|
static void
|
||||||
tray_menu_destroy (GtkWidget *menu, gpointer userdata)
|
tray_menu_destroy (GtkWidget *menu, gpointer userdata)
|
||||||
{
|
{
|
||||||
(void)userdata;
|
GtkWidget **menu_ptr = userdata;
|
||||||
|
|
||||||
|
if (menu_ptr && *menu_ptr == menu)
|
||||||
|
*menu_ptr = NULL;
|
||||||
|
|
||||||
|
if (GTK_IS_WIDGET (menu))
|
||||||
gtk_widget_destroy (menu);
|
gtk_widget_destroy (menu);
|
||||||
|
if (G_IS_OBJECT (menu))
|
||||||
g_object_unref (menu);
|
g_object_unref (menu);
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
g_source_remove (tray_menu_timer);
|
g_source_remove (tray_menu_timer);
|
||||||
@@ -1090,6 +1096,8 @@ tray_menu_populate (GtkWidget *menu)
|
|||||||
zoitechat_set_context (ph, zoitechat_find_context (ph, NULL, NULL));
|
zoitechat_set_context (ph, zoitechat_find_context (ph, NULL, NULL));
|
||||||
|
|
||||||
tray_toggle_item = tray_make_item (menu, _("_Hide Window"), tray_menu_restore_cb, NULL);
|
tray_toggle_item = tray_make_item (menu, _("_Hide Window"), tray_menu_restore_cb, NULL);
|
||||||
|
g_signal_connect (G_OBJECT (tray_toggle_item), "destroy",
|
||||||
|
G_CALLBACK (tray_toggle_item_destroy_cb), NULL);
|
||||||
tray_update_toggle_item_label ();
|
tray_update_toggle_item_label ();
|
||||||
tray_make_item (menu, NULL, tray_menu_quit_cb, NULL);
|
tray_make_item (menu, NULL, tray_menu_quit_cb, NULL);
|
||||||
|
|
||||||
@@ -1130,12 +1138,22 @@ tray_menu_clear (GtkWidget *menu)
|
|||||||
|
|
||||||
children = gtk_container_get_children (GTK_CONTAINER (menu));
|
children = gtk_container_get_children (GTK_CONTAINER (menu));
|
||||||
for (iter = children; iter; iter = iter->next)
|
for (iter = children; iter; iter = iter->next)
|
||||||
|
if (GTK_IS_WIDGET (iter->data))
|
||||||
gtk_widget_destroy (GTK_WIDGET (iter->data));
|
gtk_widget_destroy (GTK_WIDGET (iter->data));
|
||||||
g_list_free (children);
|
g_list_free (children);
|
||||||
tray_toggle_item = NULL;
|
tray_toggle_item = NULL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static void
|
||||||
|
tray_toggle_item_destroy_cb (GtkWidget *widget, gpointer userdata)
|
||||||
|
{
|
||||||
|
(void)userdata;
|
||||||
|
|
||||||
|
if (tray_toggle_item == widget)
|
||||||
|
tray_toggle_item = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
tray_update_toggle_item_label (void)
|
tray_update_toggle_item_label (void)
|
||||||
{
|
{
|
||||||
@@ -1143,6 +1161,11 @@ tray_update_toggle_item_label (void)
|
|||||||
|
|
||||||
if (!tray_toggle_item)
|
if (!tray_toggle_item)
|
||||||
return;
|
return;
|
||||||
|
if (!GTK_IS_MENU_ITEM (tray_toggle_item))
|
||||||
|
{
|
||||||
|
tray_toggle_item = NULL;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (tray_get_window_status () == WS_HIDDEN)
|
if (tray_get_window_status () == WS_HIDDEN)
|
||||||
label = _("_Restore Window");
|
label = _("_Restore Window");
|
||||||
@@ -1195,10 +1218,9 @@ tray_menu_cb (GtkWidget *widget, guint button, guint time, gpointer userdata)
|
|||||||
(void)time;
|
(void)time;
|
||||||
(void)userdata;
|
(void)userdata;
|
||||||
|
|
||||||
/* close any old menu */
|
if (menu)
|
||||||
if (G_IS_OBJECT (menu))
|
|
||||||
{
|
{
|
||||||
tray_menu_destroy (menu, NULL);
|
tray_menu_destroy (menu, &menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
menu = gtk_menu_new ();
|
menu = gtk_menu_new ();
|
||||||
@@ -1208,8 +1230,9 @@ tray_menu_cb (GtkWidget *widget, guint button, guint time, gpointer userdata)
|
|||||||
g_object_ref (menu);
|
g_object_ref (menu);
|
||||||
g_object_ref_sink (menu);
|
g_object_ref_sink (menu);
|
||||||
g_object_unref (menu);
|
g_object_unref (menu);
|
||||||
|
g_object_add_weak_pointer (G_OBJECT (menu), (gpointer *)&menu);
|
||||||
g_signal_connect (G_OBJECT (menu), "selection-done",
|
g_signal_connect (G_OBJECT (menu), "selection-done",
|
||||||
G_CALLBACK (tray_menu_destroy), NULL);
|
G_CALLBACK (tray_menu_destroy), &menu);
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
g_signal_connect (G_OBJECT (menu), "leave-notify-event",
|
g_signal_connect (G_OBJECT (menu), "leave-notify-event",
|
||||||
G_CALLBACK (tray_menu_left_cb), NULL);
|
G_CALLBACK (tray_menu_left_cb), NULL);
|
||||||
@@ -1390,9 +1413,14 @@ tray_apply_setup (void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#if HAVE_APPINDICATOR_BACKEND
|
||||||
|
if (prefs.hex_gui_tray)
|
||||||
|
tray_init ();
|
||||||
|
#else
|
||||||
GtkWindow *window = GTK_WINDOW(zoitechat_get_info (ph, "gtkwin_ptr"));
|
GtkWindow *window = GTK_WINDOW(zoitechat_get_info (ph, "gtkwin_ptr"));
|
||||||
if (prefs.hex_gui_tray && gtkutil_tray_icon_supported (window))
|
if (prefs.hex_gui_tray && gtkutil_tray_icon_supported (window))
|
||||||
tray_init ();
|
tray_init ();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1439,7 +1467,11 @@ tray_plugin_init (zoitechat_plugin *plugin_handle, char **plugin_name,
|
|||||||
G_CALLBACK (tray_window_visibility_cb), NULL);
|
G_CALLBACK (tray_window_visibility_cb), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if HAVE_APPINDICATOR_BACKEND
|
||||||
|
if (prefs.hex_gui_tray)
|
||||||
|
#else
|
||||||
if (prefs.hex_gui_tray && gtkutil_tray_icon_supported (window))
|
if (prefs.hex_gui_tray && gtkutil_tray_icon_supported (window))
|
||||||
|
#endif
|
||||||
tray_init ();
|
tray_init ();
|
||||||
|
|
||||||
return 1; /* return 1 for success */
|
return 1; /* return 1 for success */
|
||||||
|
|||||||
@@ -1714,11 +1714,11 @@ setup_create_sound_page (void)
|
|||||||
|
|
||||||
vbox2 = gtkutil_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
|
vbox2 = gtkutil_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
|
||||||
gtk_widget_show (vbox2);
|
gtk_widget_show (vbox2);
|
||||||
gtk_container_add (GTK_CONTAINER (vbox1), vbox2);
|
gtk_box_pack_start (GTK_BOX (vbox1), vbox2, TRUE, TRUE, 0);
|
||||||
|
|
||||||
scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
|
scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
|
||||||
gtk_widget_show (scrolledwindow1);
|
gtk_widget_show (scrolledwindow1);
|
||||||
gtk_container_add (GTK_CONTAINER (vbox2), scrolledwindow1);
|
gtk_box_pack_start (GTK_BOX (vbox2), scrolledwindow1, TRUE, TRUE, 0);
|
||||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1),
|
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1),
|
||||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
|
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
|
||||||
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1),
|
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1),
|
||||||
@@ -1793,7 +1793,7 @@ setup_add_page (const char *title, GtkWidget *book, GtkWidget *tab)
|
|||||||
gtk_widget_set_margin_bottom (label, 1);
|
gtk_widget_set_margin_bottom (label, 1);
|
||||||
gtk_box_pack_start (GTK_BOX (vvbox), label, FALSE, FALSE, 2);
|
gtk_box_pack_start (GTK_BOX (vvbox), label, FALSE, FALSE, 2);
|
||||||
|
|
||||||
gtk_container_add (GTK_CONTAINER (vvbox), tab);
|
gtk_box_pack_start (GTK_BOX (vvbox), tab, TRUE, TRUE, 0);
|
||||||
|
|
||||||
sw = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new (NULL, NULL));
|
sw = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new (NULL, NULL));
|
||||||
gtk_scrolled_window_set_shadow_type (sw, GTK_SHADOW_IN);
|
gtk_scrolled_window_set_shadow_type (sw, GTK_SHADOW_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