aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/color_edit_dlg.c
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2011-08-17 13:49:47 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2011-08-17 13:49:47 +0000
commit3c1cd60a300700dd0d49ac73397f854696cec591 (patch)
tree7dc13c6255e60762efd66a4ec6fc705e4bd879f6 /gtk/color_edit_dlg.c
parent1a7c6a5890439452238b4a2886fa652048422a25 (diff)
Get further with compiling with GTK 3.0
(No functional testing done yet) git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@38576 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'gtk/color_edit_dlg.c')
-rw-r--r--gtk/color_edit_dlg.c61
1 files changed, 56 insertions, 5 deletions
diff --git a/gtk/color_edit_dlg.c b/gtk/color_edit_dlg.c
index 3c621244e3..ab402a5c70 100644
--- a/gtk/color_edit_dlg.c
+++ b/gtk/color_edit_dlg.c
@@ -98,8 +98,11 @@ edit_color_filter_dialog(GtkWidget *color_filters,
color_filter_t *colorf;
GtkWidget *edit_dialog;
GtkWidget *dialog_vbox;
+#if GTK_CHECK_VERSION(3,0,0)
+ GdkRGBA bg_rgba_color, fg_rgba_color;
+#else
GdkColor bg_color, fg_color;
-
+#endif
GtkWidget *filter_fr;
GtkWidget *filter_fr_vbox;
GtkWidget *filter_name_hbox;
@@ -164,12 +167,18 @@ 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);
+#if GTK_CHECK_VERSION(3,0,0)
+ color_t_to_gdkRGBAcolor(&bg_rgba_color, &colorf->bg_color);
+ color_t_to_gdkRGBAcolor(&fg_rgba_color, &colorf->fg_color);
+ gtk_widget_override_background_color(filt_name_entry, GTK_STATE_NORMAL, &bg_rgba_color);
+ gtk_widget_override_color(filt_name_entry, GTK_STATE_NORMAL, &fg_rgba_color);
+#else
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);
-
+#endif
gtk_box_pack_start (GTK_BOX (filter_name_hbox), filt_name_entry, TRUE, TRUE, 0);
gtk_widget_set_tooltip_text(filt_name_entry, "This is the editable name of the filter. (No @ characters allowed.)");
@@ -362,9 +371,15 @@ edit_color_filter_ok_cb (GtkButton *button,
gpointer user_data)
{
GtkWidget *dialog;
+#if GTK_CHECK_VERSION(3,0,0)
+ GtkStyleContext *context;
+ GdkRGBA *new_rgba_bg_color;
+ GdkRGBA *new_rgba_fg_color;
+#else
GtkStyle *style;
GdkColor new_fg_color;
GdkColor new_bg_color;
+#endif
gchar *filter_name;
gchar *filter_text;
gboolean filter_disabled;
@@ -376,10 +391,22 @@ edit_color_filter_ok_cb (GtkButton *button,
gchar fg_str[14], bg_str[14];
dialog = (GtkWidget *)user_data;
+#if GTK_CHECK_VERSION(3,0,0)
+ context = gtk_widget_get_style_context (filt_name_entry);
+ gtk_style_context_get (context, GTK_STATE_NORMAL,
+ "background-color", &new_rgba_bg_color,
+ NULL);
+ gtk_style_context_get (context, GTK_STATE_NORMAL,
+ "forground-color", &new_rgba_fg_color,
+ NULL);
+/* gdk_rgba_free (rgba_bg_color); */
+
+#else
style = gtk_widget_get_style(filt_name_entry);
new_bg_color = style->base[GTK_STATE_NORMAL];
new_fg_color = style->text[GTK_STATE_NORMAL];
+#endif
filter_name = g_strdup(gtk_entry_get_text(GTK_ENTRY(filt_name_entry)));
filter_text = g_strdup(gtk_entry_get_text(GTK_ENTRY(filt_text_entry)));
@@ -410,12 +437,17 @@ edit_color_filter_ok_cb (GtkButton *button,
colorf->filter_text = filter_text;
colorf->disabled = filter_disabled;
+#if GTK_CHECK_VERSION(3,0,0)
+ gdkRGBAcolor_to_color_t(&colorf->fg_color, new_rgba_fg_color);
+ gdkRGBAcolor_to_color_t(&colorf->bg_color, new_rgba_bg_color);
+#else
gdkcolor_to_color_t(&colorf->fg_color, &new_fg_color);
gdkcolor_to_color_t(&colorf->bg_color, &new_bg_color);
+#endif
g_snprintf(fg_str, sizeof(fg_str), "#%04X%04X%04X",
- new_fg_color.red, new_fg_color.green, new_fg_color.blue);
+ colorf->fg_color.red, colorf->fg_color.green, colorf->fg_color.blue);
g_snprintf(bg_str, sizeof(bg_str), "#%04X%04X%04X",
- new_bg_color.red, new_bg_color.green, new_bg_color.blue);
+ colorf->bg_color.red, colorf->bg_color.green, colorf->bg_color.blue);
model = gtk_tree_view_get_model(GTK_TREE_VIEW(color_filters));
gtk_tree_model_iter_nth_child(model, &iter, NULL, color_dlg_row_selected);
gtk_list_store_set(GTK_LIST_STORE(model), &iter, 0, filter_name,
@@ -428,6 +460,10 @@ edit_color_filter_ok_cb (GtkButton *button,
/* Destroy the dialog box. */
window_destroy(dialog);
}
+#if GTK_CHECK_VERSION(3,0,0)
+ gdk_rgba_free (new_fg_color);
+ gdk_rgba_free (new_bg_color);
+#endif
}
/* reject new color filter addition */
@@ -535,7 +571,11 @@ static void
color_sel_ok_cb (GtkButton *button _U_,
gpointer user_data)
{
+#if GTK_CHECK_VERSION(3,0,0)
+ GdkRGBA new_rgba_color; /* Color from color selection dialog */
+#else
GdkColor new_color; /* Color from color selection dialog */
+#endif
GtkWidget *color_dialog;
GtkWidget *parent;
GtkWidget *color_selection_bg;
@@ -543,7 +583,11 @@ color_sel_ok_cb (GtkButton *button _U_,
color_dialog = (GtkWidget *)user_data;
+#if GTK_CHECK_VERSION(3,0,0)
+ gtk_color_selection_get_current_rgba(GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(color_dialog))), &new_rgba_color);
+#else
gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(color_dialog))), &new_color);
+#endif
#if 0
if ( ! get_color(&new_color) ){
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
@@ -560,12 +604,19 @@ color_sel_ok_cb (GtkButton *button _U_,
is_bg = (color_dialog == color_selection_bg);
color_sel_win_destroy(color_dialog);
-
+#if GTK_CHECK_VERSION(3,0,0)
+ /* now apply the change to the fore/background */
+ if (is_bg)
+ gtk_widget_override_background_color(filt_name_entry, GTK_STATE_NORMAL, &new_rgba_color);
+ else
+ gtk_widget_override_color(filt_name_entry, GTK_STATE_NORMAL, &new_rgba_color);
+#else
/* now apply the change to the fore/background */
if (is_bg)
gtk_widget_modify_base(filt_name_entry, GTK_STATE_NORMAL, &new_color);
else
gtk_widget_modify_text(filt_name_entry, GTK_STATE_NORMAL, &new_color);
+#endif
#if 0
}
#endif