View | Details | Raw Unified | Return to bug 232209
Collapse All | Expand All

(-)widget/src/gtk2/nsLookAndFeel.cpp (-12 / +24 lines)
Lines 497-510 nsLookAndFeel::InitColors() Link Here
497
    GtkStyle *style;
497
    GtkStyle *style;
498
498
499
    // tooltip foreground and background
499
    // tooltip foreground and background
500
    style = gtk_rc_get_style_by_paths(gtk_settings_get_default(),
500
    style = gtk_rc_get_style_by_paths(gtk_settings_get_default(),
501
                                      "gtk-tooltips", "GtkWindow",
501
                                      "gtk-tooltips", "GtkWindow",
502
                                      GTK_TYPE_WINDOW);
502
                                      GTK_TYPE_WINDOW);
503
    sInfoBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]);
503
    if (style) {
504
    sInfoText = GDK_COLOR_TO_NS_RGB(style->fg[GTK_STATE_NORMAL]);
504
        sInfoBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]);
505
        sInfoText = GDK_COLOR_TO_NS_RGB(style->fg[GTK_STATE_NORMAL]);
506
    }
505
507
506
    // menu foreground & menu background
508
    // menu foreground & menu background
507
    GtkWidget *accel_label = gtk_accel_label_new("M");
509
    GtkWidget *accel_label = gtk_accel_label_new("M");
508
    GtkWidget *menuitem = gtk_menu_item_new();
510
    GtkWidget *menuitem = gtk_menu_item_new();
509
    GtkWidget *menu = gtk_menu_new();
511
    GtkWidget *menu = gtk_menu_new();
510
    gtk_object_ref(GTK_OBJECT(menu));
512
    gtk_object_ref(GTK_OBJECT(menu));
Lines 516-535 nsLookAndFeel::InitColors() Link Here
516
    gtk_widget_set_rc_style(accel_label);
518
    gtk_widget_set_rc_style(accel_label);
517
    gtk_widget_set_rc_style(menu);
519
    gtk_widget_set_rc_style(menu);
518
    gtk_widget_realize(menu);
520
    gtk_widget_realize(menu);
519
    gtk_widget_realize(accel_label);
521
    gtk_widget_realize(accel_label);
520
522
521
    style = gtk_widget_get_style(accel_label);
523
    style = gtk_widget_get_style(accel_label);
522
    sMenuText = GDK_COLOR_TO_NS_RGB(style->fg[GTK_STATE_NORMAL]);
524
    if (style) {
525
        sMenuText = GDK_COLOR_TO_NS_RGB(style->fg[GTK_STATE_NORMAL]);
526
    }
523
527
524
    style = gtk_widget_get_style(menu);
528
    style = gtk_widget_get_style(menu);
525
    sMenuBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]);
529
    if (style) {
530
        sMenuBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]);
531
    }
526
    
532
    
527
    style = gtk_widget_get_style(menuitem);
533
    style = gtk_widget_get_style(menuitem);
528
    sMenuHover = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_PRELIGHT]);
534
    if (style) {
529
    sMenuHoverText = GDK_COLOR_TO_NS_RGB(style->fg[GTK_STATE_PRELIGHT]);
535
        sMenuHover = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_PRELIGHT]);
536
        sMenuHoverText = GDK_COLOR_TO_NS_RGB(style->fg[GTK_STATE_PRELIGHT]);
537
    }
530
538
531
    gtk_widget_unref(menu);
539
    gtk_widget_unref(menu);
532
540
533
541
534
    // button styles
542
    // button styles
535
    GtkWidget *parent = gtk_fixed_new();
543
    GtkWidget *parent = gtk_fixed_new();
Lines 545-564 nsLookAndFeel::InitColors() Link Here
545
    gtk_widget_set_rc_style(label);
553
    gtk_widget_set_rc_style(label);
546
554
547
    gtk_widget_realize(button);
555
    gtk_widget_realize(button);
548
    gtk_widget_realize(label);
556
    gtk_widget_realize(label);
549
557
550
    style = gtk_widget_get_style(label);
558
    style = gtk_widget_get_style(label);
551
    sButtonText = GDK_COLOR_TO_NS_RGB(style->fg[GTK_STATE_NORMAL]);
559
    if (style) {
560
        sButtonText = GDK_COLOR_TO_NS_RGB(style->fg[GTK_STATE_NORMAL]);
561
    }
552
562
553
    style = gtk_widget_get_style(button);
563
    style = gtk_widget_get_style(button);
554
    sButtonBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]);
564
    if (style) {
555
    sButtonOuterLightBorder =
565
        sButtonBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]);
556
        GDK_COLOR_TO_NS_RGB(style->light[GTK_STATE_NORMAL]);
566
        sButtonOuterLightBorder =
557
    sButtonInnerDarkBorder =
567
            GDK_COLOR_TO_NS_RGB(style->light[GTK_STATE_NORMAL]);
558
        GDK_COLOR_TO_NS_RGB(style->dark[GTK_STATE_NORMAL]);
568
        sButtonInnerDarkBorder =
569
            GDK_COLOR_TO_NS_RGB(style->dark[GTK_STATE_NORMAL]);
570
    }
559
571
560
    gtk_widget_destroy(window);
572
    gtk_widget_destroy(window);
561
}
573
}
562
574
563
NS_IMETHODIMP
575
NS_IMETHODIMP
564
nsLookAndFeel::LookAndFeelChanged()
576
nsLookAndFeel::LookAndFeelChanged()

Return to bug 232209