diff --git a/gtk-3.0/scss/widgets/_button.scss b/gtk-3.0/scss/widgets/_button.scss index 1b353b4..9310af9 100755 --- a/gtk-3.0/scss/widgets/_button.scss +++ b/gtk-3.0/scss/widgets/_button.scss @@ -15,6 +15,18 @@ -GtkWidget-focus-line-width: 0; } + %linked_middle { + border-radius: 0; + border-left-style: none; + border-right-style: solid; + + &:dir(rtl) { + border-radius: 0; // needed when including %linked_middle:dir(rtl) + border-right-style: none; + border-left-style: solid + } + } + %linked_button { border-width: 1px; border-style: solid; @@ -266,3 +278,48 @@ } } } + + +/****************** +! ComboBoxes * +*******************/ + +@include exports("combobox") { + GtkComboBox { + > .button { + padding: ($spacing - 2px) ($spacing + 1px); + + -GtkComboBox-arrow-scaling: 0.5; + -GtkComboBox-shadow-type: none; + } + + &.combobox-entry { + .entry, .button { @extend %linked_button; } + } + + .separator { + /* always disable separators */ + -GtkWidget-wide-separators: true; + -GtkWidget-horizontal-separator: 0; + -GtkWidget-vertical-separator: 0; + + border-style: none; + } + } + + .linked > GtkComboBox { + > .button { + // the combo is a composite widget so the way we do button linked doesn't + // work, special case needed. See + // https://bugzilla.gnome.org/show_bug.cgi?id=733979 + &:dir(ltr) { @extend %linked_middle; } // specificity bump + &:dir(rtl) { @extend %linked_middle:dir(rtl); } + } + + &:first-child > .button { @extend %linked_button:first-child; } + + &:last-child > .button { @extend %linked_button:last-child; } + + &:only-child > .button { @extend %linked_button:only-child; } + } +} diff --git a/gtk-3.0/scss/widgets/_entry.scss b/gtk-3.0/scss/widgets/_entry.scss index b3c4264..0015dee 100755 --- a/gtk-3.0/scss/widgets/_entry.scss +++ b/gtk-3.0/scss/widgets/_entry.scss @@ -76,40 +76,3 @@ &.linked, .linked & { @extend %linked_entry; } } } - - -/****************** - ! Combobox entry * -*******************/ - -@include exports("combobox") { - GtkComboBox { - &.combobox-entry { - .entry { - &, &:hover, &:focus, &:active, &:insensitive { - border-width: 1px 0 1px 1px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - } - - .button { - &, &:hover, &:focus, &:active, &:insensitive { - border-width: 1px 1px 1px 1px; - border-bottom-left-radius: 0; - border-top-left-radius: 0; - } - } - } - - .separator { - /* always disable separators */ - -GtkWidget-wide-separators: true; - -GtkWidget-horizontal-separator: 0; - -GtkWidget-vertical-separator: 0; - - border-style: none; - } - } -} -