Hate you, gtk.
David Shea (2): Restore the bluish background for selected widgets Correct the constant used with gtk_widget_set_state_flags
data/anaconda-gtk.css | 16 ++++++++++++++++ widgets/src/DiskOverview.c | 4 ++-- widgets/src/SpokeSelector.c | 4 ++-- 3 files changed, 20 insertions(+), 4 deletions(-)
--- data/anaconda-gtk.css | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/data/anaconda-gtk.css b/data/anaconda-gtk.css index e7cebde..00402ef 100644 --- a/data/anaconda-gtk.css +++ b/data/anaconda-gtk.css @@ -156,3 +156,19 @@ AnacondaSpokeWindow #layout-indicator { AnacondaSpokeWindow #nav-box { background-color: @fedora; } + +/* These rules were removed when the Adwaita theme moved from + * gnome-themes-standard to gtk, and they were replaced with much more specific + * selectors. We need something like this for the selection highlights to + * appear on the MountpointSelector, DiskOverview and SpokeSelector widgets. We + * could probably be specific to the Anaconda widgets, but on the other hand + * gtk can go to hell. + */ +@define-color anaconda_selected_bg_color #4a90d9; +@define-color anaconda_selected_fg_color #ffffff; + +*:selected, +*:selected:focus { + background-color: @anaconda_selected_bg_color; + color: @anaconda_selected_fg_color; +}
This adds back the bluish background for selected custom widgets and the shading of insensitive custom widgets. --- data/anaconda-gtk.css | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
diff --git a/data/anaconda-gtk.css b/data/anaconda-gtk.css index e7cebde..ce6c987 100644 --- a/data/anaconda-gtk.css +++ b/data/anaconda-gtk.css @@ -156,3 +156,30 @@ AnacondaSpokeWindow #layout-indicator { AnacondaSpokeWindow #nav-box { background-color: @fedora; } + +/* These rules were removed when the Adwaita theme moved from + * gnome-themes-standard to gtk, and they were replaced with much more specific + * selectors. We need something like this for the selection highlights and + * shading for insensitivity to appear on the MountpointSelector, DiskOverview + * and SpokeSelector widgets. We could probably be specific to the Anaconda + * widgets, but on the other hand gtk can go to hell. + */ +@define-color anaconda_selected_bg_color #4a90d9; +@define-color anaconda_selected_fg_color #ffffff; + +*:selected, +*:selected:focus { + background-color: @anaconda_selected_bg_color; + color: @anaconda_selected_fg_color; +} + +@define-color anaconda_insensitive_bg_color #f4f4f2; +@define-color anaconda_insensitive_fg_color #a7aba7; +@define-color anaconda_internal_element_color #888a85; +@define-color anaconda_insensitive_borders shade(@anaconda_internal_element_color, 1.37); + +*:insensitive { + background-color: @anaconda_insensitive_bg_color; + color: @anaconda_insensitive_fg_color; + border-color: @anaconda_insensitive_borders; +}
GtkStateType and GtkStateFlags are different enumerations even though they contain basically the same members. Furthermore, setting the focused flag doesn't seem to really do anything, but our code worked by accident because it was setting the value for GTK_STATE_FLAG_PRELIGHT | GTK_STATE_FLAG_SELECTED. Just set GTK_STATE_FLAG_SELECTED instead. --- widgets/src/DiskOverview.c | 4 ++-- widgets/src/SpokeSelector.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/widgets/src/DiskOverview.c b/widgets/src/DiskOverview.c index 8569ec2..f558e7f 100644 --- a/widgets/src/DiskOverview.c +++ b/widgets/src/DiskOverview.c @@ -491,9 +491,9 @@ void anaconda_disk_overview_set_chosen(AnacondaDiskOverview *widget, gboolean is static gboolean anaconda_disk_overview_focus_changed(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { GtkStateFlags new_state;
- new_state = gtk_widget_get_state_flags(widget) & ~GTK_STATE_FOCUSED; + new_state = gtk_widget_get_state_flags(widget) & ~GTK_STATE_FLAG_SELECTED; if (event->in) - new_state |= GTK_STATE_FOCUSED; + new_state |= GTK_STATE_FLAG_SELECTED; gtk_widget_set_state_flags(widget, new_state, TRUE);
return FALSE; diff --git a/widgets/src/SpokeSelector.c b/widgets/src/SpokeSelector.c index 03ae610..492a6e2 100644 --- a/widgets/src/SpokeSelector.c +++ b/widgets/src/SpokeSelector.c @@ -438,9 +438,9 @@ void anaconda_spoke_selector_set_incomplete(AnacondaSpokeSelector *spoke, gboole static gboolean anaconda_spoke_selector_focus_changed(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { GtkStateFlags new_state;
- new_state = gtk_widget_get_state_flags(widget) & ~GTK_STATE_FOCUSED; + new_state = gtk_widget_get_state_flags(widget) & ~GTK_STATE_FLAG_SELECTED; if (event->in) - new_state |= GTK_STATE_FOCUSED; + new_state |= GTK_STATE_FLAG_SELECTED; gtk_widget_set_state_flags(widget, new_state, TRUE); return FALSE; }
David Shea (2): Restore the bluish background for selected widgets Correct the constant used with gtk_widget_set_state_flags
data/anaconda-gtk.css | 16 ++++++++++++++++ widgets/src/DiskOverview.c | 4 ++-- widgets/src/SpokeSelector.c | 4 ++-- 3 files changed, 20 insertions(+), 4 deletions(-)
Very ACK.
- Chris
anaconda-patches@lists.fedorahosted.org