// The Less compiler has trouble compiling Qt selectors when they have been
// extended to, so extend Qt selectors to mixins as workaround for now
/* -----------------------------------------------------------------------------
Push Button
----------------------------------------------------------------------------- */
.Button {
background-color: @button-bg-color;
border: 1 solid @button-border-color;
border-radius: 2;
color: @button-text-color;
margin: 0;
padding: 3 15;
&:hover {
background-color: @button-bg-color-hover;
border-color: @button-border-color-hover;
color: @button-text-color-hover;
}
&:pressed {
background-color: @button-bg-color-pressed;
border-color: @button-border-color-pressed;
color: @button-text-color-pressed;
}
&:checked {
background-color: @button-bg-color-checked;
border-color: @button-border-color-checked;
color: @button-text-color-checked;
&:hover {
background-color: @button-bg-color-checked-hover;
&:pressed {
background: @button-bg-color-checked-hover-pressed;
}
}
}
&:disabled {
background-color: @button-bg-color-disabled;
border-color: @button-border-color-disabled;
color: @button-text-color-disabled;
}
}
QPushButton {
&:extend(.Button all);
}
#PushButton_NoPadding {
padding: 3;
}
/* -----------------------------------------------------------------------------
Combo Box
----------------------------------------------------------------------------- */
.ComboBox {
&:extend(.Button);
padding: 1 0 1 4;
margin: 1 0;
&:editable { /* for editable ComboBox */
color: @input-text-color;
background-color: @input-bg-color;
border-color: @input-border-color;
padding: 1 0 1 3;
}
&:hover {
background-color: @button-bg-color-hover;
&:editable {
background-color: @input-bg-color;
}
}
&:focus {
border-color: @input-border-color-focus;
}
&:checked {
&:extend(.ComboBox);
border-color: @input-border-color-focus;
}
&:disabled {
&:extend(.Button:disabled);
}
&::drop-down {
border: 0;
image: url('@{img-url}/combo_downarrow.svg');
image-position: center center;
width: 16;
&:editable {
background-color: @button-bg-color;
border-left: @combobox-dropdown-border-size solid @button-border-color;
border-top-right-radius: @combobox-dropdown-border-radius;
border-bottom-right-radius: @combobox-dropdown-border-radius;
}
&:hover {
border-color: @combobox-dropdown-border-color-hover;
&:editable {
background-color: @button-bg-color-hover;
border-color: @button-border-color;
}
}
&:disabled {
image: url('@{img-url}/combo_downarrow_disabled.svg');
&:editable {
background-color: @combobox-dropdown-bg-color-disabled-editable;
}
}
}
& QAbstractItemView {
background-color: @menu-bg-color;
border: 1 solid @menu-border-color;
selection-background-color: @hl-bg-color;
selection-color: @hl-text-color;
}
}
QComboBox {
&:extend(.ComboBox all);
}
/* -----------------------------------------------------------------------------
Textfield
----------------------------------------------------------------------------- */
.LineEdit {
background-color: @input-bg-color;
border: 1 solid @input-border-color;
border-radius: 2;
color: @input-text-color;
selection-background-color: @input-selection-bg-color;
selection-color: @input-selection-text-color;
padding: 0 0 0 1;
&:focus {
background-color: @input-bg-color-focus;
border-color: @input-border-color-focus;
color: @input-text-color-focus;
}
&:disabled {
background-color: @input-bg-color-disabled;
border-color: @input-border-color-disabled;
color: @input-text-color-disabled;
}
}
QPlainTextEdit
,QLineEdit {
&:extend(.LineEdit all);
}
/* -----------------------------------------------------------------------------
CheckBox
----------------------------------------------------------------------------- */
.CheckBox {
color: @text-color;
&:hover {
color: @checkbox-text-color-hover;
}
&:disabled {
color: @text-color-disabled;
}
&::indicator {
background-color: @checkbox-bg-color;
border: 1 solid @checkbox-border-color;
border-radius: 2;
height: 9; /* fix for QGroupBox */
padding: 1;
width: 9; /* fix for QMenu */
&:hover {
background-color: @checkbox-bg-color-hover;
border-color: @checkbox-border-color-hover;
}
&:checked {
background-color: @checkbox-bg-color-checked;
border-color: @checkbox-border-color-checked;
image: url('@{img-url}/checkmark.svg');
&:hover {
&:extend(.CheckBox::indicator:hover);
background-color: @checkbox-bg-color-checked-hover;
border-color: @checkbox-border-color-checked-hover;
}
&:disabled {
background-color: @checkbox-bg-color-checked-disabled;
border-color: @checkbox-border-color-checked-disabled;
image: url('@{img-url}/checkmark_disabled.svg');
}
}
&:indeterminate {
background-color: @checkbox-bg-color-checked;
border-color: @checkbox-border-color-checked;
image: url('@{img-url}/checkpartially.svg');
&:hover {
&:extend(.CheckBox::indicator:hover);
}
&:disabled {
background-color: @checkbox-bg-color-checked-disabled;
border-color: @checkbox-border-color-checked-disabled;
image: url('@{img-url}/checkpartially_disabled.svg');
}
}
&:disabled {
background-color: @checkbox-bg-color-disabled;
border-color: @checkbox-border-color-disabled;
}
}
}
QCheckBox {
&:extend(.CheckBox all);
}
/* -----------------------------------------------------------------------------
Radio Button
----------------------------------------------------------------------------- */
.RadioButton {
color: @text-color;
&:hover {
color: @checkbox-text-color-hover;
}
&:checked {
color: @text-color;
}
&:disabled {
color: @text-color-disabled;
}
padding: 0;
margin: 0;
&::indicator {
@size: 11;
width: @size;
height: @size;
background-color: transparent;
border: 0;
image-position: center center;
&:unchecked {
image: url('@{img-url}/@{radiobutton-img-unchecked}');
&:hover {
image: url('@{img-url}/@{radiobutton-img-unchecked-hover}');
}
}
&:checked {
image: url('@{img-url}/@{radiobutton-img-checked}');
&:disabled {
background-color: transparent;
image: url('@{img-url}/@{radiobutton-img-checked-disabled}');
}
}
&:disabled {
image: url('@{img-url}/@{radiobutton-img-unchecked-disabled}');
}
}
}
QRadioButton {
&:extend(.RadioButton all);
}
/* -----------------------------------------------------------------------------
GroupBox
----------------------------------------------------------------------------- */
.GroupBox {
&:extend(.frame all);
margin: 6 0 0 0;
padding: 5 0;
&::title {
subcontrol-origin: margin;
left: 15;
margin: -3 0 0 0;
padding: 0 3;
&:hover {
color: @checkbox-text-color-hover;
}
&:disabled {
color: @text-color-disabled;
}
}
&::indicator {
&:extend(.CheckBox::indicator all);
subcontrol-origin: margin;
margin-top: 2;
}
&:disabled {
color: @text-color-disabled;
}
}
QGroupBox {
&:extend(.GroupBox all);
}
/* -----------------------------------------------------------------------------
Slider
----------------------------------------------------------------------------- */
.Slider {
&::groove:horizontal {
background-color: transparent;
background-image: url('@{img-url}/@{slider-groove-img}');
background-position: center center;
background-repeat: repeat-x;
margin: 0;
height: 20;
min-height: 20;
&:disabled {
background-image: url('@{img-url}/@{slider-groove-img-disabled}');
}
}
&::handle:horizontal {
width: @slider-handle-width;
margin: @slider-handle-margin;
image: url('@{img-url}/@{slider-handle-img}');
&:disabled {
image: url('@{img-url}/@{slider-handle-img-disabled}');
}
}
}
QSlider {
&:extend(.Slider all);
}
/* -----------------------------------------------------------------------------
Double Slider
----------------------------------------------------------------------------- */
#IntPairField,
#DoublePairField {
qproperty-LightLineColor: @slider-groove-color;
qproperty-LightLineEdgeColor: @slider-groove-color;
qproperty-DarkLineColor: @slider-groove-color;
qproperty-MiddleLineColor: @slider-groove-color;
qproperty-HandleLeftPixmap: url("@{img-url}/@{slider-left-handle}");
qproperty-HandleRightPixmap: url("@{img-url}/@{slider-right-handle}");
qproperty-HandleLeftGrayPixmap: url("@{img-url}/@{slider-left-handle-disabled}");
qproperty-HandleRightGrayPixmap: url("@{img-url}/@{slider-right-handle-disabled}");
}
/* -----------------------------------------------------------------------------
Progress Bar
----------------------------------------------------------------------------- */
QProgressBar {
text-align: center;
background-color: @progressbar-bg-color;
border: 1 solid @progressbar-border-color;
border-radius: 3; /* 2 fits inside 3 */
padding: 0;
&::chunk {
margin: -1; /* hide border of chunk except for right side */
background-color: @progressbar-chunk-bg-color;
border: 1 solid @progressbar-chunk-border-color;
border-radius: 2;
}
}