/*
 * TODO: Search buttons color (Replace, Replace and continue search)
 */
/*
 * Drop background color of most widgets
 */
QApplication,QMainWindow,QFrame,QDockWidget,QDialog,QFileDialog,QMessageBox,#CustomWindow,#m_centralWidget,#centralWidget
QRadioButton,QGroupBox::title,/* Need to set background becase must clear border behind label */
QMenuBar,QMenu,QMenu::item,QComboBox QAbstractItemView,QLabel,QSplitter::handle,QTreeView,QListWidget,QListView,QTableWidget,QTableView,QTextEdit,QTextBrowser {
    background-color: #3c3f41;
/*#004100;*/
    color: #bbb;
}

#m_centralWidget,#centralWidget {
    margin: 2px;
    border-top: 2px solid qlineargradient(x1: 0,y1: 0,x2: 0,y2: 1,stop:0 #282828,stop:1 #555);
    border-right: 2px solid qlineargradient(x1: 0,y1: 0,x2: 1,y2: 0,stop:0 #555,stop:1 #282828);
    border-bottom: 2px solid qlineargradient(x1: 0,y1: 0,x2: 0,y2: 1,stop:0 #555,stop:1 #282828);
    border-left: 2px solid qlineargradient(x1: 0,y1: 0,x2: 1,y2: 0,stop:0 #282828,stop:1 #555);
}

QDialog,#CustomWindow {
    border: 1px solid #2d2d2d;
}

#torrentSorterView::section {
    border-bottom: none;
}

#pbMin,#pbMax,#pbClose,#closeBaloon {
    margin: 2px;
    min-width: 16px;
    width: 16px;
    height: 16px;
}

/*
 * This is default values
 * Edit first if you want change appearance
 */
QLabel,QTabBar::tab,QMenuBar::item,QCheckBox,QGroupBox {
    background-color: transparent;
    color: #bbb;
    selection-color: #bbb;
}

/*
 * GroupBox and CheckBox
 *
 * TODO: ::indicator:indeterminate icons
 */
QGroupBox {
    border-top: 1px solid #2d2d2d;
    margin-top: .5em;
}

QGroupBox::title {
    subcontrol-origin: margin;
    subcontrol-position: top left;
    padding: 0 3px;
}

QCheckBox::indicator,QGroupBox::indicator {
    width: 13px;
    height: 13px;
}

QCheckBox::indicator:unchecked,QGroupBox::indicator:unchecked {
    image: url($[STYLE_DIR]/checkbox_unchecked.png);
}

QCheckBox::indicator:unchecked:hover,QGroupBox::indicator:unchecked:hover {
    image: url($[STYLE_DIR]/checkbox_unchecked_hover.png);
}

QCheckBox::indicator:unchecked:pressed,QGroupBox::indicator:unchecked:pressed {
    image: url($[STYLE_DIR]/checkbox_unchecked_pressed.png);
}

QCheckBox::indicator:checked,QGroupBox::indicator:checked {
    image: url($[STYLE_DIR]/checkbox_checked.png);
}

QCheckBox::indicator:checked:hover,QGroupBox::indicator:checked:hover {
    image: url($[STYLE_DIR]/checkbox_checked_hover.png);
}

QCheckBox::indicator:checked:pressed,QGroupBox::indicator:checked:pressed {
    image: url($[STYLE_DIR]/checkbox_checked_pressed.png);
}

QCheckBox::indicator:indeterminate:hover,QGroupBox::indicator:indeterminate:hover {
    background-color: #22b;
    image: url($[STYLE_DIR]/checkbox_indeterminate_hover.png);
/* TODO: There is no shuch image */
}

QCheckBox::indicator:indeterminate:pressed,QGroupBox::indicator:indeterminate:pressed {
    background-color: #2b2;
    image: url($[STYLE_DIR]/checkbox_indeterminate_pressed.png);
/* TODO: There is no shuch image */
}

QLineEdit,QAbstractSpinBox,QComboBox,QPushButton {
    background-color: #45494a;
/*background-color: rgba(255, 255, 255, 0.05);*/
    background-origin: border;
    border: 1px solid #646464;
    color: #bbb;
    min-width: 3em;
    padding: 0 1px 2px 3px;
    selection-background-color: #4b6eaf;
}
QPushButton:flat {
    border: none;
	background-color: transparent;
}

/*:focus
{
    outline: 3px ridge #4e78a2;
    border-radius: 2px;
}
:edit-focus
{
    border: 1px solid red;
}*/
:read-only {
    background-color: transparent;
    border: 1px solid #535353;
    color: #999;
}

:no-frame {
    border-width: 0;
}

/*
 * Any SpinBox (e.g. DoubleSpinbox)
 *
 * TODO: Icons not fit into the overall style
 */
QAbstractSpinBox::up-button {
    image: url($[STYLE_DIR]/spinup.png);
}

QAbstractSpinBox::up-button:hover {
    image: url($[STYLE_DIR]/spinup_hover.png);
}

QAbstractSpinBox::up-button:off {
    image: url($[STYLE_DIR]/spinup_off.png);
}

QAbstractSpinBox::up-button:pressed {
    image: url($[STYLE_DIR]/spinup_pressed.png);
}

QAbstractSpinBox::down-button {
    image: url($[STYLE_DIR]/spindown.png);
}

QAbstractSpinBox::down-button:hover {
    image: url($[STYLE_DIR]/spindown_hover.png);
}

QAbstractSpinBox::down-button:off {
    image: url($[STYLE_DIR]/spindown_off.png);
}

QAbstractSpinBox::down-button:pressed {
    image: url($[STYLE_DIR]/spindown_pressed.png);
}

/*
 * PushButton and Utils::QtColorButton
 *
 * TODO: Customize :pressed
 * FIXME: Outline is positioned around content, but should around padding
 */
QPushButton {
    min-height: 1.33em;
    min-width: 5.25em;
    outline: 0;
}
SortButton {
	padding-right: 10px;
}
QPushButton, SortButton {
    background-color: qlineargradient(x1: 0,y1: 0,x2: 0,y2: 1,stop: 0 #515658,stop: 1.0 #44494b);
    border: 1px solid #5f6161;
    border-radius: 2px;
}

QPushButton:pressed, SortButton:pressed {
    border-style: inset;
}

QPushButton:default {
    background-color: qlineargradient(x1: 0,y1: 0,x2: 0,y2: 1,stop: 0 #344a64,stop: 1.0 #263549);
}

QPushButton:disabled, SortButton:disabled {
    background-color: transparent;
    color: #999;
}

QPushButton:open, SortButton:open{
    background-color: #4b6eaf;
}

QPushButton::menu-indicator, SortButton::menu-indicator {
    image: url($[STYLE_DIR]/triangle_vert.png);
    subcontrol-origin: padding;
    subcontrol-position: center right;
	left: -2px;
}

/*
 * ComboBox
 */
QComboBox {
    border-radius: 2px;
    min-width: 3em;
    padding: 0 1px 2px 3px;
}

QComboBox:!editable {
/*background-color: rgba(63, 113, 73, 0.2);*/
/*background-color: #45494a;*/
    background-color: rgba(255,255,255,0.05);
}

/*
QComboBox:!editable:on
QComboBox::drop-down:editable:on
QComboBox::drop-down:editable
*/
QComboBox:on {
    padding-top: 3px;
    padding-left: 4px;
}

QComboBox::down-arrow {
    image: url($[STYLE_DIR]/triangle_vert.png);
}

QComboBox::down-arrow:on {
    top: 1px;
    left: 1px;
}

QComboBox::drop-down {
    border-left: 1px solid #646464;
}

QComboBox QAbstractItemView {
    border: 1px solid red;
/*black;*/
/*selection-background-color: #d2d2d2;
    selection-color: #404040;
    show-decoration-selected: 1; /* make the selection span the entire width of the view */
}

/*
 * RadioButton
 *
 * TODO: Checked circle is hard to spot
 */
QRadioButton::indicator {
    width: 13px;
    height: 13px;
}

QRadioButton::indicator:unchecked {
    image: url($[STYLE_DIR]/radiobutton_unchecked.png);
}

QRadioButton::indicator:unchecked:hover {
    image: url($[STYLE_DIR]/radiobutton_unchecked_hover.png);
}

QRadioButton::indicator:unchecked:pressed {
    image: url($[STYLE_DIR]/radiobutton_unchecked_pressed.png);
}

QRadioButton::indicator:checked {
    image: url($[STYLE_DIR]/radiobutton_checked.png);
}

QRadioButton::indicator:checked:hover {
    image: url($[STYLE_DIR]/radiobutton_checked_hover.png);
}

QRadioButton::indicator:checked:pressed {
    image: url($[STYLE_DIR]/radiobutton_checked_pressed.png);
}

/*
 * TabWidget and TabBar
 *
 * FIXME: Designer bottom tabbar problem
 * TODO: Customize QTabBar::tab:hover
 */
QTabWidget::tab-bar {
/*position: relative;
    bottom: -1px;*/
}

QTabWidget::pane {
    background-color: transparent;
    border: 1px solid #323232;
}

QTabWidget::pane:top {
    top: -1px;
}

QTabWidget::pane:right {
    right: -1px;
}

QTabWidget::pane:bottom {
    bottom: -1px;
}

QTabWidget::pane:left {
    left: -1px;
}

QTabBar::tab {
    border: 1px solid #292b2d;
    min-width: 8ex;
    padding: 4px;
}

/*QTabBar::tab:hover {
    background-color: #4b6eaf;
}*/
QTabBar::tab:top {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

QTabBar::tab:right {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

QTabBar::tab:bottom {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

QTabBar::tab:left {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

QTabBar::tab:selected {
    background-color: #41516d;
}

QTabBar::tab:top:selected {
    border-bottom-color: #41516d;
}

QTabBar::tab:right:selected {
    border-left-color: #41516d;
}

QTabBar::tab:bottom:selected {
    border-top-color: #41516d;
}

QTabBar::tab:left:selected {
    border-right-color: #41516d;
}

QTabBar::tab:top:!selected {
    margin-top: 2px;
}

QTabBar::tab:right:!selected {
    margin-right: 2px;
}

QTabBar::tab:bottom:!selected {
    margin-bottom: 2px;
}

QTabBar::tab:left:!selected {
    margin-left: 2px;
}

/*
 * Table
 *
 * FIXME: Problem with arrows positioning workarounded in bad way
 * FIXME: Unknown problem Options > FakeVim > User Command Mapping
 * QT-BUG: Wrong behaviour property min-height of QHeaderView::section
 */
QTableWidget,QTableView {
/* This rule have more priority than previous?!
     * And overrides with empty if not declared! */
/*background: red; /*transparent;*/
/*color: #bbbbbb;*/
    border: 1px solid #323232;
    alternate-background-color: #414547;
/* Dont work without setAlternatingRowColors(true) */
}

QTableView QTableCornerButton::section {
    background-color: green;
/*FIXME*/
    border: 2px outset blue;
/*FIXME*/
}

QHeaderView::section {
    background-color: qlineargradient(x1: 0,y1: 0,x2: 0,y2: 1,stop:0 #54585b,stop:1 #393c3e);
    color: #bbb;
    padding: 1px 2px 1px 4px;
    border: 1px solid #323232;
    border-top-width: 0;
    border-left-color: #5e6163;
    border-right-color: #2a2c2d;
/*min-height: 15px;*/
}

QHeaderView::section:hover {
    background-color: qlineargradient(x1: 0,y1: 0,x2: 0,y2: 1,stop:0 #64686b,stop:1 #494c4e);
    border-bottom-color: #424242;
}

QHeaderView::section:first {
    border-left-width: 0;
}

QHeaderView::section:last {
    border-right-width: 0;
}

QHeaderView::section:checked {
    background-color: red;
/*FIXME*/
}

QHeaderView::down-arrow {
    image: url($[STYLE_DIR]/down_arrow.png);
    right: 7px;
}

QHeaderView::up-arrow {
    image: url($[STYLE_DIR]/up_arrow.png);
/* image-position: right; Don't work */
/*right: 7px; */
    height: 7px;
    width: 7px;
}

/*
 * Menu and MenuBar
 *
 * TODO: Customize toggleable items
 */
QMenuBar {
    margin-top: 2px;
/*background-color: #3c3f41; /* transparent don't work */
    border-bottom: 2px solid qlineargradient(x1: 0,y1: 0,x2: 0,y2: 1,stop:0 #282828,stop:1 #555);
}

QMenuBar::item:pressed {
    background-color: #4b6eaf;
}

QMenuBar::item:selected:!pressed {
    background-color: #585b5d;
}

QMenu {
    border: 1px solid #2d2d2d;
}

/*QMenu::item {
    margin-left: 3px;
}*/
QMenu::item:disabled {
    color: #999;
}

QMenu::item:selected {
    background-color: #4b6eaf;
}

QMenu::icon {
    border: 0 solid transparent;
    background-color: transparent;
}

QMenu::icon:checked {
    background-color: blue;
    border: 1px inset red;
    position: absolute;
    top: 1px;
    right: 1px;
    bottom: 1px;
    left: 1px;
}

QMenu::separator {
    height: 2px;
    background-color: qlineargradient(x1: 0,y1: 0,x2: 0,y2: 1,stop:0 #282a2b,stop:1 #45484b);
    margin: 0 1px;
}

/*QMenu::indicator {
    width: 13px;
    height: 13px;
    background-color: blue;
}*/
/*
 * Scroll bar modifications
 */
QScrollBar {
    background-color: transparent;
    margin: 0;
    height: 12px;
/* for horizontal */
    width: 12px;
/* for vertical */
}

QScrollBar::handle {
    border: 1px solid #555;
    border-radius: 4px;
    margin: 1px;
}

QScrollBar::handle:vertical {
    background-color: qlineargradient(x1: 0,y1: 0,x2: 1,y2: 0,stop:0 #5c5c5c,stop:1 #515151);
    min-height: 20px;
    min-width: 8px;
}

QScrollBar::handle:vertical:hover {
    background-color: qlineargradient(x1: 0,y1: 0,x2: 1,y2: 0,stop:0 #666,stop:1 #5b5b5b);
}

QScrollBar::handle:horizontal {
    background-color: qlineargradient(x1: 0,y1: 0,x2: 0,y2: 1,stop:0 #5c5c5c,stop:1 #515151);
    min-height: 8px;
    min-width: 20px;
}

QScrollBar::handle:horizontal:hover {
    background-color: qlineargradient(x1: 0,y1: 0,x2: 0,y2: 1,stop:0 #666,stop:1 #5b5b5b);
}

QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical,QScrollBar::add-page:horizontal,QScrollBar::sub-page:horizontal {
    background-color: transparent;
}

/*QScrollBar::sub-page:vertical {
    max-height: 8px;
    margin-top: auto;
    margin-bottom: 0;
    background-color: purple;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
QScrollBar::add-page:vertical {
    max-height: 8px;
    margin-top: 0;
    margin-bottom: auto;
    background-color: darkblue;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}*/
QScrollBar::add-line:vertical,QScrollBar::sub-line:vertical,QScrollBar::add-line:horizontal,QScrollBar::sub-line:horizontal {
    height: 0;
    width: 0;
}

/*
 * Status bar
 */
/*
QStatusBar {
    background-color: brown;
    border: 1px solid brown;
}
QStatusBar::item {
    background-color: red;
    border: 1px solid red;
    border-radius: 3px;
}
QStatusBar QLabel {
    background-color: green;
    border: 3px solid green;
}
*/
/*
 * QAbstractItemView modifications
 *
 * TODO: ::indicator
 * TODO: Disable item icon selection mask
 * FIXME: Transparent selection background on some elements Options > BlackBerry > API Levels and Runtimes
 * QT-BUG: Strange behaviour of selection-* properties (always :!focus)
 */
QAbstractItemView {
    border: 1px solid #323232;
    selection-color: #bbb;
    selection-background-color: #4b6eaf;
    alternate-background-color: #414547;
/* Works only if setAlternatingRowColors(true) */
    show-decoration-selected: 1;
    outline: 0;
}

/*
QAbstractItemView:!focus {
    selection-background-color: #0d293e;
}
QTreeView::branch,
QAbstractItemView::item {
    border-width: 0;
}
*/
QAbstractItemView::item:alternate {
    background-color: #414547;
}

QListWidgetItem,QTreeWidgetItem {
    background-color: red;
    color: #ff0;
    border: 1px solid purple;
}

QAbstractItemView::text {
    color: #bbb;
}

QTreeView::branch:hover,QAbstractItemView::item:hover {
    background-color: rgba(255,255,255,0.05);
}

QTreeView::branch:selected:active,QAbstractItemView::item:selected {
    background-color: #4b6eaf;
}

/* No way due to another bug :(
QTreeView::branch:selected:active,
QAbstractItemView::item:selected:active {
    background-color: #4b6eaf;
}
QTreeView::branch:selected:!active,
QAbstractItemView::item:selected:!active {
    background-color: #0d293e;
}
*/
QTreeView::branch:has-siblings:adjoins-item,QTreeView::branch:has-siblings:!adjoins-item,QTreeView::branch:!has-children:!has-siblings:adjoins-item {
    border-image: none;
    image: none;
}

QTreeView::branch:has-children:!has-siblings:closed,QTreeView::branch:closed:has-children:has-siblings {
    border-image: none;
    image: url($[STYLE_DIR]/triangle_horz.png);
}

QTreeView::branch:open:has-children:!has-siblings,QTreeView::branch:open:has-children:has-siblings {
    border-image: none;
    image: url($[STYLE_DIR]/triangle_vert.png);
}

/*
 * Tool bar
 */
QToolBar {
    border-bottom: none;
    border-top: none;
    spacing: 3px;
    padding-right: 2px;
    border-width: 0;
}

/*
 * Resizing widget (bottom right in Qt Creator, inside status bar)
 */
QSizeGrip {
    image: url($[STYLE_DIR]/sizegrip.png);
    width: 16px;
    height: 16px;
}

/*
 * ToolTip
 */
QToolTip,QTipLabel {
    border: 1px solid #9a9a66;
    border-radius: 3px;
    background: #5c5c42;
    color: #bbb;
    margin: 0;
    padding: 0;
}

/*
 * Wizard dialog
 *
 * TODO: Buttons bar background
 */
QWizard > QWidget {
    background-color: #3c3f41;
}

QProgressBar[value="100"]::chunk {
    background-color: rgba(50,145,212,255);
}

/* vvvvvvvvvvvvvvvvvvvvvvvvvv WORKAROUND vvvvvvvvvvvvvvvvvvvvvvvvvv */
/* Related to:
 *   1) https://bugreports.qt-project.org/browse/QTCREATORBUG-12078
 *   2) https://codereview.qt-project.org/#/c/74538/
 * Because of bugs in QtGui, apllying stylesheet to QPlainTextEdit causes it
 * to lose font settings and palette on setParent event. So switching between
 * modes (Editor and Debug) or split Editor resets font and color of edit
 * and extra edit areas
 * To workaround this problems set you own peferred colors and font below
 */
QPlainTextEdit {
    background-color: #2b2b2b;
    selection-background-color: #214283;
    color: #bbb;
    selection-color: #bbb;
/* No better workaround for this */
    font: 10pt Courier,Inconsolata,Monospace;
}

/* ^^^^^^^^^^^^^^^^^^^^^^^^^^ WORKAROUND ^^^^^^^^^^^^^^^^^^^^^^^^^^ */