From 3e5be58991ce62e3c31f3a2a5bafc59abb3820a2 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 17 Feb 2016 02:42:35 +0100 Subject: [PATCH] win32 theme: Require comma between part and state ID --- gtk/gtkcssimagewin32.c | 12 ++ gtk/theme/win32/gtk-win32-base.css | 308 ++++++++++++++--------------- gtk/theme/win32/gtk.css | 30 +-- 3 files changed, 181 insertions(+), 169 deletions(-) diff --git a/gtk/gtkcssimagewin32.c b/gtk/gtkcssimagewin32.c index 2ec110ea82..05ced5d9fd 100644 --- a/gtk/gtkcssimagewin32.c +++ b/gtk/gtkcssimagewin32.c @@ -100,6 +100,12 @@ gtk_css_image_win32_parse (GtkCssImage *image, return FALSE; } + if (! _gtk_css_parser_try (parser, ",", TRUE)) + { + _gtk_css_parser_error (parser, "Expected ','"); + return FALSE; + } + if (!_gtk_css_parser_try_int (parser, &wimage->state)) { _gtk_css_parser_error (parser, "Expected a valid integer value"); @@ -123,6 +129,12 @@ gtk_css_image_win32_parse (GtkCssImage *image, return FALSE; } + if (! _gtk_css_parser_try (parser, ",", TRUE)) + { + _gtk_css_parser_error (parser, "Expected ','"); + return FALSE; + } + if (!_gtk_css_parser_try_int (parser, &wimage->state2)) { _gtk_css_parser_error (parser, "Expected a valid integer value"); diff --git a/gtk/theme/win32/gtk-win32-base.css b/gtk/theme/win32/gtk-win32-base.css index 011e933eb9..ead3c57479 100644 --- a/gtk/theme/win32/gtk-win32-base.css +++ b/gtk/theme/win32/gtk-win32-base.css @@ -43,7 +43,7 @@ frame { border-width: 2px; border-style: solid; background-color: transparent; - border-image: -gtk-win32-theme-part(button, 4 1) 2 2 2 2 stretch; + border-image: -gtk-win32-theme-part(button, 4, 1) 2 2 2 2 stretch; } *:disabled { @@ -96,7 +96,7 @@ notebook > scrolledwindow.frame { scrolledwindow.frame { border-style: solid; border-width: 2px; - border-image: -gtk-win32-theme-part(listview, 5 1) 2 2 2 2 stretch; + border-image: -gtk-win32-theme-part(listview, 5, 1) 2 2 2 2 stretch; } .view { @@ -118,7 +118,7 @@ scrolledwindow.frame { tooltip { background-color: transparent; - background-image: -gtk-win32-theme-part(tooltip, 3 1); + background-image: -gtk-win32-theme-part(tooltip, 3, 1); color: -gtk-win32-color(button, 23); border-width: 0px; } @@ -135,73 +135,73 @@ assistant .sidebar .highlight { /* checkmarks */ check { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 1); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 1); min-width: -gtk-win32-part-width(button, 3, 1); min-height: -gtk-win32-part-height(button, 3, 1); } check:hover { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 2); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 2); min-width: -gtk-win32-part-width(button, 3, 2); min-height: -gtk-win32-part-height(button, 3, 2); } check:active { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 3); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 3); min-width: -gtk-win32-part-width(button, 3, 3); min-height: -gtk-win32-part-height(button, 3, 3); } check:disabled { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 4); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 4); min-width: -gtk-win32-part-width(button, 3, 4); min-height: -gtk-win32-part-height(button, 3, 4); } check:checked { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 5); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 5); min-width: -gtk-win32-part-width(button, 3, 5); min-height: -gtk-win32-part-height(button, 3, 5); } check:checked:hover { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 6); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 6); min-width: -gtk-win32-part-width(button, 3, 6); min-height: -gtk-win32-part-height(button, 3, 6); } check:checked:active { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 7); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 7); min-width: -gtk-win32-part-width(button, 3, 7); min-height: -gtk-win32-part-height(button, 3, 7); } check:checked:disabled { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 8); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 8); min-width: -gtk-win32-part-width(button, 3, 8); min-height: -gtk-win32-part-height(button, 3, 8); } check:indeterminate { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 9); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 9); min-width: -gtk-win32-part-width(button, 3, 9); min-height: -gtk-win32-part-height(button, 3, 9); } check:indeterminate:hover { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 10); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 10); min-width: -gtk-win32-part-width(button, 3, 10); min-height: -gtk-win32-part-height(button, 3, 10); } check:indeterminate:active { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 11); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 11); min-width: -gtk-win32-part-width(button, 3, 11); min-height: -gtk-win32-part-height(button, 3, 11); } check:indeterminate:disabled { - -gtk-icon-source: -gtk-win32-theme-part(button, 3 12); + -gtk-icon-source: -gtk-win32-theme-part(button, 3, 12); min-width: -gtk-win32-part-width(button, 3, 12); min-height: -gtk-win32-part-height(button, 3, 12); } @@ -209,73 +209,73 @@ check:indeterminate:disabled { /* radiomarks */ radio { - -gtk-icon-source: -gtk-win32-theme-part(button, 2 1); + -gtk-icon-source: -gtk-win32-theme-part(button, 2, 1); min-width: -gtk-win32-part-width(button, 2, 1); min-height: -gtk-win32-part-height(button, 2, 1); } radio:hover { - -gtk-icon-source: -gtk-win32-theme-part(button, 2 2); + -gtk-icon-source: -gtk-win32-theme-part(button, 2, 2); min-width: -gtk-win32-part-width(button, 2, 2); min-height: -gtk-win32-part-height(button, 2, 2); } radio:active { - -gtk-icon-source: -gtk-win32-theme-part(button, 2 3); + -gtk-icon-source: -gtk-win32-theme-part(button, 2, 3); min-width: -gtk-win32-part-width(button, 2, 3); min-height: -gtk-win32-part-height(button, 2, 3); } radio:disabled { - -gtk-icon-source: -gtk-win32-theme-part(button, 2 4); + -gtk-icon-source: -gtk-win32-theme-part(button, 2, 4); min-width: -gtk-win32-part-width(button, 2, 4); min-height: -gtk-win32-part-height(button, 2, 4); } radio:checked { - -gtk-icon-source: -gtk-win32-theme-part(button, 2 5); + -gtk-icon-source: -gtk-win32-theme-part(button, 2, 5); min-width: -gtk-win32-part-width(button, 2, 5); min-height: -gtk-win32-part-height(button, 2, 5); } radio:checked:hover { - -gtk-icon-source: -gtk-win32-theme-part(button, 2 6); + -gtk-icon-source: -gtk-win32-theme-part(button, 2, 6); min-width: -gtk-win32-part-width(button, 2, 6); min-height: -gtk-win32-part-height(button, 2, 6); } radio:checked:active { - -gtk-icon-source: -gtk-win32-theme-part(button, 2 7); + -gtk-icon-source: -gtk-win32-theme-part(button, 2, 7); min-width: -gtk-win32-part-width(button, 2, 7); min-height: -gtk-win32-part-height(button, 2, 7); } radio:checked:disabled { - -gtk-icon-source: -gtk-win32-theme-part(button, 2 8); + -gtk-icon-source: -gtk-win32-theme-part(button, 2, 8); min-width: -gtk-win32-part-width(button, 2, 8); min-height: -gtk-win32-part-height(button, 2, 8); } radio:indeterminate { - -gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2 5), -gtk-win32-theme-part(button, 2 1)); + -gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2, 5), -gtk-win32-theme-part(button, 2, 1)); min-width: -gtk-win32-part-width(button, 2, 9); min-height: -gtk-win32-part-height(button, 2, 9); } radio:indeterminate:hover { - -gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2 6), -gtk-win32-theme-part(button, 2 2)); + -gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2, 6), -gtk-win32-theme-part(button, 2, 2)); min-width: -gtk-win32-part-width(button, 2, 2); min-height: -gtk-win32-part-height(button, 2, 2); } radio:indeterminate:active { - -gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2 7), -gtk-win32-theme-part(button, 2 3)); + -gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2, 7), -gtk-win32-theme-part(button, 2, 3)); min-width: -gtk-win32-part-width(button, 2, 3); min-height: -gtk-win32-part-height(button, 2, 3); } radio:indeterminate:disabled { - -gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2 8), -gtk-win32-theme-part(button, 2 4)); + -gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2, 8), -gtk-win32-theme-part(button, 2, 4)); min-width: -gtk-win32-part-width(button, 2, 4); min-height: -gtk-win32-part-height(button, 2, 4); } @@ -284,26 +284,26 @@ radio:indeterminate:disabled { button { background-color: transparent; - background-image: -gtk-win32-theme-part(button, 1 1); + background-image: -gtk-win32-theme-part(button, 1, 1); border-width: 0; padding: 3px; } button:disabled { - background-image: -gtk-win32-theme-part(button, 1 4); + background-image: -gtk-win32-theme-part(button, 1, 4); } button:focus { - background-image: -gtk-win32-theme-part(button, 1 5); + background-image: -gtk-win32-theme-part(button, 1, 5); } button:hover, button:hover:focus { - background-image: -gtk-win32-theme-part(button, 1 2); + background-image: -gtk-win32-theme-part(button, 1, 2); color: @text_color; } button:active, button:active:focus, button:active:focus:hover { - background-image: -gtk-win32-theme-part(button, 1 3); + background-image: -gtk-win32-theme-part(button, 1, 3); color: @text_color; } @@ -329,94 +329,94 @@ scrollbar.vertical { } scrollbar button.bottom { - background-image: -gtk-win32-theme-part(scrollbar, 1 5); + background-image: -gtk-win32-theme-part(scrollbar, 1, 5); } scrollbar button.bottom:hover { - background-image: -gtk-win32-theme-part(scrollbar, 1 6); + background-image: -gtk-win32-theme-part(scrollbar, 1, 6); } scrollbar button.bottom:active, scrollbar button.bottom:active:hover { - background-image: -gtk-win32-theme-part(scrollbar, 1 7); + background-image: -gtk-win32-theme-part(scrollbar, 1, 7); } scrollbar button.bottom:disabled { - background-image: -gtk-win32-theme-part(scrollbar, 1 8); + background-image: -gtk-win32-theme-part(scrollbar, 1, 8); } scrollbar button.top { - background-image: -gtk-win32-theme-part(scrollbar, 1 1); + background-image: -gtk-win32-theme-part(scrollbar, 1, 1); } scrollbar button.top:hover { - background-image: -gtk-win32-theme-part(scrollbar, 1 2); + background-image: -gtk-win32-theme-part(scrollbar, 1, 2); } scrollbar button.top:active, scrollbar button.top:active:hover { - background-image: -gtk-win32-theme-part(scrollbar, 1 3); + background-image: -gtk-win32-theme-part(scrollbar, 1, 3); } scrollbar button.top:disabled { - background-image: -gtk-win32-theme-part(scrollbar, 1 4); + background-image: -gtk-win32-theme-part(scrollbar, 1, 4); } scrollbar button.left { - background-image: -gtk-win32-theme-part(scrollbar, 1 9); + background-image: -gtk-win32-theme-part(scrollbar, 1, 9); } scrollbar button.left:hover { - background-image: -gtk-win32-theme-part(scrollbar, 1 10); + background-image: -gtk-win32-theme-part(scrollbar, 1, 10); } scrollbar button.left:active, scrollbar button.left:active:hover { - background-image: -gtk-win32-theme-part(scrollbar, 1 11); + background-image: -gtk-win32-theme-part(scrollbar, 1, 11); } scrollbar button.left:disabled { - background-image: -gtk-win32-theme-part(scrollbar, 1 12); + background-image: -gtk-win32-theme-part(scrollbar, 1, 12); } scrollbar button.right { - background-image: -gtk-win32-theme-part(scrollbar, 1 13); + background-image: -gtk-win32-theme-part(scrollbar, 1, 13); } scrollbar button.right:hover { - background-image: -gtk-win32-theme-part(scrollbar, 1 14); + background-image: -gtk-win32-theme-part(scrollbar, 1, 14); } scrollbar button.right:active, scrollbar button.right:active:hover { - background-image: -gtk-win32-theme-part(scrollbar, 1 15); + background-image: -gtk-win32-theme-part(scrollbar, 1, 15); } scrollbar button.right:disabled { - background-image: -gtk-win32-theme-part(scrollbar, 1 16); + background-image: -gtk-win32-theme-part(scrollbar, 1, 16); } scrollbar trough { border-width: 0; - background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (4 1)); + background-image: -gtk-win32-theme-part(scrollbar, 2, 1, over (4, 1)); } scrollbar trough.vertical { border-width: 0; - background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (6 1)); + background-image: -gtk-win32-theme-part(scrollbar, 2, 1, over (6, 1)); } scrollbar slider { border-width: 0; - background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (8 1)); + background-image: -gtk-win32-theme-part(scrollbar, 2, 1, over (8, 1)); } scrollbar slider:hover { - background-image: -gtk-win32-theme-part(scrollbar, 2 2, over (8 2)); + background-image: -gtk-win32-theme-part(scrollbar, 2, 2, over (8, 2)); } scrollbar slider:active { - background-image: -gtk-win32-theme-part(scrollbar, 2 3, over (8 3)); + background-image: -gtk-win32-theme-part(scrollbar, 2, 3, over (8, 3)); } scrollbar slider:disabled { @@ -428,15 +428,15 @@ scrollbar slider:disabled { } scrollbar.vertical slider { - background-image: -gtk-win32-theme-part(scrollbar, 3 1, over (9 1)); + background-image: -gtk-win32-theme-part(scrollbar, 3, 1, over (9, 1)); } scrollbar.vertical slider:hover { - background-image: -gtk-win32-theme-part(scrollbar, 3 2, over (9 2)); + background-image: -gtk-win32-theme-part(scrollbar, 3, 2, over (9, 2)); } scrollbar.vertical slider:active { - background-image: -gtk-win32-theme-part(scrollbar, 3 3, over (9 3)); + background-image: -gtk-win32-theme-part(scrollbar, 3, 3, over (9, 3)); } scrollbar.vertical slider:disabled { @@ -452,22 +452,22 @@ scrollbar.vertical slider:disabled { entry { border-width: 1px; border-style: solid; - border-image: -gtk-win32-theme-part(edit, 6 1) 1 1 1 1 stretch; - background-image: -gtk-win32-theme-part(edit, 6 1, margins(-1 -1 -1 -1)); + border-image: -gtk-win32-theme-part(edit, 6, 1) 1 1 1 1 stretch; + background-image: -gtk-win32-theme-part(edit, 6, 1, margins(-1 -1 -1 -1)); padding: 2px; } entry:disabled { - border-image: -gtk-win32-theme-part(edit, 6 4) 1 1 1 1 stretch; - background-image: -gtk-win32-theme-part(edit, 6 4, margins(-1 -1 -1 -1)); + border-image: -gtk-win32-theme-part(edit, 6, 4) 1 1 1 1 stretch; + background-image: -gtk-win32-theme-part(edit, 6, 4, margins(-1 -1 -1 -1)); color: #a7aba7; } entry:hover { - border-image: -gtk-win32-theme-part(edit, 6 2) 1 1 1 1 stretch; - background-image: -gtk-win32-theme-part(edit, 6 2, margins(-1 -1 -1 -1)); + border-image: -gtk-win32-theme-part(edit, 6, 2) 1 1 1 1 stretch; + background-image: -gtk-win32-theme-part(edit, 6, 2, margins(-1 -1 -1 -1)); } entry:focus { - border-image: -gtk-win32-theme-part(edit, 6 3) 1 1 1 1 stretch; - background-image: -gtk-win32-theme-part(edit, 6 3, margins(-1 -1 -1 -1)); + border-image: -gtk-win32-theme-part(edit, 6, 3) 1 1 1 1 stretch; + background-image: -gtk-win32-theme-part(edit, 6, 3, margins(-1 -1 -1 -1)); } /* Spibuttons */ @@ -475,23 +475,23 @@ entry:focus { spinbutton button, spinbutton button:focus { background-color: transparent; - background-image: -gtk-win32-theme-part(spin, 2 1, margins(0 -1 -1 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 1, margins(0 -1 -1 -1)); color: rgba(0, 0, 0, 0); } spinbutton button:last-child, spinbutton button:focus:last-child { - background-image: -gtk-win32-theme-part(spin, 1 1, margins(-1 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 1, margins(-1 -1 0 -1)); } spinbutton button:hover, spinbutton button:hover:focus { - background-image: -gtk-win32-theme-part(spin, 2 2, margins(0 -1 -1 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 2, margins(0 -1 -1 -1)); } spinbutton button:hover:last-child, spinbutton button:hover:focus:last-child { - background-image: -gtk-win32-theme-part(spin, 1 2, margins(-1 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 2, margins(-1 -1 0 -1)); } @@ -499,22 +499,22 @@ spinbutton button:active, spinbutton button:active:hover, spinbutton button:active:focus, spinbutton button:active:hover:focus { - background-image: -gtk-win32-theme-part(spin, 2 3, margins(0 -1 -1 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 3, margins(0 -1 -1 -1)); } spinbutton button:active:last-child, spinbutton button:active:hover:last-child, spinbutton button:active:focus:last-child, spinbutton button:active:hover:focus:last-child { - background-image: -gtk-win32-theme-part(spin, 1 3, margins(-1 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 3, margins(-1 -1 0 -1)); } spinbutton button:disabled { - background-image: -gtk-win32-theme-part(spin, 2 4, margins(0 -1 -1 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 4, margins(0 -1 -1 -1)); } spinbutton button:disabled:last-child { - background-image: -gtk-win32-theme-part(spin, 1 4, margins(-1 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 4, margins(-1 -1 0 -1)); } @@ -523,23 +523,23 @@ spinbutton.vertical button, spinbutton.vertical button:focus { background-color: transparent; color: rgba(0, 0, 0, 0); - background-image: -gtk-win32-theme-part(spin, 1 1, margins(0 -1 -0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 1, margins(0 -1 -0 -1)); } spinbutton.vertical button:last-child, spinbutton.vertical button:focus:last-child { - background-image: -gtk-win32-theme-part(spin, 2 1, margins(0 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 1, margins(0 -1 0 -1)); } spinbutton.vertical button:hover, spinbutton.vertical button:hover:focus { - background-image: -gtk-win32-theme-part(spin, 1 2, margins(0 -1 -0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 2, margins(0 -1 -0 -1)); } spinbutton.vertical button:hover:last-child, spinbutton.vertical button:hover:focus:last-child { - background-image: -gtk-win32-theme-part(spin, 2 2, margins(0 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 2, margins(0 -1 0 -1)); } @@ -547,22 +547,22 @@ spinbutton.vertical button:active, spinbutton.vertical button:active:hover, spinbutton.vertical button:active:focus, spinbutton.vertical button:active:hover:focus { - background-image: -gtk-win32-theme-part(spin, 1 3, margins(0 -1 -0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 3, margins(0 -1 -0 -1)); } spinbutton.vertical button:active:last-child, spinbutton.vertical button:active:hover:last-child, spinbutton.vertical button:active:focus:last-child, spinbutton.vertical button:active:hover:focus:last-child { - background-image: -gtk-win32-theme-part(spin, 2 3, margins(0 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 3, margins(0 -1 0 -1)); } spinbutton.vertical button:disabled { - background-image: -gtk-win32-theme-part(spin, 1 4, margins(0 -1 -0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 4, margins(0 -1 -0 -1)); } spinbutton.vertical button:disabled:last-child { - background-image: -gtk-win32-theme-part(spin, 2 4, margins(0 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 4, margins(0 -1 0 -1)); } @@ -570,23 +570,23 @@ spinbutton.vertical button:disabled:last-child { spinbutton button:dir(rtl), spinbutton button:focus:dir(rtl) { background-color: transparent; - background-image: -gtk-win32-theme-part(spin, 2 1, margins(0 -1 -1 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 1, margins(0 -1 -1 -1)); color: rgba(0, 0, 0, 0); } spinbutton button:first-child:dir(rtl), spinbutton button:focus:first-child:dir(rtl) { - background-image: -gtk-win32-theme-part(spin, 1 1, margins(-1 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 1, margins(-1 -1 0 -1)); } spinbutton button:hover:dir(rtl), spinbutton button:hover:focus:dir(rtl) { - background-image: -gtk-win32-theme-part(spin, 2 2, margins(0 -1 -1 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 2, margins(0 -1 -1 -1)); } spinbutton button:hover:first-child:dir(rtl), spinbutton button:hover:focus:first-child:dir(rtl) { - background-image: -gtk-win32-theme-part(spin, 1 2, margins(-1 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 2, margins(-1 -1 0 -1)); } @@ -594,22 +594,22 @@ spinbutton button:active:dir(rtl), spinbutton button:active:hover:dir(rtl), spinbutton button:active:focus:dir(rtl), spinbutton button:active:hover:focus:dir(rtl) { - background-image: -gtk-win32-theme-part(spin, 2 3, margins(0 -1 -1 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 3, margins(0 -1 -1 -1)); } spinbutton button:active:first-child:dir(rtl), spinbutton button:active:hover:first-child:dir(rtl), spinbutton button:active:focus:first-child:dir(rtl), spinbutton button:active:hover:focus:first-child:dir(rtl) { - background-image: -gtk-win32-theme-part(spin, 1 3, margins(-1 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 3, margins(-1 -1 0 -1)); } spinbutton button:disabled:dir(rtl) { - background-image: -gtk-win32-theme-part(spin, 2 4, margins(0 -1 -1 -1)); + background-image: -gtk-win32-theme-part(spin, 2, 4, margins(0 -1 -1 -1)); } spinbutton button:disabled:first-child:dir(rtl) { - background-image: -gtk-win32-theme-part(spin, 1 4, margins(-1 -1 0 -1)); + background-image: -gtk-win32-theme-part(spin, 1, 4, margins(-1 -1 0 -1)); } /* Ranges */ @@ -630,12 +630,12 @@ scale trough { margin: 8px 0; border-style: none; border-width: 0; - background-image: -gtk-win32-theme-part(trackbar, 1 1); + background-image: -gtk-win32-theme-part(trackbar, 1, 1); } scale.vertical trough { margin: 0 8px; - background-image: -gtk-win32-theme-part(trackbar, 1 1); + background-image: -gtk-win32-theme-part(trackbar, 1, 1); } scale.mark.separator { @@ -647,131 +647,131 @@ scale slider { background-color: transparent; border-width: 0; color: rgba(0,0,0,0); - background-image: -gtk-win32-theme-part(trackbar, 3 1); + background-image: -gtk-win32-theme-part(trackbar, 3, 1); } scale slider:hover { - background-image: -gtk-win32-theme-part(trackbar, 3 2); + background-image: -gtk-win32-theme-part(trackbar, 3, 2); } scale slider:active, scale slider:hover:active { - background-image: -gtk-win32-theme-part(trackbar, 3 3); + background-image: -gtk-win32-theme-part(trackbar, 3, 3); } scale slider:focus { - background-image: -gtk-win32-theme-part(trackbar, 3 4); + background-image: -gtk-win32-theme-part(trackbar, 3, 4); } scale slider:disabled { - background-image: -gtk-win32-theme-part(trackbar, 3 5); + background-image: -gtk-win32-theme-part(trackbar, 3, 5); } scale.vertical slider { - background-image: -gtk-win32-theme-part(trackbar, 6 1); + background-image: -gtk-win32-theme-part(trackbar, 6, 1); } scale.vertical slider:hover { - background-image: -gtk-win32-theme-part(trackbar, 6 2); + background-image: -gtk-win32-theme-part(trackbar, 6, 2); } scale.vertical slider:active, scale.vertical slider:hover:active { - background-image: -gtk-win32-theme-part(trackbar, 6 3); + background-image: -gtk-win32-theme-part(trackbar, 6, 3); } scale.vertical slider:focus { - background-image: -gtk-win32-theme-part(trackbar, 6 4); + background-image: -gtk-win32-theme-part(trackbar, 6, 4); } scale.vertical slider:disabled { - background-image: -gtk-win32-theme-part(trackbar, 6 5); + background-image: -gtk-win32-theme-part(trackbar, 6, 5); } scale marks.bottom { - background-image: -gtk-win32-theme-part(trackbar, 4 1, margins(0 -2 0 0)); + background-image: -gtk-win32-theme-part(trackbar, 4, 1, margins(0 -2 0 0)); } scale marks.bottom:hover { - background-image: -gtk-win32-theme-part(trackbar, 4 2, margins(0 -2 0 0)); + background-image: -gtk-win32-theme-part(trackbar, 4, 2, margins(0 -2 0 0)); } scale marks.bottom:active, scale marks.bottom:hover:active { - background-image: -gtk-win32-theme-part(trackbar, 4 3, margins(0 -2 0 0)); + background-image: -gtk-win32-theme-part(trackbar, 4, 3, margins(0 -2 0 0)); } scale marks.bottom:focus { - background-image: -gtk-win32-theme-part(trackbar, 4 4, margins(0 -2 0 0)); + background-image: -gtk-win32-theme-part(trackbar, 4, 4, margins(0 -2 0 0)); } scale marks.bottom:disabled { - background-image: -gtk-win32-theme-part(trackbar, 4 5, margins(0 -2 0 0)); + background-image: -gtk-win32-theme-part(trackbar, 4, 5, margins(0 -2 0 0)); } scale.vertical marks.bottom { - background-image: -gtk-win32-theme-part(trackbar, 8 1, margins(0 0 -2 0)); + background-image: -gtk-win32-theme-part(trackbar, 8, 1, margins(0 0 -2 0)); } scale.vertical marks.bottom:hover { - background-image: -gtk-win32-theme-part(trackbar, 8 2, margins(0 0 -2 0)); + background-image: -gtk-win32-theme-part(trackbar, 8, 2, margins(0 0 -2 0)); } scale.vertical marks.bottom:active, scale.vertical marks.bottom:hover:active { - background-image: -gtk-win32-theme-part(trackbar, 8 3, margins(0 0 -2 0)); + background-image: -gtk-win32-theme-part(trackbar, 8, 3, margins(0 0 -2 0)); } scale.vertical marks.bottom:focus { - background-image: -gtk-win32-theme-part(trackbar, 8 4, margins(0 0 -2 0)); + background-image: -gtk-win32-theme-part(trackbar, 8, 4, margins(0 0 -2 0)); } scale.vertical marks.bottom:disabled { - background-image: -gtk-win32-theme-part(trackbar, 8 5, margins(0 0 -2 0)); + background-image: -gtk-win32-theme-part(trackbar, 8, 5, margins(0 0 -2 0)); } scale marks.top { - background-image: -gtk-win32-theme-part(trackbar, 5 1, margins(0 -2 0 0)); + background-image: -gtk-win32-theme-part(trackbar, 5, 1, margins(0 -2 0 0)); } scale marks.top:hover { - background-image: -gtk-win32-theme-part(trackbar, 5 2, margins(0 -2 0 0)); + background-image: -gtk-win32-theme-part(trackbar, 5, 2, margins(0 -2 0 0)); } scale marks.top:active, scale marks.top:hover:active { - background-image: -gtk-win32-theme-part(trackbar, 5 3, margins(0 -2 0 0)); + background-image: -gtk-win32-theme-part(trackbar, 5, 3, margins(0 -2 0 0)); } scale marks.top:focus { - background-image: -gtk-win32-theme-part(trackbar, 5 4, margins(0 -2 0 0)); + background-image: -gtk-win32-theme-part(trackbar, 5, 4, margins(0 -2 0 0)); } scale marks.top:disabled { - background-image: -gtk-win32-theme-part(trackbar, 5 5, margins(0 -2 0 0)); + background-image: -gtk-win32-theme-part(trackbar, 5, 5, margins(0 -2 0 0)); } scale.vertical marks.top { - background-image: -gtk-win32-theme-part(trackbar, 7 1, margins(0 0 -2 0)); + background-image: -gtk-win32-theme-part(trackbar, 7, 1, margins(0 0 -2 0)); } scale.vertical marks.top:hover { - background-image: -gtk-win32-theme-part(trackbar, 7 2, margins(0 0 -2 0)); + background-image: -gtk-win32-theme-part(trackbar, 7, 2, margins(0 0 -2 0)); } scale.vertical marks.top:active, scale.vertical marks.top:hover:active { - background-image: -gtk-win32-theme-part(trackbar, 7 3, margins(0 0 -2 0)); + background-image: -gtk-win32-theme-part(trackbar, 7, 3, margins(0 0 -2 0)); } scale.vertical marks.top:focus { - background-image: -gtk-win32-theme-part(trackbar, 7 4, margins(0 0 -2 0)); + background-image: -gtk-win32-theme-part(trackbar, 7, 4, margins(0 0 -2 0)); } scale.vertical marks.top:disabled { - background-image: -gtk-win32-theme-part(trackbar, 7 5, margins(0 0 -2 0)); + background-image: -gtk-win32-theme-part(trackbar, 7, 5, margins(0 0 -2 0)); } /* Progress bars */ @@ -783,33 +783,33 @@ progressbar { progressbar trough { border-width: 0; - background-image: -gtk-win32-theme-part(progress, 1 1); + background-image: -gtk-win32-theme-part(progress, 1, 1); } progressbar progress, entry progress, entry progress:focus { border-width: 0; - background-image: -gtk-win32-theme-part(progress, 5 1); + background-image: -gtk-win32-theme-part(progress, 5, 1); } progressbar progress.pulse, entry progress.pulse, entry progress.pulse:focus { background-color: transparent; - background-image: -gtk-win32-theme-part(progress, 8 1); + background-image: -gtk-win32-theme-part(progress, 8, 1); } progressbar.vertical trough { - background-image: -gtk-win32-theme-part(progress, 2 1); + background-image: -gtk-win32-theme-part(progress, 2, 1); } progressbar.vertical progress { - background-image: -gtk-win32-theme-part(progress, 6 1); + background-image: -gtk-win32-theme-part(progress, 6, 1); } progressbar.vertical progress.pulse { - background-image: -gtk-win32-theme-part(progress, 10 1); + background-image: -gtk-win32-theme-part(progress, 10, 1); } /* Combobox */ @@ -817,7 +817,7 @@ progressbar.vertical progress.pulse { combobox-entry button { background-color: transparent; border-width: 0; - background-image: -gtk-win32-theme-part(combobox, 1 1); + background-image: -gtk-win32-theme-part(combobox, 1, 1); color: rgba(0, 0, 0, 0); /* Remove padding from comboboxbutton (GtkArrow inside of it is hardcoded to be 16x16, but we draw even smaller arrow instead, so padding is completely unnecessary, @@ -831,16 +831,16 @@ combobox-entry button { combobox-entry button:hover, combobox-entry button:focus, combobox-entry button:hover:focus { - background-image: -gtk-win32-theme-part(combobox, 1 2); + background-image: -gtk-win32-theme-part(combobox, 1, 2); } combobox-entry button:active, combobox-entry button:active:focus, combobox-entry button:active:hover, combobox-entry button:active:focus:hover { - background-image: -gtk-win32-theme-part(combobox, 1 3); + background-image: -gtk-win32-theme-part(combobox, 1, 3); } combobox-entry button:disabled { - background-image: -gtk-win32-theme-part(combobox, 1 4); + background-image: -gtk-win32-theme-part(combobox, 1, 4); } /* Dropdown list should have "window" color, as listbox contents do (usually it's "white") */ @@ -852,11 +852,11 @@ combobox cellview * { the arrow itself does not seem to work as intended. */ combobox box { color: rgba(255, 0, 0, 0); - background-image: -gtk-win32-theme-part(combobox, 6 1); + background-image: -gtk-win32-theme-part(combobox, 6, 1); } combobox box:disabled { color: rgba(255, 0, 0, 0); - background-image: -gtk-win32-theme-part(combobox, 6 4); + background-image: -gtk-win32-theme-part(combobox, 6, 4); } /* Make sure the style above does not touch comboboxes with entries by disabling background image for the box again */ @@ -887,30 +887,30 @@ combobox arrow:disabled { toolbar { background-color: transparent; border-width: 0; - background-image: -gtk-win32-theme-part(rebar, 6 1); + background-image: -gtk-win32-theme-part(rebar, 6, 1); } toolbar button, toolbar button:focus { background-color: transparent; - background-image: -gtk-win32-theme-part(toolbar, 1 1); + background-image: -gtk-win32-theme-part(toolbar, 1, 1); } toolbar button:hover, toolbar button:hover:focus { - background-image: -gtk-win32-theme-part(toolbar, 1 2); + background-image: -gtk-win32-theme-part(toolbar, 1, 2); } toolbar button:active { - background-image: -gtk-win32-theme-part(toolbar, 1 3); + background-image: -gtk-win32-theme-part(toolbar, 1, 3); } toolbar button:active:hover { - background-image: -gtk-win32-theme-part(toolbar, 1 6); + background-image: -gtk-win32-theme-part(toolbar, 1, 6); } toolbar button:disabled { - background-image: -gtk-win32-theme-part(toolbar, 1 4); + background-image: -gtk-win32-theme-part(toolbar, 1, 4); } /* Column headers */ @@ -919,19 +919,19 @@ column-header button, column-header button:focus { background-color: transparent; border-width: 0; - background-image: -gtk-win32-theme-part(header, 1 1); + background-image: -gtk-win32-theme-part(header, 1, 1); } column-header button:hover, column-header button:hover:focus { - background-image: -gtk-win32-theme-part(header, 1 2); + background-image: -gtk-win32-theme-part(header, 1, 2); } column-header button:active, column-header button:active:hover, column-header button:active:focus, column-header button:active:hover:focus { - background-image: -gtk-win32-theme-part(header, 1 3); + background-image: -gtk-win32-theme-part(header, 1, 3); } /* Switch */ @@ -939,21 +939,21 @@ column-header button:active:hover:focus { switch { font: bold condensed 10; color: @text_color; - background-image: -gtk-win32-theme-part(button, 1 1); + background-image: -gtk-win32-theme-part(button, 1, 1); } switch:disabled { - background-image: -gtk-win32-theme-part(button, 1 4); + background-image: -gtk-win32-theme-part(button, 1, 4); } switch:active { - background-image: -gtk-win32-theme-part(button, 1 2); + background-image: -gtk-win32-theme-part(button, 1, 2); } switch slider { padding: 4px; background-color: transparent; - background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (8 1)); + background-image: -gtk-win32-theme-part(scrollbar, 2, 1, over (8, 1)); border-width: 0; } @@ -1018,7 +1018,7 @@ separator:hover { statusbar > frame { border-width: 1px 1px 1px 1px; border-style: solid; - border-image: -gtk-win32-theme-part(status, 0 0, margins (-1 0 0 0)) 2 1 1 1 stretch; + border-image: -gtk-win32-theme-part(status, 0, 0, margins (-1 0 0 0)) 2 1 1 1 stretch; background-image: none; } @@ -1096,25 +1096,25 @@ list { modelbutton:focus, modelbutton { background-color: transparent; - background-image: -gtk-win32-theme-part(menu, 14 1); + background-image: -gtk-win32-theme-part(menu, 14, 1); } modelbutton:active, modelbutton:active:focus { background-color: transparent; - background-image: -gtk-win32-theme-part(menu, 14 1); + background-image: -gtk-win32-theme-part(menu, 14, 1); } modelbutton:active:hover:focus, modelbutton:hover:focus, modelbutton:hover { - background-image: -gtk-win32-theme-part(menu, 14 2); + background-image: -gtk-win32-theme-part(menu, 14, 2); } modelbutton:active:hover:disabled:focus, modelbutton:hover:disabled:focus, modelbutton:hover:disabled { - background-image: -gtk-win32-theme-part(menu, 14 4); + background-image: -gtk-win32-theme-part(menu, 14, 4); } @@ -1130,7 +1130,7 @@ modelbutton radio:disabled { modelbutton radio:active:focus, modelbutton radio:active, modelbutton radio:active:hover { - background-image: -gtk-win32-theme-part(menu, 12 2, over (11 3)); + background-image: -gtk-win32-theme-part(menu, 12, 2, over (11, 3)); border-width: 0; } @@ -1147,7 +1147,7 @@ modelbutton radio:indeterminate:active:hover { modelbutton radio:disabled:active:focus, modelbutton radio:disabled:active, modelbutton radio:disabled:active:hover { - background-image: -gtk-win32-theme-part(menu, 12 1, over (11 4)); + background-image: -gtk-win32-theme-part(menu, 12, 1, over (11, 4)); border-width: 0; } @@ -1166,7 +1166,7 @@ modelbutton check:active:focus, modelbutton check:active, modelbutton check:active:hover:focus, modelbutton check:active:hover { - background-image: -gtk-win32-theme-part(menu, 12 2, over (11 1)); + background-image: -gtk-win32-theme-part(menu, 12, 2, over (11, 1)); border-width: 0; } @@ -1188,7 +1188,7 @@ modelbutton check:disabled:active:focus, modelbutton check:disabled:active, modelbutton check:disabled:active:hover:focus, modelbutton check:disabled:active:hover { - background-image: -gtk-win32-theme-part(menu, 12 1, over (11 2)); + background-image: -gtk-win32-theme-part(menu, 12, 1, over (11, 2)); border-width: 0; } diff --git a/gtk/theme/win32/gtk.css b/gtk/theme/win32/gtk.css index 7f8098abd6..60ca6324eb 100644 --- a/gtk/theme/win32/gtk.css +++ b/gtk/theme/win32/gtk.css @@ -5,25 +5,25 @@ menubar { background-color: transparent; border-width: 0; - background-image: -gtk-win32-theme-part(menu, 7 1); + background-image: -gtk-win32-theme-part(menu, 7, 1); } menubar > menuitem { background-color: transparent; border-width: 0; - background-image: -gtk-win32-theme-part(menu, 8 1); + background-image: -gtk-win32-theme-part(menu, 8, 1); } menubar > menuitem:hover { - background-image: -gtk-win32-theme-part(menu, 8 3); + background-image: -gtk-win32-theme-part(menu, 8, 3); } menuitem:hover { - background-image: -gtk-win32-theme-part(menu, 14 2); + background-image: -gtk-win32-theme-part(menu, 14, 2); } menuitem:hover:disabled { - background-image: -gtk-win32-theme-part(menu, 14 4); + background-image: -gtk-win32-theme-part(menu, 14, 4); } menuitem radio, @@ -36,7 +36,7 @@ menuitem radio:disabled { menuitem radio:active, menuitem radio:active:hover { - background-image: -gtk-win32-theme-part(menu, 11 3); + background-image: -gtk-win32-theme-part(menu, 11, 3); border-width: 0; } @@ -51,7 +51,7 @@ menuitem radio:indeterminate:active:hover { menuitem radio:disabled:active, menuitem radio:disabled:active:hover { - background-image: -gtk-win32-theme-part(menu, 11 4); + background-image: -gtk-win32-theme-part(menu, 11, 4); border-width: 0; } @@ -64,7 +64,7 @@ menuitem check:disabled { menuitem check:active, menuitem check:active:hover { - background-image: -gtk-win32-theme-part(menu, 11 1); + background-image: -gtk-win32-theme-part(menu, 11, 1); border-width: 0; } @@ -79,7 +79,7 @@ menuitem check:indeterminate:active:hover { menuitem check:disabled:active, menuitem check:disabled:active:hover{ - background-image: -gtk-win32-theme-part(menu, 11 2); + background-image: -gtk-win32-theme-part(menu, 11, 2); border-width: 0; } @@ -94,10 +94,10 @@ notebook { background-clip: border-box; /* W32 theme draws it with borders and all, cut them away */ - background-image: -gtk-win32-theme-part(tab, 9 1, margins(-1 -3 -2 -1)); + background-image: -gtk-win32-theme-part(tab, 9, 1, margins(-1 -3 -2 -1)); /* Grab the borders now and duplicate them across the perimeter */ - border-image: -gtk-win32-theme-part(tab, 9 1, margins(0 -2 -1 0)) 1 1 1 1 repeat; + border-image: -gtk-win32-theme-part(tab, 9, 1, margins(0 -2 -1 0)) 1 1 1 1 repeat; /* MSW7 themes draw tab overlaps differently. Net result is: * inactive tab text never moves no matter which tabs get to be active * active tab text moves only up @@ -322,7 +322,7 @@ notebook tab.left:active { /* We're cheating here, using part 6 (listview header group), because part 1 (listview item) is empty for some reason */ row:hover { - background-image: -gtk-win32-theme-part(listview, 6 10); + background-image: -gtk-win32-theme-part(listview, 6, 10); } row:selected { @@ -330,13 +330,13 @@ row:selected { /* Override *:selected {} blanket style, keeping the background - bright and the text - dark */ color: @text_color; - background-image: -gtk-win32-theme-part(listview, 6 13); + background-image: -gtk-win32-theme-part(listview, 6, 13); } row:selected:focus { - background-image: -gtk-win32-theme-part(listview, 6 11); + background-image: -gtk-win32-theme-part(listview, 6, 11); } row:selected:hover { - background-image: -gtk-win32-theme-part(listview, 6 12); + background-image: -gtk-win32-theme-part(listview, 6, 12); }