aboutsummaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
authorstig <stig@f5534014-38df-0310-8fa8-9805f1628bb7>2008-10-12 13:41:04 +0000
committerstig <stig@f5534014-38df-0310-8fa8-9805f1628bb7>2008-10-12 13:41:04 +0000
commite7a028b007dcbe4acf4e68ecdc7a36993d3ec105 (patch)
tree9173a043432b4b8f1d9a50ae93be9dfec2475480 /gtk
parent365eba971d7c4cd96e0765f1ab97b81e6aa99339 (diff)
Rewrote to use gtk_widget_modify_text() and gtk_widget_modify_base()
to change the background color for filter text edit boxes, because gtk_widget_set_style() interacts badly with themes. Go back to default values when filter is empty (instead of white). Also rewrote the same in the "Edit Color Filter" dialog. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@26421 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'gtk')
-rw-r--r--gtk/color_edit_dlg.c22
-rw-r--r--gtk/filter_dlg.c19
2 files changed, 20 insertions, 21 deletions
diff --git a/gtk/color_edit_dlg.c b/gtk/color_edit_dlg.c
index a7cd328892..821a793aa9 100644
--- a/gtk/color_edit_dlg.c
+++ b/gtk/color_edit_dlg.c
@@ -96,7 +96,7 @@ edit_color_filter_dialog(GtkWidget *color_filters,
GtkWidget *edit_dialog;
GtkWidget *dialog_vbox;
GtkTooltips *tooltips;
- GtkStyle *style;
+ GdkColor bg_color, fg_color;
GtkWidget *filter_fr;
GtkWidget *filter_fr_vbox;
@@ -164,10 +164,11 @@ edit_color_filter_dialog(GtkWidget *color_filters,
filt_name_entry = gtk_entry_new ();
gtk_entry_set_text(GTK_ENTRY(filt_name_entry), colorf->filter_name);
- style = gtk_style_copy(gtk_widget_get_style(filt_name_entry));
- color_t_to_gdkcolor(&style->base[GTK_STATE_NORMAL], &colorf->bg_color);
- color_t_to_gdkcolor(&style->text[GTK_STATE_NORMAL], &colorf->fg_color);
- gtk_widget_set_style(filt_name_entry, style);
+ color_t_to_gdkcolor(&bg_color, &colorf->bg_color);
+ color_t_to_gdkcolor(&fg_color, &colorf->fg_color);
+
+ gtk_widget_modify_base(filt_name_entry, GTK_STATE_NORMAL, &bg_color);
+ gtk_widget_modify_text(filt_name_entry, GTK_STATE_NORMAL, &fg_color);
gtk_box_pack_start (GTK_BOX (filter_name_hbox), filt_name_entry, TRUE, TRUE, 0);
gtk_tooltips_set_tip (tooltips, filt_name_entry, ("This is the editable name of the filter. (No @ characters allowed.)"), NULL);
@@ -184,7 +185,6 @@ edit_color_filter_dialog(GtkWidget *color_filters,
g_signal_connect(filt_text_entry, "changed", G_CALLBACK(filter_te_syntax_check_cb), NULL);
gtk_entry_set_text(GTK_ENTRY(filt_text_entry), colorf->filter_text);
- gtk_style_unref(style);
gtk_box_pack_start (GTK_BOX (filter_string_hbox), filt_text_entry, TRUE, TRUE, 0);
gtk_tooltips_set_tip (tooltips, filt_text_entry, ("This is the editable text of the filter"), NULL);
@@ -527,7 +527,6 @@ color_sel_ok_cb (GtkButton *button _U_,
{
GdkColor new_color; /* Color from color selection dialog */
GtkWidget *color_dialog;
- GtkStyle *style;
GtkWidget *parent;
GtkWidget *color_selection_fg, *color_selection_bg;
gboolean is_bg;
@@ -554,15 +553,10 @@ color_sel_ok_cb (GtkButton *button _U_,
color_sel_win_destroy(color_dialog);
/* now apply the change to the fore/background */
-
- style = gtk_style_copy(gtk_widget_get_style(filt_name_entry));
if (is_bg)
- style->base[GTK_STATE_NORMAL] = new_color;
+ gtk_widget_modify_base(filt_name_entry, GTK_STATE_NORMAL, &new_color);
else
- style->text[GTK_STATE_NORMAL] = new_color;
-
- gtk_widget_set_style(filt_name_entry, style);
- gtk_style_unref(style);
+ gtk_widget_modify_text(filt_name_entry, GTK_STATE_NORMAL, &new_color);
}
}
diff --git a/gtk/filter_dlg.c b/gtk/filter_dlg.c
index 2d298c5206..608bb2ae0b 100644
--- a/gtk/filter_dlg.c
+++ b/gtk/filter_dlg.c
@@ -1246,25 +1246,30 @@ filter_add_expr_bt_cb(GtkWidget *w _U_, gpointer main_w_arg)
static void
color_filter_te(GtkWidget *w, guint16 red, guint16 green, guint16 blue)
{
+ static GdkColor black = { 0, 0, 0, 0 };
GdkColor bg;
- GtkStyle *style;
bg.pixel = 0;
bg.red = red;
bg.green = green;
bg.blue = blue;
- style = gtk_style_copy(gtk_widget_get_style(w));
- style->base[GTK_STATE_NORMAL] = bg;
- gtk_widget_set_style(w, style);
- gtk_style_unref(style);
+ gtk_widget_modify_text(w, GTK_STATE_NORMAL, &black);
+ gtk_widget_modify_base(w, GTK_STATE_NORMAL, &bg);
+#if GTK_CHECK_VERSION(2,12,0)
+ gtk_widget_modify_cursor(w, &black, &black);
+#endif
}
void
colorize_filter_te_as_empty(GtkWidget *w)
{
- /* white */
- color_filter_te(w, 0xFFFF, 0xFFFF, 0xFFFF);
+ /* use defaults */
+ gtk_widget_modify_text(w, GTK_STATE_NORMAL, NULL);
+ gtk_widget_modify_base(w, GTK_STATE_NORMAL, NULL);
+#if GTK_CHECK_VERSION(2,12,0)
+ gtk_widget_modify_cursor(w, NULL, NULL);
+#endif
}
void