Update to today's git snapshot

This might help with various issues people have been running into during
the Wayland test day today.
This commit is contained in:
Kalev Lember 2014-08-28 15:47:38 +02:00
parent 580fbf448a
commit 5e6da5a489
7 changed files with 9 additions and 748 deletions

1
.gitignore vendored
View File

@ -87,3 +87,4 @@ gtk+-2.90.5.tar.bz2
/gtk+-3.13.5.tar.xz /gtk+-3.13.5.tar.xz
/gtk+-3.13.6.tar.xz /gtk+-3.13.6.tar.xz
/gtk+-3.13.7.tar.xz /gtk+-3.13.7.tar.xz
/gtk+-3.13.7-5ad60ca.tar.xz

View File

@ -1,58 +0,0 @@
From 442353fa9d78d6ada6991d4dcf8ba81c2dc52e0d Mon Sep 17 00:00:00 2001
From: Benjamin Otte <otte@redhat.com>
Date: Sun, 17 Aug 2014 06:24:41 +0200
Subject: [PATCH] checkbutton: Fix redraw issues
This is a hack to get around the optimizations done by the CSS engine.
The CSS engine will notice that no CSS properties changed on the
widget itself when going from one state to another and not queue
a redraw.
And the reason for no properties changing will be that only the
checkmark itself changes, but that is hidden behind a
gtk_style_context_save()/_restore() pair, so it won't be caught.
---
gtk/gtkcheckbutton.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/gtk/gtkcheckbutton.c b/gtk/gtkcheckbutton.c
index 47dc6bb..c9adcc0 100644
--- a/gtk/gtkcheckbutton.c
+++ b/gtk/gtkcheckbutton.c
@@ -87,6 +87,25 @@ static void gtk_real_check_button_draw_indicator (GtkCheckButton *check_but
G_DEFINE_TYPE (GtkCheckButton, gtk_check_button, GTK_TYPE_TOGGLE_BUTTON)
static void
+gtk_check_button_state_flags_changed (GtkWidget *widget,
+ GtkStateFlags previous_state_flags)
+{
+ /* FIXME
+ * This is a hack to get around the optimizations done by the CSS engine.
+ *
+ * The CSS engine will notice that no CSS properties changed on the
+ * widget itself when going from one state to another and not queue
+ * a redraw.
+ * And the reason for no properties changing will be that only the
+ * checkmark itself changes, but that is hidden behind a
+ * gtk_style_context_save()/_restore() pair, so it won't be caught.
+ */
+ gtk_widget_queue_draw (widget);
+
+ GTK_WIDGET_CLASS (gtk_check_button_parent_class)->state_flags_changed (widget, previous_state_flags);
+}
+
+static void
gtk_check_button_class_init (GtkCheckButtonClass *class)
{
GtkWidgetClass *widget_class;
@@ -100,6 +119,7 @@ gtk_check_button_class_init (GtkCheckButtonClass *class)
widget_class->get_preferred_height_and_baseline_for_width = gtk_check_button_get_preferred_height_and_baseline_for_width;
widget_class->size_allocate = gtk_check_button_size_allocate;
widget_class->draw = gtk_check_button_draw;
+ widget_class->state_flags_changed = gtk_check_button_state_flags_changed;
class->draw_indicator = gtk_real_check_button_draw_indicator;
--
2.1.0

View File

@ -1,49 +0,0 @@
From b520d3b7fb68ae905f545ea410fe3c600b91250c Mon Sep 17 00:00:00 2001
From: Benjamin Otte <otte@redhat.com>
Date: Sun, 17 Aug 2014 06:47:17 +0200
Subject: [PATCH] button: Remove unnecessary queue_redraw() calls
Setting a state automatically triggers redraws via the CSS machinery.
---
gtk/gtkbutton.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 63fb9cf..ebe4f15 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -1504,7 +1504,6 @@ gtk_button_set_relief (GtkButton *button,
gtk_style_context_remove_class (context, GTK_STYLE_CLASS_FLAT);
g_object_notify_by_pspec (G_OBJECT (button), props[PROP_RELIEF]);
- gtk_widget_queue_draw (GTK_WIDGET (button));
}
}
@@ -2034,7 +2033,6 @@ gtk_real_button_activate (GtkButton *button)
g_source_set_name_by_id (priv->activate_timeout, "[gtk+] button_activate_timeout");
priv->button_down = TRUE;
gtk_button_update_state (button);
- gtk_widget_queue_draw (GTK_WIDGET (button));
}
}
@@ -2058,7 +2056,6 @@ gtk_button_finish_activate (GtkButton *button,
priv->button_down = FALSE;
gtk_button_update_state (button);
- gtk_widget_queue_draw (GTK_WIDGET (button));
if (do_it)
gtk_button_clicked (button);
@@ -2446,7 +2443,6 @@ static void
gtk_button_enter_leave (GtkButton *button)
{
gtk_button_update_state (button);
- gtk_widget_queue_draw (GTK_WIDGET (button));
}
static void
--
2.1.0

View File

@ -1,459 +0,0 @@
From 9c4af41a59f6bcfd8969e8f597e5e7ed0dec597b Mon Sep 17 00:00:00 2001
From: Jakub Steiner <jimmac@gmail.com>
Date: Mon, 18 Aug 2014 10:52:52 +0200
Subject: [PATCH] Adwaita: update the last cases for :checked
- treeviews can now have the same default checkboxes and radios
- only menus are special (but needed :active -> :checked)
https://bugzilla.gnome.org/show_bug.cgi?id=733967
https://bugzilla.gnome.org/show_bug.cgi?id=734290
---
gtk/resources/theme/Adwaita/_common.scss | 58 +---------
gtk/resources/theme/Adwaita/gtk-contained-dark.css | 128 ++++-----------------
gtk/resources/theme/Adwaita/gtk-contained.css | 128 ++++-----------------
3 files changed, 46 insertions(+), 268 deletions(-)
diff --git a/gtk/resources/theme/Adwaita/_common.scss b/gtk/resources/theme/Adwaita/_common.scss
index a81c9eb..0397937 100644
--- a/gtk/resources/theme/Adwaita/_common.scss
+++ b/gtk/resources/theme/Adwaita/_common.scss
@@ -1658,12 +1658,12 @@ $asset_suffix: if($variant=='dark', '-dark', '');
}
//menu
- .menuitem.#{$w} {
+ .menu .menuitem.#{$w} {
color: transparentize($fg_color,0.9);
background-image: none;
-gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic');
&:hover { color: transparentize($selected_fg_color,0.9); }
- &:active {
+ &:checked {
color: $fg_color;
&:hover {
-gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic');
@@ -1690,60 +1690,6 @@ $asset_suffix: if($variant=='dark', '-dark', '');
color: transparentize($backdrop_fg_color,0.9);
}
}
-
- //treeview & selection mode icon view
- .view.#{$w} {
- // FIXME .cell.check/.radio doesn't needs to be blue in bright var
- color: transparentize($fg_color,0.9);
- background-image: none;
- -gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic');
- &:hover { -gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic'); }
- &:active {
- color: $fg_color;
- &:insensitive {
- color: $insensitive_fg_color;
- &:backdrop { color: $backdrop_insensitive_color; }
- }
- &:backdrop { color: $backdrop_fg_color; }
- }
- &:insensitive {
- color: transparentize($insensitive_fg_color,0.9);
- &:backdrop { color: transparent; }
- }
- &:inconsistent {
- -gtk-icon-source: -gtk-icontheme('#{$a}-mixed-symbolic');
- }
- &:selected, &:selected:focus {
- // -gtk-icon-source needed it gets overridden
- -gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic');
- // :selected:focus not to get overridden by .view style
- color: transparentize($selected_fg_color,0.9);
- &:active {
- color: $selected_fg_color;
- &:backdrop {
- color: if($variant=='light',$backdrop_base_color,$backdrop_fg_color);
- }
- }
- }
- &:backdrop {
- // -gtk-icon-source needed it gets overridden
- -gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic');
- color: transparentize($backdrop_fg_color,0.9);
- &:selected { color: transparentize($backdrop_base_color,0.9); }
- }
- }
-
- //popover
- .popover .button.#{$w} {
- &:hover {
- color: transparentize($fg_color,0.9);
- &:active {
- color: $fg_color;
- &:selected { color: $selected_fg_color; }
- &:backdrop { color: $backdrop_fg_color; }
- }
- }
- }
}
GtkCheckButton.text-button, GtkRadioButton.text-button {
diff --git a/gtk/resources/theme/Adwaita/gtk-contained-dark.css b/gtk/resources/theme/Adwaita/gtk-contained-dark.css
index ef47844..df7581a 100644
--- a/gtk/resources/theme/Adwaita/gtk-contained-dark.css
+++ b/gtk/resources/theme/Adwaita/gtk-contained-dark.css
@@ -1781,76 +1781,34 @@ GtkSwitch {
.check:backdrop:checked:insensitive {
-gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-backdrop-insensitive-dark.png"), url("assets/checkbox-checked-backdrop-insensitive-dark@2.png")); }
-.menuitem.check {
+.menu .menuitem.check {
color: rgba(238, 238, 236, 0.1);
background-image: none;
-gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic"); }
- .menuitem.check:hover {
+ .menu .menuitem.check:hover {
color: rgba(255, 255, 255, 0.1); }
- .menuitem.check:active {
+ .menu .menuitem.check:checked {
color: #eeeeec; }
- .menuitem.check:active:hover {
+ .menu .menuitem.check:checked:hover {
-gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
color: white; }
- .menuitem.check:active:insensitive {
+ .menu .menuitem.check:checked:insensitive {
color: #939695;
background-image: none; }
- .menuitem.check:active:insensitive:backdrop {
+ .menu .menuitem.check:checked:insensitive:backdrop {
color: #5d6767; }
- .menuitem.check:active:backdrop {
+ .menu .menuitem.check:checked:backdrop {
-gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
color: #c9cbc9; }
- .menuitem.check:insensitive {
+ .menu .menuitem.check:insensitive {
color: rgba(147, 150, 149, 0.1); }
- .menuitem.check:insensitive:backdrop {
+ .menu .menuitem.check:insensitive:backdrop {
color: transparent; }
- .menuitem.check:inconsistent {
+ .menu .menuitem.check:inconsistent {
-gtk-icon-source: -gtk-icontheme("checkbox-mixed-symbolic"); }
- .menuitem.check:backdrop, .menuitem.check:backdrop:hover {
+ .menu .menuitem.check:backdrop, .menu .menuitem.check:backdrop:hover {
color: rgba(201, 203, 201, 0.1); }
-.view.check {
- color: rgba(238, 238, 236, 0.1);
- background-image: none;
- -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic"); }
- .view.check:hover {
- -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic"); }
- .view.check:active {
- color: #eeeeec; }
- .view.check:active:insensitive {
- color: #939695; }
- .view.check:active:insensitive:backdrop {
- color: #5d6767; }
- .view.check:active:backdrop {
- color: #c9cbc9; }
- .view.check:insensitive {
- color: rgba(147, 150, 149, 0.1); }
- .view.check:insensitive:backdrop {
- color: transparent; }
- .view.check:inconsistent {
- -gtk-icon-source: -gtk-icontheme("checkbox-mixed-symbolic"); }
- .view.check:selected, .view.check:selected:focus {
- -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
- color: rgba(255, 255, 255, 0.1); }
- .view.check:selected:active, .view.check:selected:focus:active {
- color: white; }
- .view.check:selected:active:backdrop, .view.check:selected:focus:active:backdrop {
- color: #c9cbc9; }
- .view.check:backdrop {
- -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
- color: rgba(201, 203, 201, 0.1); }
- .view.check:backdrop:selected {
- color: rgba(44, 44, 44, 0.1); }
-
-.popover .button.check:hover {
- color: rgba(238, 238, 236, 0.1); }
- .popover .button.check:hover:active {
- color: #eeeeec; }
- .popover .button.check:hover:active:selected {
- color: white; }
- .popover .button.check:hover:active:backdrop {
- color: #c9cbc9; }
-
.radio {
-gtk-icon-source: -gtk-scaled(url("assets/radio-unchecked-dark.png"), url("assets/radio-unchecked-dark@2.png")); }
@@ -1905,76 +1863,34 @@ GtkSwitch {
.radio:backdrop:checked:insensitive {
-gtk-icon-source: -gtk-scaled(url("assets/radio-checked-backdrop-insensitive-dark.png"), url("assets/radio-checked-backdrop-insensitive-dark@2.png")); }
-.menuitem.radio {
+.menu .menuitem.radio {
color: rgba(238, 238, 236, 0.1);
background-image: none;
-gtk-icon-source: -gtk-icontheme("radio-checked-symbolic"); }
- .menuitem.radio:hover {
+ .menu .menuitem.radio:hover {
color: rgba(255, 255, 255, 0.1); }
- .menuitem.radio:active {
+ .menu .menuitem.radio:checked {
color: #eeeeec; }
- .menuitem.radio:active:hover {
+ .menu .menuitem.radio:checked:hover {
-gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
color: white; }
- .menuitem.radio:active:insensitive {
+ .menu .menuitem.radio:checked:insensitive {
color: #939695;
background-image: none; }
- .menuitem.radio:active:insensitive:backdrop {
+ .menu .menuitem.radio:checked:insensitive:backdrop {
color: #5d6767; }
- .menuitem.radio:active:backdrop {
+ .menu .menuitem.radio:checked:backdrop {
-gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
color: #c9cbc9; }
- .menuitem.radio:insensitive {
+ .menu .menuitem.radio:insensitive {
color: rgba(147, 150, 149, 0.1); }
- .menuitem.radio:insensitive:backdrop {
+ .menu .menuitem.radio:insensitive:backdrop {
color: transparent; }
- .menuitem.radio:inconsistent {
+ .menu .menuitem.radio:inconsistent {
-gtk-icon-source: -gtk-icontheme("radio-mixed-symbolic"); }
- .menuitem.radio:backdrop, .menuitem.radio:backdrop:hover {
+ .menu .menuitem.radio:backdrop, .menu .menuitem.radio:backdrop:hover {
color: rgba(201, 203, 201, 0.1); }
-.view.radio {
- color: rgba(238, 238, 236, 0.1);
- background-image: none;
- -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic"); }
- .view.radio:hover {
- -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic"); }
- .view.radio:active {
- color: #eeeeec; }
- .view.radio:active:insensitive {
- color: #939695; }
- .view.radio:active:insensitive:backdrop {
- color: #5d6767; }
- .view.radio:active:backdrop {
- color: #c9cbc9; }
- .view.radio:insensitive {
- color: rgba(147, 150, 149, 0.1); }
- .view.radio:insensitive:backdrop {
- color: transparent; }
- .view.radio:inconsistent {
- -gtk-icon-source: -gtk-icontheme("radio-mixed-symbolic"); }
- .view.radio:selected, .view.radio:selected:focus {
- -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
- color: rgba(255, 255, 255, 0.1); }
- .view.radio:selected:active, .view.radio:selected:focus:active {
- color: white; }
- .view.radio:selected:active:backdrop, .view.radio:selected:focus:active:backdrop {
- color: #c9cbc9; }
- .view.radio:backdrop {
- -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
- color: rgba(201, 203, 201, 0.1); }
- .view.radio:backdrop:selected {
- color: rgba(44, 44, 44, 0.1); }
-
-.popover .button.radio:hover {
- color: rgba(238, 238, 236, 0.1); }
- .popover .button.radio:hover:active {
- color: #eeeeec; }
- .popover .button.radio:hover:active:selected {
- color: white; }
- .popover .button.radio:hover:active:backdrop {
- color: #c9cbc9; }
-
GtkCheckButton.text-button, GtkRadioButton.text-button {
padding: 1px 2px 4px;
outline-offset: 0; }
diff --git a/gtk/resources/theme/Adwaita/gtk-contained.css b/gtk/resources/theme/Adwaita/gtk-contained.css
index 0f244ab..585c1aa 100644
--- a/gtk/resources/theme/Adwaita/gtk-contained.css
+++ b/gtk/resources/theme/Adwaita/gtk-contained.css
@@ -1776,76 +1776,34 @@ GtkSwitch {
.check:backdrop:checked:insensitive {
-gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-backdrop-insensitive.png"), url("assets/checkbox-checked-backdrop-insensitive@2.png")); }
-.menuitem.check {
+.menu .menuitem.check {
color: rgba(46, 52, 54, 0.1);
background-image: none;
-gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic"); }
- .menuitem.check:hover {
+ .menu .menuitem.check:hover {
color: rgba(255, 255, 255, 0.1); }
- .menuitem.check:active {
+ .menu .menuitem.check:checked {
color: #2e3436; }
- .menuitem.check:active:hover {
+ .menu .menuitem.check:checked:hover {
-gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
color: white; }
- .menuitem.check:active:insensitive {
+ .menu .menuitem.check:checked:insensitive {
color: #8d9091;
background-image: none; }
- .menuitem.check:active:insensitive:backdrop {
+ .menu .menuitem.check:checked:insensitive:backdrop {
color: #c7c7c7; }
- .menuitem.check:active:backdrop {
+ .menu .menuitem.check:checked:backdrop {
-gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
color: #54595a; }
- .menuitem.check:insensitive {
+ .menu .menuitem.check:insensitive {
color: rgba(141, 144, 145, 0.1); }
- .menuitem.check:insensitive:backdrop {
+ .menu .menuitem.check:insensitive:backdrop {
color: transparent; }
- .menuitem.check:inconsistent {
+ .menu .menuitem.check:inconsistent {
-gtk-icon-source: -gtk-icontheme("checkbox-mixed-symbolic"); }
- .menuitem.check:backdrop, .menuitem.check:backdrop:hover {
+ .menu .menuitem.check:backdrop, .menu .menuitem.check:backdrop:hover {
color: rgba(84, 89, 90, 0.1); }
-.view.check {
- color: rgba(46, 52, 54, 0.1);
- background-image: none;
- -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic"); }
- .view.check:hover {
- -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic"); }
- .view.check:active {
- color: #2e3436; }
- .view.check:active:insensitive {
- color: #8d9091; }
- .view.check:active:insensitive:backdrop {
- color: #c7c7c7; }
- .view.check:active:backdrop {
- color: #54595a; }
- .view.check:insensitive {
- color: rgba(141, 144, 145, 0.1); }
- .view.check:insensitive:backdrop {
- color: transparent; }
- .view.check:inconsistent {
- -gtk-icon-source: -gtk-icontheme("checkbox-mixed-symbolic"); }
- .view.check:selected, .view.check:selected:focus {
- -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
- color: rgba(255, 255, 255, 0.1); }
- .view.check:selected:active, .view.check:selected:focus:active {
- color: white; }
- .view.check:selected:active:backdrop, .view.check:selected:focus:active:backdrop {
- color: #fcfcfc; }
- .view.check:backdrop {
- -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
- color: rgba(84, 89, 90, 0.1); }
- .view.check:backdrop:selected {
- color: rgba(252, 252, 252, 0.1); }
-
-.popover .button.check:hover {
- color: rgba(46, 52, 54, 0.1); }
- .popover .button.check:hover:active {
- color: #2e3436; }
- .popover .button.check:hover:active:selected {
- color: white; }
- .popover .button.check:hover:active:backdrop {
- color: #54595a; }
-
.radio {
-gtk-icon-source: -gtk-scaled(url("assets/radio-unchecked.png"), url("assets/radio-unchecked@2.png")); }
@@ -1900,76 +1858,34 @@ GtkSwitch {
.radio:backdrop:checked:insensitive {
-gtk-icon-source: -gtk-scaled(url("assets/radio-checked-backdrop-insensitive.png"), url("assets/radio-checked-backdrop-insensitive@2.png")); }
-.menuitem.radio {
+.menu .menuitem.radio {
color: rgba(46, 52, 54, 0.1);
background-image: none;
-gtk-icon-source: -gtk-icontheme("radio-checked-symbolic"); }
- .menuitem.radio:hover {
+ .menu .menuitem.radio:hover {
color: rgba(255, 255, 255, 0.1); }
- .menuitem.radio:active {
+ .menu .menuitem.radio:checked {
color: #2e3436; }
- .menuitem.radio:active:hover {
+ .menu .menuitem.radio:checked:hover {
-gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
color: white; }
- .menuitem.radio:active:insensitive {
+ .menu .menuitem.radio:checked:insensitive {
color: #8d9091;
background-image: none; }
- .menuitem.radio:active:insensitive:backdrop {
+ .menu .menuitem.radio:checked:insensitive:backdrop {
color: #c7c7c7; }
- .menuitem.radio:active:backdrop {
+ .menu .menuitem.radio:checked:backdrop {
-gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
color: #54595a; }
- .menuitem.radio:insensitive {
+ .menu .menuitem.radio:insensitive {
color: rgba(141, 144, 145, 0.1); }
- .menuitem.radio:insensitive:backdrop {
+ .menu .menuitem.radio:insensitive:backdrop {
color: transparent; }
- .menuitem.radio:inconsistent {
+ .menu .menuitem.radio:inconsistent {
-gtk-icon-source: -gtk-icontheme("radio-mixed-symbolic"); }
- .menuitem.radio:backdrop, .menuitem.radio:backdrop:hover {
+ .menu .menuitem.radio:backdrop, .menu .menuitem.radio:backdrop:hover {
color: rgba(84, 89, 90, 0.1); }
-.view.radio {
- color: rgba(46, 52, 54, 0.1);
- background-image: none;
- -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic"); }
- .view.radio:hover {
- -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic"); }
- .view.radio:active {
- color: #2e3436; }
- .view.radio:active:insensitive {
- color: #8d9091; }
- .view.radio:active:insensitive:backdrop {
- color: #c7c7c7; }
- .view.radio:active:backdrop {
- color: #54595a; }
- .view.radio:insensitive {
- color: rgba(141, 144, 145, 0.1); }
- .view.radio:insensitive:backdrop {
- color: transparent; }
- .view.radio:inconsistent {
- -gtk-icon-source: -gtk-icontheme("radio-mixed-symbolic"); }
- .view.radio:selected, .view.radio:selected:focus {
- -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
- color: rgba(255, 255, 255, 0.1); }
- .view.radio:selected:active, .view.radio:selected:focus:active {
- color: white; }
- .view.radio:selected:active:backdrop, .view.radio:selected:focus:active:backdrop {
- color: #fcfcfc; }
- .view.radio:backdrop {
- -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
- color: rgba(84, 89, 90, 0.1); }
- .view.radio:backdrop:selected {
- color: rgba(252, 252, 252, 0.1); }
-
-.popover .button.radio:hover {
- color: rgba(46, 52, 54, 0.1); }
- .popover .button.radio:hover:active {
- color: #2e3436; }
- .popover .button.radio:hover:active:selected {
- color: white; }
- .popover .button.radio:hover:active:backdrop {
- color: #54595a; }
-
GtkCheckButton.text-button, GtkRadioButton.text-button {
padding: 1px 2px 4px;
outline-offset: 0; }
--
2.1.0

View File

@ -1,169 +0,0 @@
From aec4829d74aa2bc79b9271d84c4a4d71f6965f9f Mon Sep 17 00:00:00 2001
From: Jakub Steiner <jimmac@gmail.com>
Date: Mon, 18 Aug 2014 14:18:53 +0200
Subject: [PATCH] Adwaita: have an unchecked state for radio/checks in menus
more background in https://bugzilla.gnome.org/show_bug.cgi?id=734290
---
gtk/resources/theme/Adwaita/_common.scss | 9 ++++---
gtk/resources/theme/Adwaita/gtk-contained-dark.css | 30 ++++++++++++----------
gtk/resources/theme/Adwaita/gtk-contained.css | 30 ++++++++++++----------
3 files changed, 37 insertions(+), 32 deletions(-)
diff --git a/gtk/resources/theme/Adwaita/_common.scss b/gtk/resources/theme/Adwaita/_common.scss
index 0397937..3077b47 100644
--- a/gtk/resources/theme/Adwaita/_common.scss
+++ b/gtk/resources/theme/Adwaita/_common.scss
@@ -1661,12 +1661,13 @@ $asset_suffix: if($variant=='dark', '-dark', '');
.menu .menuitem.#{$w} {
color: transparentize($fg_color,0.9);
background-image: none;
- -gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic');
+ -gtk-icon-source: -gtk-icontheme('#{$a}-symbolic');
&:hover { color: transparentize($selected_fg_color,0.9); }
- &:checked {
+ &:active, &:checked {
color: $fg_color;
+ -gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic');
&:hover {
- -gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic');
+ -gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic'); //specificity workaround
color: $selected_fg_color;
}
&:insensitive {
@@ -1675,7 +1676,7 @@ $asset_suffix: if($variant=='dark', '-dark', '');
&:backdrop { color: $backdrop_insensitive_color; };
}
&:backdrop {
- -gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic');
+ -gtk-icon-source: -gtk-icontheme('#{$a}-checked-symbolic'); //specificity workaround
color: $backdrop_fg_color;
}
}
diff --git a/gtk/resources/theme/Adwaita/gtk-contained-dark.css b/gtk/resources/theme/Adwaita/gtk-contained-dark.css
index df7581a..1b0b9fd 100644
--- a/gtk/resources/theme/Adwaita/gtk-contained-dark.css
+++ b/gtk/resources/theme/Adwaita/gtk-contained-dark.css
@@ -1784,20 +1784,21 @@ GtkSwitch {
.menu .menuitem.check {
color: rgba(238, 238, 236, 0.1);
background-image: none;
- -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic"); }
+ -gtk-icon-source: -gtk-icontheme("checkbox-symbolic"); }
.menu .menuitem.check:hover {
color: rgba(255, 255, 255, 0.1); }
- .menu .menuitem.check:checked {
- color: #eeeeec; }
- .menu .menuitem.check:checked:hover {
+ .menu .menuitem.check:active, .menu .menuitem.check:checked {
+ color: #eeeeec;
+ -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic"); }
+ .menu .menuitem.check:active:hover, .menu .menuitem.check:checked:hover {
-gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
color: white; }
- .menu .menuitem.check:checked:insensitive {
+ .menu .menuitem.check:active:insensitive, .menu .menuitem.check:checked:insensitive {
color: #939695;
background-image: none; }
- .menu .menuitem.check:checked:insensitive:backdrop {
+ .menu .menuitem.check:active:insensitive:backdrop, .menu .menuitem.check:checked:insensitive:backdrop {
color: #5d6767; }
- .menu .menuitem.check:checked:backdrop {
+ .menu .menuitem.check:active:backdrop, .menu .menuitem.check:checked:backdrop {
-gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
color: #c9cbc9; }
.menu .menuitem.check:insensitive {
@@ -1866,20 +1867,21 @@ GtkSwitch {
.menu .menuitem.radio {
color: rgba(238, 238, 236, 0.1);
background-image: none;
- -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic"); }
+ -gtk-icon-source: -gtk-icontheme("radio-symbolic"); }
.menu .menuitem.radio:hover {
color: rgba(255, 255, 255, 0.1); }
- .menu .menuitem.radio:checked {
- color: #eeeeec; }
- .menu .menuitem.radio:checked:hover {
+ .menu .menuitem.radio:active, .menu .menuitem.radio:checked {
+ color: #eeeeec;
+ -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic"); }
+ .menu .menuitem.radio:active:hover, .menu .menuitem.radio:checked:hover {
-gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
color: white; }
- .menu .menuitem.radio:checked:insensitive {
+ .menu .menuitem.radio:active:insensitive, .menu .menuitem.radio:checked:insensitive {
color: #939695;
background-image: none; }
- .menu .menuitem.radio:checked:insensitive:backdrop {
+ .menu .menuitem.radio:active:insensitive:backdrop, .menu .menuitem.radio:checked:insensitive:backdrop {
color: #5d6767; }
- .menu .menuitem.radio:checked:backdrop {
+ .menu .menuitem.radio:active:backdrop, .menu .menuitem.radio:checked:backdrop {
-gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
color: #c9cbc9; }
.menu .menuitem.radio:insensitive {
diff --git a/gtk/resources/theme/Adwaita/gtk-contained.css b/gtk/resources/theme/Adwaita/gtk-contained.css
index 585c1aa..023363e 100644
--- a/gtk/resources/theme/Adwaita/gtk-contained.css
+++ b/gtk/resources/theme/Adwaita/gtk-contained.css
@@ -1779,20 +1779,21 @@ GtkSwitch {
.menu .menuitem.check {
color: rgba(46, 52, 54, 0.1);
background-image: none;
- -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic"); }
+ -gtk-icon-source: -gtk-icontheme("checkbox-symbolic"); }
.menu .menuitem.check:hover {
color: rgba(255, 255, 255, 0.1); }
- .menu .menuitem.check:checked {
- color: #2e3436; }
- .menu .menuitem.check:checked:hover {
+ .menu .menuitem.check:active, .menu .menuitem.check:checked {
+ color: #2e3436;
+ -gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic"); }
+ .menu .menuitem.check:active:hover, .menu .menuitem.check:checked:hover {
-gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
color: white; }
- .menu .menuitem.check:checked:insensitive {
+ .menu .menuitem.check:active:insensitive, .menu .menuitem.check:checked:insensitive {
color: #8d9091;
background-image: none; }
- .menu .menuitem.check:checked:insensitive:backdrop {
+ .menu .menuitem.check:active:insensitive:backdrop, .menu .menuitem.check:checked:insensitive:backdrop {
color: #c7c7c7; }
- .menu .menuitem.check:checked:backdrop {
+ .menu .menuitem.check:active:backdrop, .menu .menuitem.check:checked:backdrop {
-gtk-icon-source: -gtk-icontheme("checkbox-checked-symbolic");
color: #54595a; }
.menu .menuitem.check:insensitive {
@@ -1861,20 +1862,21 @@ GtkSwitch {
.menu .menuitem.radio {
color: rgba(46, 52, 54, 0.1);
background-image: none;
- -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic"); }
+ -gtk-icon-source: -gtk-icontheme("radio-symbolic"); }
.menu .menuitem.radio:hover {
color: rgba(255, 255, 255, 0.1); }
- .menu .menuitem.radio:checked {
- color: #2e3436; }
- .menu .menuitem.radio:checked:hover {
+ .menu .menuitem.radio:active, .menu .menuitem.radio:checked {
+ color: #2e3436;
+ -gtk-icon-source: -gtk-icontheme("radio-checked-symbolic"); }
+ .menu .menuitem.radio:active:hover, .menu .menuitem.radio:checked:hover {
-gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
color: white; }
- .menu .menuitem.radio:checked:insensitive {
+ .menu .menuitem.radio:active:insensitive, .menu .menuitem.radio:checked:insensitive {
color: #8d9091;
background-image: none; }
- .menu .menuitem.radio:checked:insensitive:backdrop {
+ .menu .menuitem.radio:active:insensitive:backdrop, .menu .menuitem.radio:checked:insensitive:backdrop {
color: #c7c7c7; }
- .menu .menuitem.radio:checked:backdrop {
+ .menu .menuitem.radio:active:backdrop, .menu .menuitem.radio:checked:backdrop {
-gtk-icon-source: -gtk-icontheme("radio-checked-symbolic");
color: #54595a; }
.menu .menuitem.radio:insensitive {
--
2.1.0

View File

@ -11,25 +11,21 @@
%global xrandr_version 1.2.99.4-2 %global xrandr_version 1.2.99.4-2
%global bin_version 3.0.0 %global bin_version 3.0.0
%global shortcommit 5ad60ca
%global _changelog_trimtime %(date +%s -d "1 year ago") %global _changelog_trimtime %(date +%s -d "1 year ago")
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
Name: gtk3 Name: gtk3
Version: 3.13.7 Version: 3.13.7
Release: 2%{?dist} Release: 3.git%{shortcommit}%{?dist}
License: LGPLv2+ License: LGPLv2+
Group: System Environment/Libraries Group: System Environment/Libraries
URL: http://www.gtk.org URL: http://www.gtk.org
#VCS: git:git://git.gnome.org/gtk+ #VCS: git:git://git.gnome.org/gtk+
# not the actual tarball, rebuilt for missing files # Source: http://download.gnome.org/sources/gtk+/3.13/gtk+-%{version}.tar.xz
Source: http://download.gnome.org/sources/gtk+/3.13/gtk+-%{version}.tar.xz Source: gtk+-%{version}-%{shortcommit}.tar.xz
Patch1: 0001-checkbutton-Fix-redraw-issues.patch
Patch2: 0002-button-Remove-unnecessary-queue_redraw-calls.patch
Patch3: 0003-Adwaita-update-the-last-cases-for-checked.patch
Patch4: 0004-Adwaita-have-an-unchecked-state-for-radio-checks-in-.patch
BuildRequires: gnome-common autoconf automake intltool gettext BuildRequires: gnome-common autoconf automake intltool gettext
BuildRequires: atk-devel >= %{atk_version} BuildRequires: atk-devel >= %{atk_version}
@ -151,10 +147,6 @@ the functionality of the installed %{name} package.
%prep %prep
%setup -q -n gtk+-%{version} %setup -q -n gtk+-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build %build
@ -325,6 +317,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
%{_datadir}/installed-tests %{_datadir}/installed-tests
%changelog %changelog
* Thu Aug 28 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.7-3.git5ad60ca
- Update to today's git snapshot
* Wed Aug 27 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.7-2 * Wed Aug 27 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.7-2
- Backport a few upstream fixes for checkboxes - Backport a few upstream fixes for checkboxes

View File

@ -1 +1 @@
9dca77b1f6a3a81c96505d5f2ff57ba7 gtk+-3.13.7.tar.xz 9da778bb70f0e84b47ceb46e915f0399 gtk+-3.13.7-5ad60ca.tar.xz