[gnome-panel] Pass the style colors along to the notification tray
- From: William Jon McCann <mccann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel] Pass the style colors along to the notification tray
- Date: Mon, 21 Feb 2011 00:58:54 +0000 (UTC)
commit ab27257717b024af7ce44b935b4199b7e42a060e
Author: William Jon McCann <jmccann redhat com>
Date: Thu Feb 17 12:52:19 2011 -0500
Pass the style colors along to the notification tray
https://bugzilla.gnome.org/show_bug.cgi?id=631553
applets/notification_area/main.c | 23 +++++++++++++++
applets/notification_area/na-tray-manager.c | 40 +++++++++++++-------------
applets/notification_area/na-tray-manager.h | 16 +++++-----
applets/notification_area/na-tray.c | 10 +++---
applets/notification_area/na-tray.h | 8 +++---
5 files changed, 60 insertions(+), 37 deletions(-)
---
diff --git a/applets/notification_area/main.c b/applets/notification_area/main.c
index 26a72bc..b9c4690 100644
--- a/applets/notification_area/main.c
+++ b/applets/notification_area/main.c
@@ -107,6 +107,11 @@ on_applet_realized (GtkWidget *widget,
NaTray *tray;
GtkActionGroup *action_group;
gchar *ui_path;
+ GtkStyleContext *context;
+ GdkRGBA fg;
+ GdkRGBA warning;
+ GdkRGBA error;
+ GdkRGBA success;
applet = PANEL_APPLET (widget);
data = g_object_get_data (G_OBJECT (widget), "system-tray-data");
@@ -116,6 +121,24 @@ on_applet_realized (GtkWidget *widget,
tray = na_tray_new_for_screen (gtk_widget_get_screen (GTK_WIDGET (applet)),
get_orientation_from_applet (applet));
+ context = gtk_widget_get_style_context (GTK_WIDGET (applet));
+
+ gtk_style_context_get_color (context, 0, &fg);
+
+ if (!gtk_style_context_lookup_color (context, "success_color", &success))
+ {
+ success = fg;
+ }
+ if (!gtk_style_context_lookup_color (context, "warning_color", &warning))
+ {
+ warning = fg;
+ }
+ if (!gtk_style_context_lookup_color (context, "error_color", &error))
+ {
+ error = fg;
+ }
+
+ na_tray_set_colors (tray, &fg, &error, &warning, &success);
data = g_slice_new (AppletData);
data->applet = applet;
diff --git a/applets/notification_area/na-tray-manager.c b/applets/notification_area/na-tray-manager.c
index 5354619..a7a43a8 100644
--- a/applets/notification_area/na-tray-manager.c
+++ b/applets/notification_area/na-tray-manager.c
@@ -667,18 +667,18 @@ na_tray_manager_set_colors_property (NaTrayManager *manager)
atom = gdk_x11_get_xatom_by_name_for_display (display,
"_NET_SYSTEM_TRAY_COLORS");
- data[0] = manager->fg.red;
- data[1] = manager->fg.green;
- data[2] = manager->fg.blue;
- data[3] = manager->error.red;
- data[4] = manager->error.green;
- data[5] = manager->error.blue;
- data[6] = manager->warning.red;
- data[7] = manager->warning.green;
- data[8] = manager->warning.blue;
- data[9] = manager->success.red;
- data[10] = manager->success.green;
- data[11] = manager->success.blue;
+ data[0] = manager->fg.red * 65535;
+ data[1] = manager->fg.green * 65535;
+ data[2] = manager->fg.blue * 65535;
+ data[3] = manager->error.red * 65535;
+ data[4] = manager->error.green * 65535;
+ data[5] = manager->error.blue * 65535;
+ data[6] = manager->warning.red * 65535;
+ data[7] = manager->warning.green * 65535;
+ data[8] = manager->warning.blue * 65535;
+ data[9] = manager->success.red * 65535;
+ data[10] = manager->success.green * 65535;
+ data[11] = manager->success.blue * 65535;
XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
GDK_WINDOW_XID (window),
@@ -871,17 +871,17 @@ na_tray_manager_set_orientation (NaTrayManager *manager,
void
na_tray_manager_set_colors (NaTrayManager *manager,
- GdkColor *fg,
- GdkColor *error,
- GdkColor *warning,
- GdkColor *success)
+ GdkRGBA *fg,
+ GdkRGBA *error,
+ GdkRGBA *warning,
+ GdkRGBA *success)
{
g_return_if_fail (NA_IS_TRAY_MANAGER (manager));
- if (!gdk_color_equal (&manager->fg, fg) ||
- !gdk_color_equal (&manager->error, error) ||
- !gdk_color_equal (&manager->warning, warning) ||
- !gdk_color_equal (&manager->success, success))
+ if (!gdk_rgba_equal (&manager->fg, fg) ||
+ !gdk_rgba_equal (&manager->error, error) ||
+ !gdk_rgba_equal (&manager->warning, warning) ||
+ !gdk_rgba_equal (&manager->success, success))
{
manager->fg = *fg;
manager->error = *error;
diff --git a/applets/notification_area/na-tray-manager.h b/applets/notification_area/na-tray-manager.h
index 1350bdf..2dc3f09 100644
--- a/applets/notification_area/na-tray-manager.h
+++ b/applets/notification_area/na-tray-manager.h
@@ -56,10 +56,10 @@ struct _NaTrayManager
GtkWidget *invisible;
GdkScreen *screen;
GtkOrientation orientation;
- GdkColor fg;
- GdkColor error;
- GdkColor warning;
- GdkColor success;
+ GdkRGBA fg;
+ GdkRGBA error;
+ GdkRGBA warning;
+ GdkRGBA success;
GList *messages;
GHashTable *socket_table;
@@ -97,10 +97,10 @@ void na_tray_manager_set_orientation (NaTrayManager *manager,
GtkOrientation orientation);
GtkOrientation na_tray_manager_get_orientation (NaTrayManager *manager);
void na_tray_manager_set_colors (NaTrayManager *manager,
- GdkColor *fg,
- GdkColor *error,
- GdkColor *warning,
- GdkColor *success);
+ GdkRGBA *fg,
+ GdkRGBA *error,
+ GdkRGBA *warning,
+ GdkRGBA *success);
G_END_DECLS
diff --git a/applets/notification_area/na-tray.c b/applets/notification_area/na-tray.c
index a32a4ff..cdc588c 100644
--- a/applets/notification_area/na-tray.c
+++ b/applets/notification_area/na-tray.c
@@ -817,11 +817,11 @@ idle_redraw_cb (NaTray *tray)
}
void
-na_tray_set_colors (NaTray *tray,
- GdkColor *fg,
- GdkColor *error,
- GdkColor *warning,
- GdkColor *success)
+na_tray_set_colors (NaTray *tray,
+ GdkRGBA *fg,
+ GdkRGBA *error,
+ GdkRGBA *warning,
+ GdkRGBA *success)
{
NaTrayPrivate *priv = tray->priv;
diff --git a/applets/notification_area/na-tray.h b/applets/notification_area/na-tray.h
index 1a48eb0..05ecb63 100644
--- a/applets/notification_area/na-tray.h
+++ b/applets/notification_area/na-tray.h
@@ -61,10 +61,10 @@ void na_tray_set_orientation (NaTray *tray,
GtkOrientation orientation);
GtkOrientation na_tray_get_orientation (NaTray *tray);
void na_tray_set_colors (NaTray *tray,
- GdkColor *fg,
- GdkColor *error,
- GdkColor *warning,
- GdkColor *success);
+ GdkRGBA *fg,
+ GdkRGBA *error,
+ GdkRGBA *warning,
+ GdkRGBA *success);
void na_tray_force_redraw (NaTray *tray);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]