GTK 3.20 :: Optimized spinbutton (#454)
* * Optimized spinbutton. * * Removed top and left border not used code. * * Fixed: Missing name of pseudo-class.pull/456/head
parent
6d6ef98d25
commit
372d5efb9f
|
@ -93,12 +93,3 @@ $modules: () !default;
|
||||||
@return transparentize(black, $_lbg * .8);
|
@return transparentize(black, $_lbg * .8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// entries
|
|
||||||
@function entry_focus_border($fc:$selected_bg_color) {
|
|
||||||
@if $variant == 'light' {
|
|
||||||
@return $fc;
|
|
||||||
} @else {
|
|
||||||
@return if($fc == $selected_bg_color, $selected_borders_color, shade($fc, .65));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -379,21 +379,60 @@
|
||||||
|
|
||||||
&:active, &:checked, &:hover { color: $text_color; }
|
&:active, &:checked, &:hover { color: $text_color; }
|
||||||
|
|
||||||
&:disabled { color: mix($text_color, $base_color, .7); }
|
&:disabled { color: alpha($insensitive_fg_color, .8); }
|
||||||
|
|
||||||
|
&:backdrop { color: mix($backdrop_base_color, $backdrop_fg_color, .9); }
|
||||||
|
|
||||||
|
&:backdrop:disabled { color: alpha($backdrop_insensitive_color, .8); }
|
||||||
}
|
}
|
||||||
|
|
||||||
&:not(.vertical) {
|
&:not(.vertical) {
|
||||||
|
@extend %entry;
|
||||||
|
@include linear-gradient($base_color, to top);
|
||||||
|
@include border($base_color);
|
||||||
|
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
color: $text_color;
|
||||||
|
caret-color: $text_color;
|
||||||
|
|
||||||
|
&:focus, &:active { border-color: border_focus($borders_color); }
|
||||||
|
|
||||||
|
&:disabled {
|
||||||
|
@include linear-gradient(shade($base_color, .9), to top);
|
||||||
|
|
||||||
|
color: mix($base_color, $text_color, .5);
|
||||||
|
}
|
||||||
|
|
||||||
entry {
|
entry {
|
||||||
// reset all the other props since the spinbutton node is styled here
|
// reset all the other props since the spinbutton node is styled here
|
||||||
|
border: 0;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
@extend %linked_middle;
|
border-radius: 0;
|
||||||
|
border-color: alpha($borders_color, .8);
|
||||||
|
border-style: none none none solid;
|
||||||
|
background-image: none;
|
||||||
|
box-shadow: none;
|
||||||
|
|
||||||
&:first-child { border-radius: $roundness 0 0 $roundness; }
|
&:dir(rtl) { border-style: none solid none none; }
|
||||||
|
|
||||||
&:last-child { border-radius: 0 $roundness $roundness 0; }
|
&:active { box-shadow: inset 0 2px 3px -1px transparentize($black, .8); }
|
||||||
|
|
||||||
|
&:backdrop { border-color: alpha($backdrop_borders_color, .8); }
|
||||||
|
|
||||||
|
&:backdrop:disabled {
|
||||||
|
border-style: none none none solid; // It is needed or it gets overridden
|
||||||
|
|
||||||
|
&:dir(rtl) { border-style: none solid none none; }
|
||||||
|
}
|
||||||
|
|
||||||
|
&:dir(rtl):first-child { border-radius: $roundness 0 0 $roundness; }
|
||||||
|
|
||||||
|
&:dir(ltr):last-child { border-radius: 0 $roundness $roundness 0; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -404,20 +443,14 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
@extend %linked_vertical_entry;
|
&.up {
|
||||||
|
border-style: solid solid none solid;
|
||||||
&:first-child {
|
border-radius: $roundness $roundness 0 0;
|
||||||
border-width: 1px;
|
|
||||||
border-bottom-width: 0;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
&.down {
|
||||||
border-width: 1px;
|
border-style: none solid solid solid;
|
||||||
border-top-width: 0;
|
border-radius: 0 0 $roundness $roundness;
|
||||||
border-top-left-radius: 0;
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,7 +87,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
%entry {
|
%entry {
|
||||||
padding: $spacing;
|
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-radius: $roundness;
|
border-radius: $roundness;
|
||||||
|
@ -124,6 +123,8 @@
|
||||||
@include linear-gradient($bg, to top);
|
@include linear-gradient($bg, to top);
|
||||||
@include border($bg);
|
@include border($bg);
|
||||||
|
|
||||||
|
padding: $spacing;
|
||||||
|
|
||||||
color: $fg;
|
color: $fg;
|
||||||
caret-color: $fg;
|
caret-color: $fg;
|
||||||
|
|
||||||
|
@ -141,47 +142,7 @@
|
||||||
@include entry($base_color, $text_color);
|
@include entry($base_color, $text_color);
|
||||||
|
|
||||||
.linked:not(.vertical) > & { @extend %linked_entry; }
|
.linked:not(.vertical) > & { @extend %linked_entry; }
|
||||||
.linked:not(.vertical) > &:focus + &,
|
|
||||||
.linked:not(.vertical) > &:focus + button,
|
|
||||||
.linked:not(.vertical) > &:focus + combobox > box > button.combo { border-left-color: entry_focus_border(); }
|
|
||||||
|
|
||||||
.linked:not(.vertical) > &:drop(active) + &,
|
.linked.vertical > & { @extend %linked_vertical_entry; }
|
||||||
.linked:not(.vertical) > &:drop(active) + button,
|
|
||||||
.linked:not(.vertical) > &:drop(active) + combobox > box > button.combo { border-left-color: $drop_target_color; }
|
|
||||||
|
|
||||||
|
|
||||||
.linked.vertical > & {
|
|
||||||
@extend %linked_vertical_entry;
|
|
||||||
|
|
||||||
// brighter border between linked entries
|
|
||||||
&:not(:disabled) + entry:not(:disabled) {
|
|
||||||
border-top-color: mix($borders_color, $base_color, .3);
|
|
||||||
|
|
||||||
&:backdrop { border-top-color: mix($backdrop_borders_color, $backdrop_base_color, .3); }
|
|
||||||
}
|
|
||||||
|
|
||||||
// brighter border between linked insensitive entries
|
|
||||||
&:disabled + entry:disabled { border-top-color: mix($borders_color, $base_color, .3); }
|
|
||||||
|
|
||||||
// color back the top border of a linked focused entry following another entry.
|
|
||||||
// :not(:only-child) is a specificity bump hack.
|
|
||||||
+ entry:focus:not(:only-child) { border-top-color: entry_focus_border(); }
|
|
||||||
|
|
||||||
+ entry:drop(active):not(:only-child) { border-top-color: $drop_target_color; }
|
|
||||||
|
|
||||||
// this takes care of coloring the top border of the focused entry subsequent widget.
|
|
||||||
// :not(:only-child) is a specificity bump hack.
|
|
||||||
&:focus:not(:only-child) {
|
|
||||||
+ entry,
|
|
||||||
+ button,
|
|
||||||
+ combobox > box > button.combo { border-top-color: entry_focus_border(); }
|
|
||||||
}
|
|
||||||
|
|
||||||
&:drop(active):not(:only-child) {
|
|
||||||
+ entry,
|
|
||||||
+ button,
|
|
||||||
+ combobox > box > button.combo { border-top-color: $drop_target_color; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue