Blame note-theming.patch

c9bda68
diff -up gnome-device-manager-0.2/shell/gdm-main.c.style gnome-device-manager-0.2/shell/gdm-main.c
c9bda68
--- gnome-device-manager-0.2/shell/gdm-main.c.style	2007-10-25 18:25:22.000000000 -0400
c9bda68
+++ gnome-device-manager-0.2/shell/gdm-main.c	2007-10-25 18:24:35.000000000 -0400
c9bda68
@@ -68,6 +68,31 @@ _remove_child (GtkWidget *widget, gpoint
c9bda68
 }
c9bda68
 
c9bda68
 static void
c9bda68
+tip_style_set (GtkWidget *widget, GtkStyle *previous_style, gpointer data)
c9bda68
+{
c9bda68
+        GtkStyle *style;
c9bda68
+        GdkColor default_border_color = {0, 0xb800, 0xad00, 0x9d00};
c9bda68
+        GdkColor default_fill_color = {0, 0xff00, 0xff00, 0xbf00};
c9bda68
+        GdkColor *fg, *bg;
c9bda68
+
c9bda68
+        style = gtk_rc_get_style_by_paths (gtk_settings_get_default (), 
c9bda68
+                                           "gtk-tooltip", "GtkTooltip", G_TYPE_NONE);
c9bda68
+        if (style) {
c9bda68
+                fg = &style->fg[GTK_STATE_NORMAL];
c9bda68
+                bg = &style->bg[GTK_STATE_NORMAL];
c9bda68
+        }
c9bda68
+        else {
c9bda68
+                fg = &default_border_color;
c9bda68
+                bg = &default_fill_color;
c9bda68
+        }
c9bda68
+    
c9bda68
+        if (!gdk_color_equal (bg, &widget->style->bg[GTK_STATE_NORMAL]))
c9bda68
+                gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, bg);
c9bda68
+        if (!gdk_color_equal (fg, &widget->style->fg[GTK_STATE_NORMAL]))
c9bda68
+                gtk_widget_modify_fg (widget, GTK_STATE_NORMAL, fg);
c9bda68
+}
c9bda68
+
c9bda68
+static void
c9bda68
 info_page_show_for_device (GdmDevice *device)
c9bda68
 {
c9bda68
         GSList *i;
c9bda68
@@ -120,30 +145,29 @@ info_page_show_for_device (GdmDevice *de
c9bda68
                 source = *(notifications[n].source);                
c9bda68
                 if (source != NULL) {
c9bda68
                         for (i = source; i != NULL; i = g_slist_next (i)) {
c9bda68
-                                GdkColor border_color = {0, 0xb800, 0xad00, 0x9d00};
c9bda68
-                                GdkColor fill_color = {0, 0xff00, 0xff00, 0xbf00};
c9bda68
                                 GdmInfoProviderTip *tip = i->data;
c9bda68
                                 
c9bda68
                                 frame = gtk_frame_new (NULL);
c9bda68
                                 evbox = gtk_event_box_new ();
c9bda68
-                                gtk_widget_modify_bg (frame, GTK_STATE_NORMAL, &border_color);
c9bda68
-                                gtk_widget_modify_bg (evbox, GTK_STATE_NORMAL, &fill_color);
c9bda68
+
c9bda68
                                 gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
c9bda68
-                                
c9bda68
                                 hbox = gtk_hbox_new (FALSE, 5);
c9bda68
                                 
c9bda68
-                                image = gtk_image_new_from_stock (notifications[n].icon_name, GTK_ICON_SIZE_MENU);
c9bda68
+                                image = gtk_image_new_from_stock (notifications[n].icon_name, GTK_ICON_SIZE_BUTTON);
c9bda68
                                 
c9bda68
                                 label = gtk_label_new (NULL);
c9bda68
                                 gtk_label_set_markup (GTK_LABEL (label), tip->text);
c9bda68
                                 gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END);
c9bda68
-                                gtk_label_set_width_chars (GTK_LABEL (label), 50);
c9bda68
                                 gtk_label_set_selectable (GTK_LABEL (label), TRUE);
c9bda68
                                 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
c9bda68
                                 
c9bda68
                                 gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
c9bda68
-                                gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
c9bda68
+                                gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
c9bda68
 
c9bda68
+                                g_signal_connect (evbox, "style_set", 
c9bda68
+                                                  G_CALLBACK (tip_style_set), NULL);
c9bda68
+                                g_signal_connect (label, "style_set", 
c9bda68
+                                                  G_CALLBACK (tip_style_set), NULL);
c9bda68
                                 if (tip->button_text != NULL) {
c9bda68
                                         GtkWidget *button;
c9bda68
                                         button = gtk_button_new_with_label (tip->button_text);