diff options
author | Kalev Lember <kalevlember@gmail.com> | 2014-08-28 15:47:38 +0200 |
---|---|---|
committer | Kalev Lember <kalevlember@gmail.com> | 2014-08-28 15:50:13 +0200 |
commit | 5e6da5a489131970d576a6168c64510fe3870d67 (patch) | |
tree | 25fb9a3ae5b759fc50edc9aaf06ef3b60e09030e | |
parent | Backport a few upstream fixes for checkboxes (diff) | |
download | gtk3-classic-build-gtk3-5e6da5a489131970d576a6168c64510fe3870d67.tar.gz gtk3-classic-build-gtk3-5e6da5a489131970d576a6168c64510fe3870d67.tar.bz2 gtk3-classic-build-gtk3-5e6da5a489131970d576a6168c64510fe3870d67.zip |
Update to today's git snapshot
This might help with various issues people have been running into during
the Wayland test day today.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | 0001-checkbutton-Fix-redraw-issues.patch | 58 | ||||
-rw-r--r-- | 0002-button-Remove-unnecessary-queue_redraw-calls.patch | 49 | ||||
-rw-r--r-- | 0003-Adwaita-update-the-last-cases-for-checked.patch | 459 | ||||
-rw-r--r-- | 0004-Adwaita-have-an-unchecked-state-for-radio-checks-in-.patch | 169 | ||||
-rw-r--r-- | gtk3.spec | 19 | ||||
-rw-r--r-- | sources | 2 |
7 files changed, 9 insertions, 748 deletions
@@ -87,3 +87,4 @@ gtk+-2.90.5.tar.bz2 /gtk+-3.13.5.tar.xz /gtk+-3.13.6.tar.xz /gtk+-3.13.7.tar.xz +/gtk+-3.13.7-5ad60ca.tar.xz diff --git a/0001-checkbutton-Fix-redraw-issues.patch b/0001-checkbutton-Fix-redraw-issues.patch deleted file mode 100644 index e494353..0000000 --- a/0001-checkbutton-Fix-redraw-issues.patch +++ /dev/null @@ -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 - diff --git a/0002-button-Remove-unnecessary-queue_redraw-calls.patch b/0002-button-Remove-unnecessary-queue_redraw-calls.patch deleted file mode 100644 index 0a2742a..0000000 --- a/0002-button-Remove-unnecessary-queue_redraw-calls.patch +++ /dev/null @@ -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 - diff --git a/0003-Adwaita-update-the-last-cases-for-checked.patch b/0003-Adwaita-update-the-last-cases-for-checked.patch deleted file mode 100644 index 5a79b21..0000000 --- a/0003-Adwaita-update-the-last-cases-for-checked.patch +++ /dev/null @@ -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 - diff --git a/0004-Adwaita-have-an-unchecked-state-for-radio-checks-in-.patch b/0004-Adwaita-have-an-unchecked-state-for-radio-checks-in-.patch deleted file mode 100644 index 0f08580..0000000 --- a/0004-Adwaita-have-an-unchecked-state-for-radio-checks-in-.patch +++ /dev/null @@ -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 - @@ -11,25 +11,21 @@ %global xrandr_version 1.2.99.4-2 %global bin_version 3.0.0 +%global shortcommit 5ad60ca %global _changelog_trimtime %(date +%s -d "1 year ago") Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X Name: gtk3 Version: 3.13.7 -Release: 2%{?dist} +Release: 3.git%{shortcommit}%{?dist} License: LGPLv2+ Group: System Environment/Libraries URL: http://www.gtk.org #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 - -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 +# Source: http://download.gnome.org/sources/gtk+/3.13/gtk+-%{version}.tar.xz +Source: gtk+-%{version}-%{shortcommit}.tar.xz BuildRequires: gnome-common autoconf automake intltool gettext BuildRequires: atk-devel >= %{atk_version} @@ -151,10 +147,6 @@ the functionality of the installed %{name} package. %prep %setup -q -n gtk+-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 %build @@ -325,6 +317,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache %{_datadir}/installed-tests %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 - Backport a few upstream fixes for checkboxes @@ -1 +1 @@ -9dca77b1f6a3a81c96505d5f2ff57ba7 gtk+-3.13.7.tar.xz +9da778bb70f0e84b47ceb46e915f0399 gtk+-3.13.7-5ad60ca.tar.xz |