[gtk] themes: Fix swapped borders on RTL PathBar buttons



commit b92e6881413609f5e315f234df70789b60c11ad1
Author: Daniel Boles <dboles src gmail com>
Date:   Sun Apr 22 21:45:18 2018 +0100

    themes: Fix swapped borders on RTL PathBar buttons
    
    .linked assumes the container is a GtkBox, which is documented as never
    flipping children in RTL, so :first-child is always the left child, etc.
    GtkBox does that by reordering its CSS nodes when the direction changes.
    
    But most widgets don’t do that, so :first|last-child are 1st/last ADDED
    and swap sides in RTL. GtkPathBar is so, and ignoring that in our themes
    meant that in RTL, its left/right buttons got each other’s borders. Yuk!
    
    This patch adds the groundwork for supporting widgets like that, via the
    %linked_flippable placeholder, and applies that to override buttons in
      filechooser .path-bar.linked > button
    so that the correct borders get applied to those buttons when using RTL.
    
    Note that I select only PathBars within a FileChooser because we also
    have NautilusPathBar, which also uses widget.path-bar – but *does* flip
    its nodes for RTL already, so letting that get affected broke it again!
    
    https://bugzilla.gnome.org/show_bug.cgi?id=772817

 gtk/theme/Adwaita/_common.scss                   | 50 +++++++++++++++++++++---
 gtk/theme/Adwaita/gtk-contained-dark.css         |  8 ++--
 gtk/theme/Adwaita/gtk-contained.css              |  8 ++--
 gtk/theme/HighContrast/_common.scss              | 48 ++++++++++++++++++++---
 gtk/theme/HighContrast/gtk-contained-inverse.css |  8 ++--
 gtk/theme/HighContrast/gtk-contained.css         |  8 ++--
 6 files changed, 106 insertions(+), 24 deletions(-)
---
diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss
index 8b3e950532..1e9b4bda35 100644
--- a/gtk/theme/Adwaita/_common.scss
+++ b/gtk/theme/Adwaita/_common.scss
@@ -933,18 +933,47 @@ toolbar.inline-toolbar toolbutton:backdrop {
   border-right-style: none;
 }
 
-%linked {
-  @extend %linked_middle;
-
-  &:first-child {
+%linked_left {
     border-top-left-radius: 3px;
     border-bottom-left-radius: 3px;
-  }
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
+    border-right-style: none;
+}
 
-  &:last-child {
+%linked_right {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0;
     border-top-right-radius: 3px;
     border-bottom-right-radius: 3px;
     border-right-style: solid;
+}
+
+// .linked assumes Box, which reverses nodes in RTL, so 1st child is always left
+%linked {
+  @extend %linked_middle;
+
+  &:first-child { @extend %linked_left; }
+  &:last-child { @extend %linked_right; }
+
+  &:only-child {
+    border-radius: 3px;
+    border-style: solid;
+  }
+}
+
+// Other widgets let CSS give the order, so 1st/last child are at text start/end
+%linked_flippable {
+  @extend %linked_middle;
+
+  &:dir(ltr) {
+    &:first-child { @extend %linked_left; }
+    &:last-child { @extend %linked_right; }
+  }
+
+  &:dir(rtl) {
+    &:first-child { @extend %linked_right; }
+    &:last-child { @extend %linked_left; }
   }
 
   &:only-child {
@@ -1683,6 +1712,14 @@ headerbar { // headerbar border rounding
 /************
  * Pathbars *
  ************/
+
+// GtkPathBar does not work with just .linked, so we must override that. But we
+// can’t simply remove .linked from the widget as that might break other themes.
+// Note also we select on filechooser to avoid interfering with NautilusPathBar.
+filechooser .path-bar.linked > button {
+  @extend %linked_flippable;
+}
+
 .path-bar button {
   &.text-button, &.image-button, & {
     padding-left: 4px;
@@ -1710,6 +1747,7 @@ headerbar { // headerbar border rounding
   }
 }
 
+
 /**************
  * Tree Views *
  **************/
diff --git a/gtk/theme/Adwaita/gtk-contained-dark.css b/gtk/theme/Adwaita/gtk-contained-dark.css
index ba37a6b076..a17fab74a2 100644
--- a/gtk/theme/Adwaita/gtk-contained-dark.css
+++ b/gtk/theme/Adwaita/gtk-contained-dark.css
@@ -430,14 +430,16 @@ button.circular:hover:not(:checked):not(:active):not(:disabled):not(:backdrop) {
 
 .inline-toolbar toolbutton > button:backdrop:disabled:active label, .inline-toolbar toolbutton > 
button:backdrop:disabled:checked label { color: #566164; }
 
-toolbar.inline-toolbar toolbutton > button.flat, toolbar.inline-toolbar toolbutton:backdrop > button.flat, 
.linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, 
.inline-toolbar button:backdrop, .linked > button, .linked > button:hover, .linked > button:active, .linked > 
button:checked, .linked > button:backdrop, .linked > combobox > box > button.combo:dir(ltr), .linked > 
combobox > box > button.combo:dir(rtl) { border-radius: 0; border-right-style: none; }
+toolbar.inline-toolbar toolbutton > button.flat, toolbar.inline-toolbar toolbutton:backdrop > button.flat, 
.linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, 
.inline-toolbar button:backdrop, .linked > button, .linked > button:hover, .linked > button:active, .linked > 
button:checked, .linked > button:backdrop, filechooser .path-bar.linked > button, .linked > combobox > box > 
button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { border-radius: 0; 
border-right-style: none; }
 
-.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, 
.inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar 
toolbutton:first-child > button.flat, toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, 
combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > 
button.combo { border-top-left-radius: 3px; border-bottom-left-radius: 3px; }
+.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, 
.inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar 
toolbutton:first-child > button.flat, toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, 
combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > 
button.combo, filechooser .path-bar.linked > button:dir(ltr):first-child, filechooser .path-bar.linked > 
button:dir(rtl):last-child { border-top-left-radius: 3px; border-bottom-left-radius: 3px; 
border-top-right-radius: 0; border-bottom-right-radius: 0; border-right-style: none; }
 
-.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, 
.inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child 
button.flat, toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked 
button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo { 
border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-right-style: solid; }
+.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, 
.inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child 
button.flat, toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked 
button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo, filechooser 
.path-bar.linked > button:dir(ltr):last-child, filechooser .path-bar.linked > button:dir(rtl):first-child { 
border-top-left-radius: 0; border-bottom-left-radius: 0; border-top-right-radius: 3px; 
border-bottom-right-radius: 3px; border-right-style: solid; }
 
 .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, 
.inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child 
button.flat, toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat, .linked:not(.vertical) > 
combobox:only-child > box > button.combo { border-radius: 3px; border-style: solid; }
 
+filechooser .path-bar.linked > button:only-child { border-radius: 3px; border-style: solid; }
+
 .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button, 
.linked.vertical > button:hover, .linked.vertical > button:active, .linked.vertical > button:checked, 
.linked.vertical > button:backdrop, .linked.vertical > combobox > box > button.combo { border-style: solid 
solid none solid; border-radius: 0; }
 
 .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, 
.linked.vertical > button:first-child, .linked.vertical > combobox:first-child > box > button.combo { 
border-top-left-radius: 3px; border-top-right-radius: 3px; }
diff --git a/gtk/theme/Adwaita/gtk-contained.css b/gtk/theme/Adwaita/gtk-contained.css
index 9ad4405184..ea4c1c0012 100644
--- a/gtk/theme/Adwaita/gtk-contained.css
+++ b/gtk/theme/Adwaita/gtk-contained.css
@@ -432,14 +432,16 @@ button.circular:hover:not(:checked):not(:active):not(:disabled):not(:backdrop) {
 
 .inline-toolbar toolbutton > button:backdrop:disabled:active label, .inline-toolbar toolbutton > 
button:backdrop:disabled:checked label { color: #c3c3c0; }
 
-toolbar.inline-toolbar toolbutton > button.flat, toolbar.inline-toolbar toolbutton:backdrop > button.flat, 
.linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, 
.inline-toolbar button:backdrop, .linked > button, .linked > button:hover, .linked > button:active, .linked > 
button:checked, .linked > button:backdrop, .linked > combobox > box > button.combo:dir(ltr), .linked > 
combobox > box > button.combo:dir(rtl) { border-radius: 0; border-right-style: none; }
+toolbar.inline-toolbar toolbutton > button.flat, toolbar.inline-toolbar toolbutton:backdrop > button.flat, 
.linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, 
.inline-toolbar button:backdrop, .linked > button, .linked > button:hover, .linked > button:active, .linked > 
button:checked, .linked > button:backdrop, filechooser .path-bar.linked > button, .linked > combobox > box > 
button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { border-radius: 0; 
border-right-style: none; }
 
-.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, 
.inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar 
toolbutton:first-child > button.flat, toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, 
combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > 
button.combo { border-top-left-radius: 3px; border-bottom-left-radius: 3px; }
+.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, 
.inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar 
toolbutton:first-child > button.flat, toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, 
combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > 
button.combo, filechooser .path-bar.linked > button:dir(ltr):first-child, filechooser .path-bar.linked > 
button:dir(rtl):last-child { border-top-left-radius: 3px; border-bottom-left-radius: 3px; 
border-top-right-radius: 0; border-bottom-right-radius: 0; border-right-style: none; }
 
-.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, 
.inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child 
button.flat, toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked 
button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo { 
border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-right-style: solid; }
+.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, 
.inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child 
button.flat, toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked 
button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo, filechooser 
.path-bar.linked > button:dir(ltr):last-child, filechooser .path-bar.linked > button:dir(rtl):first-child { 
border-top-left-radius: 0; border-bottom-left-radius: 0; border-top-right-radius: 3px; 
border-bottom-right-radius: 3px; border-right-style: solid; }
 
 .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, 
.inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child 
button.flat, toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat, .linked:not(.vertical) > 
combobox:only-child > box > button.combo { border-radius: 3px; border-style: solid; }
 
+filechooser .path-bar.linked > button:only-child { border-radius: 3px; border-style: solid; }
+
 .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button, 
.linked.vertical > button:hover, .linked.vertical > button:active, .linked.vertical > button:checked, 
.linked.vertical > button:backdrop, .linked.vertical > combobox > box > button.combo { border-style: solid 
solid none solid; border-radius: 0; }
 
 .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, 
.linked.vertical > button:first-child, .linked.vertical > combobox:first-child > box > button.combo { 
border-top-left-radius: 3px; border-top-right-radius: 3px; }
diff --git a/gtk/theme/HighContrast/_common.scss b/gtk/theme/HighContrast/_common.scss
index b387cf7efc..0ee510500f 100644
--- a/gtk/theme/HighContrast/_common.scss
+++ b/gtk/theme/HighContrast/_common.scss
@@ -741,18 +741,47 @@ toolbar.inline-toolbar toolbutton:backdrop {
   border-right-style: none;
 }
 
-%linked {
-  @extend %linked_middle;
-
-  &:first-child {
+%linked_left {
     border-top-left-radius: 3px;
     border-bottom-left-radius: 3px;
-  }
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
+    border-right-style: none;
+}
 
-  &:last-child {
+%linked_right {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0;
     border-top-right-radius: 3px;
     border-bottom-right-radius: 3px;
     border-right-style: solid;
+}
+
+// .linked assumes Box, which reverses nodes in RTL, so 1st child is always left
+%linked {
+  @extend %linked_middle;
+
+  &:first-child { @extend %linked_left; }
+  &:last-child { @extend %linked_right; }
+
+  &:only-child {
+    border-radius: 3px;
+    border-style: solid;
+  }
+}
+
+// Other widgets let CSS give the order, so 1st/last child are at text start/end
+%linked_flippable {
+  @extend %linked_middle;
+
+  &:dir(ltr) {
+    &:first-child { @extend %linked_left; }
+    &:last-child { @extend %linked_right; }
+  }
+
+  &:dir(rtl) {
+    &:first-child { @extend %linked_right; }
+    &:last-child { @extend %linked_left; }
   }
 
   &:only-child {
@@ -1286,6 +1315,13 @@ headerbar {
  * Pathbars *
  ************/
 
+// GtkPathBar does not work with just .linked, so we must override that. But we
+// can’t simply remove .linked from the widget as that might break other themes.
+// Note also we select on filechooser to avoid interfering with NautilusPathBar.
+filechooser .path-bar.linked > button {
+  @extend %linked_flippable;
+}
+
 .path-bar button {
   padding: 5px 6px 6px;
   &:first-child { padding-left: 8px; }
diff --git a/gtk/theme/HighContrast/gtk-contained-inverse.css 
b/gtk/theme/HighContrast/gtk-contained-inverse.css
index 6898c7808c..fb18a18f79 100644
--- a/gtk/theme/HighContrast/gtk-contained-inverse.css
+++ b/gtk/theme/HighContrast/gtk-contained-inverse.css
@@ -338,14 +338,16 @@ button.destructive-action:disabled:active, button.destructive-action:disabled:ch
 
 .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > 
button:backdrop:disabled:checked { border-width: 2px; border-style: solid; color: gray; border-color: 
#494949; background-image: none; background-color: #090909; }
 
-toolbar.inline-toolbar toolbutton > button.flat, searchbar.inline-toolbar toolbutton > button.flat, 
toolbar.inline-toolbar toolbutton:backdrop > button.flat, searchbar.inline-toolbar toolbutton:backdrop > 
button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, 
.inline-toolbar button, .inline-toolbar button:backdrop, .linked > button, .linked > button:hover, .linked > 
button:active, .linked > button:checked, .linked > button:backdrop, .linked > combobox > box > 
button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { border-radius: 0; 
border-right-style: none; }
+toolbar.inline-toolbar toolbutton > button.flat, searchbar.inline-toolbar toolbutton > button.flat, 
toolbar.inline-toolbar toolbutton:backdrop > button.flat, searchbar.inline-toolbar toolbutton:backdrop > 
button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, 
.inline-toolbar button, .inline-toolbar button:backdrop, .linked > button, .linked > button:hover, .linked > 
button:active, .linked > button:checked, .linked > button:backdrop, filechooser .path-bar.linked > button, 
.linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { 
border-radius: 0; border-right-style: none; }
 
-.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, 
.inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar 
toolbutton:first-child > button.flat, searchbar.inline-toolbar toolbutton:first-child > button.flat, 
toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, searchbar.inline-toolbar 
toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), 
.linked:not(.vertical) > combobox:first-child > box > button.combo { border-top-left-radius: 3px; 
border-bottom-left-radius: 3px; }
+.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, 
.inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar 
toolbutton:first-child > button.flat, searchbar.inline-toolbar toolbutton:first-child > button.flat, 
toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, searchbar.inline-toolbar 
toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), 
.linked:not(.vertical) > combobox:first-child > box > button.combo, filechooser .path-bar.linked > 
button:dir(ltr):first-child, filechooser .path-bar.linked > button:dir(rtl):last-child { 
border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-right-radius: 0; 
border-bottom-right-radius: 0; border-right-style: none; }
 
-.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, 
.inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child 
button.flat, searchbar.inline-toolbar toolbutton:last-child > button.flat, toolbar.inline-toolbar 
toolbutton:backdrop:last-child > button.flat, searchbar.inline-toolbar toolbutton:backdrop:last-child > 
button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box 
button.combo { border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-right-style: solid; }
+.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, 
.inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child 
button.flat, searchbar.inline-toolbar toolbutton:last-child > button.flat, toolbar.inline-toolbar 
toolbutton:backdrop:last-child > button.flat, searchbar.inline-toolbar toolbutton:backdrop:last-child > 
button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box 
button.combo, filechooser .path-bar.linked > button:dir(ltr):last-child, filechooser .path-bar.linked > 
button:dir(rtl):first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; 
border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-right-style: solid; }
 
 .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, 
.inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child 
button.flat, searchbar.inline-toolbar toolbutton:only-child > button.flat, toolbar.inline-toolbar 
toolbutton:backdrop:only-child > button.flat, searchbar.inline-toolbar toolbutton:backdrop:only-child > 
button.flat, .linked:not(.vertical) > combobox:only-child > box > button.combo { border-radius: 3px; 
border-style: solid; }
 
+filechooser .path-bar.linked > button:only-child { border-radius: 3px; border-style: solid; }
+
 .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button, 
.linked.vertical > button:hover, .linked.vertical > button:active, .linked.vertical > button:checked, 
.linked.vertical > button:backdrop, .linked.vertical > combobox > box > button.combo { border-style: solid 
solid none solid; border-radius: 0; }
 
 .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, 
.linked.vertical > button:first-child, .linked.vertical > combobox:first-child > box > button.combo { 
border-top-left-radius: 3px; border-top-right-radius: 3px; }
diff --git a/gtk/theme/HighContrast/gtk-contained.css b/gtk/theme/HighContrast/gtk-contained.css
index 8be850708f..7d5febbd86 100644
--- a/gtk/theme/HighContrast/gtk-contained.css
+++ b/gtk/theme/HighContrast/gtk-contained.css
@@ -340,14 +340,16 @@ button.destructive-action:disabled:active, button.destructive-action:disabled:ch
 
 .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > 
button:backdrop:disabled:checked { border-width: 2px; border-style: solid; color: gray; border-color: silver; 
background-image: none; background-color: #f6f6f6; }
 
-toolbar.inline-toolbar toolbutton > button.flat, searchbar.inline-toolbar toolbutton > button.flat, 
toolbar.inline-toolbar toolbutton:backdrop > button.flat, searchbar.inline-toolbar toolbutton:backdrop > 
button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, 
.inline-toolbar button, .inline-toolbar button:backdrop, .linked > button, .linked > button:hover, .linked > 
button:active, .linked > button:checked, .linked > button:backdrop, .linked > combobox > box > 
button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { border-radius: 0; 
border-right-style: none; }
+toolbar.inline-toolbar toolbutton > button.flat, searchbar.inline-toolbar toolbutton > button.flat, 
toolbar.inline-toolbar toolbutton:backdrop > button.flat, searchbar.inline-toolbar toolbutton:backdrop > 
button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, 
.inline-toolbar button, .inline-toolbar button:backdrop, .linked > button, .linked > button:hover, .linked > 
button:active, .linked > button:checked, .linked > button:backdrop, filechooser .path-bar.linked > button, 
.linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { 
border-radius: 0; border-right-style: none; }
 
-.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, 
.inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar 
toolbutton:first-child > button.flat, searchbar.inline-toolbar toolbutton:first-child > button.flat, 
toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, searchbar.inline-toolbar 
toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), 
.linked:not(.vertical) > combobox:first-child > box > button.combo { border-top-left-radius: 3px; 
border-bottom-left-radius: 3px; }
+.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, 
.inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar 
toolbutton:first-child > button.flat, searchbar.inline-toolbar toolbutton:first-child > button.flat, 
toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, searchbar.inline-toolbar 
toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), 
.linked:not(.vertical) > combobox:first-child > box > button.combo, filechooser .path-bar.linked > 
button:dir(ltr):first-child, filechooser .path-bar.linked > button:dir(rtl):last-child { 
border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-right-radius: 0; 
border-bottom-right-radius: 0; border-right-style: none; }
 
-.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, 
.inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child 
button.flat, searchbar.inline-toolbar toolbutton:last-child > button.flat, toolbar.inline-toolbar 
toolbutton:backdrop:last-child > button.flat, searchbar.inline-toolbar toolbutton:backdrop:last-child > 
button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box 
button.combo { border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-right-style: solid; }
+.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, 
.inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child 
button.flat, searchbar.inline-toolbar toolbutton:last-child > button.flat, toolbar.inline-toolbar 
toolbutton:backdrop:last-child > button.flat, searchbar.inline-toolbar toolbutton:backdrop:last-child > 
button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box 
button.combo, filechooser .path-bar.linked > button:dir(ltr):last-child, filechooser .path-bar.linked > 
button:dir(rtl):first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; 
border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-right-style: solid; }
 
 .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, 
.inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child 
button.flat, searchbar.inline-toolbar toolbutton:only-child > button.flat, toolbar.inline-toolbar 
toolbutton:backdrop:only-child > button.flat, searchbar.inline-toolbar toolbutton:backdrop:only-child > 
button.flat, .linked:not(.vertical) > combobox:only-child > box > button.combo { border-radius: 3px; 
border-style: solid; }
 
+filechooser .path-bar.linked > button:only-child { border-radius: 3px; border-style: solid; }
+
 .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button, 
.linked.vertical > button:hover, .linked.vertical > button:active, .linked.vertical > button:checked, 
.linked.vertical > button:backdrop, .linked.vertical > combobox > box > button.combo { border-style: solid 
solid none solid; border-radius: 0; }
 
 .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, 
.linked.vertical > button:first-child, .linked.vertical > combobox:first-child > box > button.combo { 
border-top-left-radius: 3px; border-top-right-radius: 3px; }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]