From: Soeren Apel Date: Sun, 14 Oct 2018 20:27:33 +0000 (+0200) Subject: Add themes and implement theme support X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=commitdiff_plain;h=37b0bd3594a0effb8252c22377f003deafc55b19 Add themes and implement theme support --- diff --git a/README b/README index 613ecc5..8a3f8e9 100644 --- a/README +++ b/README @@ -44,12 +44,19 @@ is to be interpreted as Copyright (C) 2010,2011,2012,2013 Contributor Name -Icons authors and licenses +Resource authors and licenses -------------------------- icons/information.svg: Bobarino https://en.wikipedia.org/wiki/File:Information.svg +QDarkStyleSheet: Colin Duquesnoy + https://github.com/ColinDuquesnoy/QDarkStyleSheet + License: https://github.com/ColinDuquesnoy/QDarkStyleSheet/blob/master/LICENSE.md + +DarkStyle: Juergen Skrotzky + https://github.com/Jorgen-VikingGod/Qt-Frameless-Window-DarkStyle + Mailing list ------------ diff --git a/icons/settings-general.png b/icons/settings-general.png new file mode 100644 index 0000000..4decc89 Binary files /dev/null and b/icons/settings-general.png differ diff --git a/main.cpp b/main.cpp index c7fe9bb..4bd6388 100644 --- a/main.cpp +++ b/main.cpp @@ -256,7 +256,9 @@ int main(int argc, char *argv[]) // Prepare the global settings since logging needs them early on pv::GlobalSettings settings; + settings.save_default_palette(); settings.set_defaults_where_needed(); + settings.apply_theme(); pv::logging.init(); diff --git a/pulseview.qrc b/pulseview.qrc index 9b7510d..33e3610 100644 --- a/pulseview.qrc +++ b/pulseview.qrc @@ -1,5 +1,5 @@ - + icons/add-decoder.svg icons/application-exit.png icons/channels.svg @@ -15,6 +15,7 @@ icons/media-playback-start.png icons/menu.svg icons/preferences-system.png + icons/settings-general.png icons/settings-views.svg icons/pulseview.png icons/pulseview.svg @@ -41,4 +42,76 @@ icons/zoom-in.png icons/zoom-out.png + + + + themes/qdarkstyle/style.qss + themes/qdarkstyle/rc/up_arrow_disabled.png + themes/qdarkstyle/rc/Hmovetoolbar.png + themes/qdarkstyle/rc/stylesheet-branch-end.png + themes/qdarkstyle/rc/branch_closed-on.png + themes/qdarkstyle/rc/stylesheet-vline.png + themes/qdarkstyle/rc/branch_closed.png + themes/qdarkstyle/rc/branch_open-on.png + themes/qdarkstyle/rc/transparent.png + themes/qdarkstyle/rc/right_arrow_disabled.png + themes/qdarkstyle/rc/sizegrip.png + themes/qdarkstyle/rc/close.png + themes/qdarkstyle/rc/close-hover.png + themes/qdarkstyle/rc/close-pressed.png + themes/qdarkstyle/rc/down_arrow.png + themes/qdarkstyle/rc/Vmovetoolbar.png + themes/qdarkstyle/rc/left_arrow.png + themes/qdarkstyle/rc/stylesheet-branch-more.png + themes/qdarkstyle/rc/up_arrow.png + themes/qdarkstyle/rc/right_arrow.png + themes/qdarkstyle/rc/left_arrow_disabled.png + themes/qdarkstyle/rc/Hsepartoolbar.png + themes/qdarkstyle/rc/branch_open.png + themes/qdarkstyle/rc/Vsepartoolbar.png + themes/qdarkstyle/rc/down_arrow_disabled.png + themes/qdarkstyle/rc/undock.png + themes/qdarkstyle/rc/checkbox_checked_disabled.png + themes/qdarkstyle/rc/checkbox_checked_focus.png + themes/qdarkstyle/rc/checkbox_checked.png + themes/qdarkstyle/rc/checkbox_indeterminate.png + themes/qdarkstyle/rc/checkbox_indeterminate_focus.png + themes/qdarkstyle/rc/checkbox_unchecked_disabled.png + themes/qdarkstyle/rc/checkbox_unchecked_focus.png + themes/qdarkstyle/rc/checkbox_unchecked.png + themes/qdarkstyle/rc/radio_checked_disabled.png + themes/qdarkstyle/rc/radio_checked_focus.png + themes/qdarkstyle/rc/radio_checked.png + themes/qdarkstyle/rc/radio_unchecked_disabled.png + themes/qdarkstyle/rc/radio_unchecked_focus.png + themes/qdarkstyle/rc/radio_unchecked.png + + + + + themes/darkstyle/darkstyle.qss + themes/darkstyle/icon_close.png + themes/darkstyle/icon_restore.png + themes/darkstyle/icon_undock.png + themes/darkstyle/icon_branch_closed.png + themes/darkstyle/icon_branch_end.png + themes/darkstyle/icon_branch_more.png + themes/darkstyle/icon_branch_open.png + themes/darkstyle/icon_vline.png + themes/darkstyle/icon_checkbox_checked.png + themes/darkstyle/icon_checkbox_indeterminate.png + themes/darkstyle/icon_checkbox_unchecked.png + themes/darkstyle/icon_checkbox_checked_pressed.png + themes/darkstyle/icon_checkbox_indeterminate_pressed.png + themes/darkstyle/icon_checkbox_unchecked_pressed.png + themes/darkstyle/icon_checkbox_checked_disabled.png + themes/darkstyle/icon_checkbox_indeterminate_disabled.png + themes/darkstyle/icon_checkbox_unchecked_disabled.png + themes/darkstyle/icon_radiobutton_checked.png + themes/darkstyle/icon_radiobutton_unchecked.png + themes/darkstyle/icon_radiobutton_checked_pressed.png + themes/darkstyle/icon_radiobutton_unchecked_pressed.png + themes/darkstyle/icon_radiobutton_checked_disabled.png + themes/darkstyle/icon_radiobutton_unchecked_disabled.png + diff --git a/pv/dialogs/settings.cpp b/pv/dialogs/settings.cpp index ad4fd4a..0795879 100644 --- a/pv/dialogs/settings.cpp +++ b/pv/dialogs/settings.cpp @@ -126,6 +126,15 @@ Settings::Settings(DeviceManager &device_manager, QWidget *parent) : void Settings::create_pages() { + // General page + pages->addWidget(get_general_settings_form(pages)); + + QListWidgetItem *generalButton = new QListWidgetItem(page_list); + generalButton->setIcon(QIcon(":/icons/settings-general.png")); + generalButton->setText(tr("General")); + generalButton->setTextAlignment(Qt::AlignVCenter); + generalButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + // View page pages->addWidget(get_view_settings_form(pages)); @@ -192,6 +201,37 @@ QPlainTextEdit *Settings::create_log_view() const return log_view; } +QWidget *Settings::get_general_settings_form(QWidget *parent) const +{ + GlobalSettings settings; + + QWidget *form = new QWidget(parent); + QVBoxLayout *form_layout = new QVBoxLayout(form); + + // General settings + QGroupBox *general_group = new QGroupBox(tr("General")); + form_layout->addWidget(general_group); + + QFormLayout *general_layout = new QFormLayout(); + general_group->setLayout(general_layout); + + QComboBox *theme_cb = new QComboBox(); + for (pair entry : Themes) + theme_cb->addItem(entry.first, entry.second); + + theme_cb->setCurrentIndex( + settings.value(GlobalSettings::Key_General_Theme).toInt()); + connect(theme_cb, SIGNAL(currentIndexChanged(int)), + this, SLOT(on_general_theme_changed_changed(int))); + general_layout->addRow(tr("User interface theme"), theme_cb); + + QLabel *description_1 = new QLabel(tr("(You may need to restart PulseView for all UI elements to update)")); + description_1->setAlignment(Qt::AlignRight); + general_layout->addRow(description_1); + + return form; +} + QWidget *Settings::get_view_settings_form(QWidget *parent) const { GlobalSettings settings; @@ -507,6 +547,13 @@ void Settings::on_page_changed(QListWidgetItem *current, QListWidgetItem *previo pages->setCurrentIndex(page_list->row(current)); } +void Settings::on_general_theme_changed_changed(int state) +{ + GlobalSettings settings; + settings.setValue(GlobalSettings::Key_General_Theme, state); + settings.apply_theme(); +} + void Settings::on_view_zoomToFitDuringAcq_changed(int state) { GlobalSettings settings; diff --git a/pv/dialogs/settings.hpp b/pv/dialogs/settings.hpp index f5efe35..1473aa5 100644 --- a/pv/dialogs/settings.hpp +++ b/pv/dialogs/settings.hpp @@ -47,6 +47,7 @@ public: QCheckBox *create_checkbox(const QString& key, const char* slot) const; QPlainTextEdit *create_log_view() const; + QWidget *get_general_settings_form(QWidget *parent) const; QWidget *get_view_settings_form(QWidget *parent) const; QWidget *get_decoder_settings_form(QWidget *parent); QWidget *get_about_page(QWidget *parent) const; @@ -57,6 +58,7 @@ public: private Q_SLOTS: void on_page_changed(QListWidgetItem *current, QListWidgetItem *previous); + void on_general_theme_changed_changed(int state); void on_view_zoomToFitDuringAcq_changed(int state); void on_view_zoomToFitAfterAcq_changed(int state); void on_view_triggerIsZero_changed(int state); diff --git a/pv/globalsettings.cpp b/pv/globalsettings.cpp index ae8682a..55ceb5a 100644 --- a/pv/globalsettings.cpp +++ b/pv/globalsettings.cpp @@ -22,15 +22,25 @@ #include #include #include +#include #include +#include #include using std::map; +using std::pair; using std::string; using std::vector; namespace pv { +const vector< pair > Themes { + {"None" , ""}, + {"QDarkStyleSheet", ":/themes/qdarkstyle/style.qss"}, + {"DarkStyle", ":/themes/darkstyle/darkstyle.qss"} +}; + +const QString GlobalSettings::Key_General_Theme = "General_Theme"; const QString GlobalSettings::Key_View_ZoomToFitDuringAcq = "View_ZoomToFitDuringAcq"; const QString GlobalSettings::Key_View_ZoomToFitAfterAcq = "View_ZoomToFitAfterAcq"; const QString GlobalSettings::Key_View_TriggerIsZeroTime = "View_TriggerIsZeroTime"; @@ -53,6 +63,7 @@ const QString GlobalSettings::Key_Log_NotifyOfStacktrace = "Log_NotifyOfStacktra vector GlobalSettings::callbacks_; bool GlobalSettings::tracking_ = false; map GlobalSettings::tracked_changes_; +QPalette GlobalSettings::default_palette_; GlobalSettings::GlobalSettings() : QSettings() @@ -62,6 +73,10 @@ GlobalSettings::GlobalSettings() : void GlobalSettings::set_defaults_where_needed() { + // Use no theme by default + if (!contains(Key_General_Theme)) + setValue(Key_General_Theme, 0); + // Enable zoom-to-fit after acquisition by default if (!contains(Key_View_ZoomToFitAfterAcq)) setValue(Key_View_ZoomToFitAfterAcq, true); @@ -107,6 +122,61 @@ void GlobalSettings::set_defaults_where_needed() setValue(Key_Log_NotifyOfStacktrace, true); } +void GlobalSettings::save_default_palette() +{ + default_palette_ = QApplication::palette(); +} + +void GlobalSettings::apply_theme() +{ + QString theme_name = Themes.at(value(Key_General_Theme).toInt()).first; + QString resource_name = Themes.at(value(Key_General_Theme).toInt()).second; + + if (!resource_name.isEmpty()) { + QFile file(resource_name); + file.open(QFile::ReadOnly | QFile::Text); + qApp->setStyleSheet(file.readAll()); + } else + qApp->setStyleSheet(""); + + qApp->setPalette(default_palette_); + + if (theme_name.compare("QDarkStyleSheet") == 0) { + QPalette dark_palette; + dark_palette.setColor(QPalette::Window, QColor(53, 53, 53)); + dark_palette.setColor(QPalette::WindowText, Qt::white); + dark_palette.setColor(QPalette::Base, QColor(42, 42, 42)); + dark_palette.setColor(QPalette::Dark, QColor(35, 35, 35)); + dark_palette.setColor(QPalette::Highlight, QColor(42, 130, 218)); + qApp->setPalette(dark_palette); + } else if (theme_name.compare("DarkStyle") == 0) { + QPalette dark_palette; + dark_palette.setColor(QPalette::Window, QColor(53, 53, 53)); + dark_palette.setColor(QPalette::WindowText, Qt::white); + dark_palette.setColor(QPalette::Disabled, QPalette::WindowText, QColor(127, 127, 127)); + dark_palette.setColor(QPalette::Base, QColor(42, 42, 42)); + dark_palette.setColor(QPalette::AlternateBase, QColor(66, 66, 66)); + dark_palette.setColor(QPalette::ToolTipBase, Qt::white); + dark_palette.setColor(QPalette::ToolTipText, QColor(53, 53, 53)); + dark_palette.setColor(QPalette::Text, Qt::white); + dark_palette.setColor(QPalette::Disabled, QPalette::Text, QColor(127, 127, 127)); + dark_palette.setColor(QPalette::Dark, QColor(35, 35, 35)); + dark_palette.setColor(QPalette::Shadow, QColor(20, 20, 20)); + dark_palette.setColor(QPalette::Button, QColor(53, 53, 53)); + dark_palette.setColor(QPalette::ButtonText, Qt::white); + dark_palette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(127, 127, 127)); + dark_palette.setColor(QPalette::BrightText, Qt::red); + dark_palette.setColor(QPalette::Link, QColor(42, 130, 218)); + dark_palette.setColor(QPalette::Highlight, QColor(42, 130, 218)); + dark_palette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(80, 80, 80)); + dark_palette.setColor(QPalette::HighlightedText, Qt::white); + dark_palette.setColor(QPalette::Disabled, QPalette::HighlightedText, QColor(127, 127, 127)); + qApp->setPalette(dark_palette); + } + + QPixmapCache::clear(); +} + void GlobalSettings::add_change_handler(GlobalSettingsInterface *cb) { callbacks_.push_back(cb); diff --git a/pv/globalsettings.hpp b/pv/globalsettings.hpp index 6e027d7..d23bf63 100644 --- a/pv/globalsettings.hpp +++ b/pv/globalsettings.hpp @@ -25,15 +25,20 @@ #include #include +#include #include #include #include using std::map; +using std::pair; using std::vector; namespace pv { +extern const vector< pair > Themes; + + class GlobalSettingsInterface { public: @@ -46,6 +51,7 @@ class GlobalSettings : public QSettings Q_OBJECT public: + static const QString Key_General_Theme; static const QString Key_View_ZoomToFitDuringAcq; static const QString Key_View_ZoomToFitAfterAcq; static const QString Key_View_TriggerIsZeroTime; @@ -76,6 +82,9 @@ public: void set_defaults_where_needed(); + void save_default_palette(); + void apply_theme(); + static void add_change_handler(GlobalSettingsInterface *cb); static void remove_change_handler(GlobalSettingsInterface *cb); @@ -112,6 +121,8 @@ private: static bool tracking_; static map tracked_changes_; + + static QPalette default_palette_; }; } // namespace pv diff --git a/themes/darkstyle/darkstyle.qss b/themes/darkstyle/darkstyle.qss new file mode 100644 index 0000000..1cb03ad --- /dev/null +++ b/themes/darkstyle/darkstyle.qss @@ -0,0 +1,343 @@ +QToolTip{ + color:#ffffff; + background-color:palette(base); + border:1px solid palette(highlight); + border-radius:4px; +} +QStatusBar{ + background-color:qlineargradient(x1:0,y1:0,x2:0,y2:1,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + color:palette(mid); +} +QMenuBar{ + background-color:qlineargradient(x1:0,y1:0,x2:0,y2:1,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + border-bottom:2px solid rgba(25,25,25,75); +} +QMenuBar::item{ + spacing:2px; + padding:3px 4px; + background:transparent; +} +QMenuBar::item:selected{ + background-color:qlineargradient(x1:0,y1:0,x2:0,y2:1,stop:0 rgba(106,106,106,255),stop:1 rgba(106,106,106,75)); + border-left:1px solid rgba(106,106,106,127); + border-right:1px solid rgba(106,106,106,127); +} +QMenuBar::item:pressed{ + background-color:palette(highlight); + border-left:1px solid rgba(25,25,25,127); + border-right:1px solid rgba(25,25,25,127); +} +QMenu{ + background-color:palette(window); + border:1px solid palette(shadow); +} +QMenu::item{ + padding:3px 25px 3px 25px; + border:1px solid transparent; +} +QMenu::item:disabled{ + background-color:rgba(35,35,35,127); + color:palette(disabled); +} +QMenu::item:selected{ + border-color:rgba(147,191,236,127); + background:palette(highlight); +} +QMenu::icon:checked{ + background-color:qlineargradient(x1:0,y1:1,x2:0,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + border:1px solid palette(highlight); + border-radius:2px; +} +QMenu::separator{ + height:1px; + background:palette(alternate-base); + margin-left:5px; + margin-right:5px; +} +QMenu::indicator{ + width:18px; + height:18px; +} +QMenu::indicator:non-exclusive:checked{ + image:url(:/themes/darkstyle/icon_checkbox_checked.png); + padding-left:2px; +} +QMenu::indicator:non-exclusive:unchecked{ + image:url(:/themes/darkstyle/icon_checkbox_unchecked.png); + padding-left:2px; +} +QMenu::indicator:exclusive:checked{ + image:url(:/themes/darkstyle/icon_radiobutton_checked.png); + padding-left:2px; +} +QMenu::indicator:exclusive:unchecked{ + image:url(:/themes/darkstyle/icon_radiobutton_unchecked.png); + padding-left:2px; +} +QToolBar::top{ + background-color:qlineargradient(x1:0,y1:0,x2:0,y2:1,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + border-bottom:3px solid qlineargradient(x1:0,y1:0,x2:0,y2:1,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); +} +QToolBar::bottom{ + background-color:qlineargradient(x1:0,y1:1,x2:0,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + border-top:3px solid qlineargradient(x1:0,y1:1,x2:0,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); +} +QToolBar::left{ + background-color:qlineargradient(x1:0,y1:0,x2:1,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + border-right:3px solid qlineargradient(x1:0,y1:0,x2:1,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); +} +QToolBar::right{ + background-color:qlineargradient(x1:1,y1:0,x2:0,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + border-left:3px solid qlineargradient(x1:1,y1:0,x2:0,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); +} +QMainWindow::separator{ + width:6px; + height:5px; + padding:2px; +} +QSplitter::handle:horizontal{ + width:10px; +} +QSplitter::handle:vertical{ + height:10px; +} +QMainWindow::separator:hover,QSplitter::handle:hover{ + background:palette(highlight); +} +QDockWidget::title{ + padding:4px; + background-color:qlineargradient(x1:0,y1:1,x2:0,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + border:1px solid rgba(25,25,25,75); + border-bottom:2px solid rgba(25,25,25,75); +} +QDockWidget{ + titlebar-close-icon:url(:/themes/darkstyle/icon_close.png); + titlebar-normal-icon:url(:/themes/darkstyle/icon_restore.png); +} +QDockWidget::close-button,QDockWidget::float-button{ + subcontrol-position:top right; + subcontrol-origin:margin; + position:absolute; + top:3px; + bottom:0px; + width:20px; + height:20px; +} +QDockWidget::close-button{ + right:3px; +} +QDockWidget::float-button{ + right:25px; +} +QGroupBox{ + background-color:rgba(66,66,66,50%); + margin-top:27px; + border:1px solid rgba(25,25,25,127); + border-radius:4px; +} +QGroupBox::title{ + subcontrol-origin:margin; + subcontrol-position:left top; + padding:4px 6px; + margin-left:3px; + background-color:qlineargradient(x1:0,y1:1,x2:0,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + border:1px solid rgba(25,25,25,75); + border-bottom:2px solid rgb(127,127,127); + border-top-left-radius:4px; + border-top-right-radius:4px; +} +QTabWidget::pane{ + background-color:rgba(66,66,66,50%); + border-top:1px solid rgba(25,25,25,50%); +} +QTabWidget::tab-bar{ + left:3px; + top:1px; +} +QTabBar{ + background-color:transparent; + qproperty-drawBase:0; + border-bottom:1px solid rgba(25,25,25,50%); +} +QTabBar::tab{ + padding:4px 6px; + background-color:qlineargradient(x1:0,y1:1,x2:0,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + border:1px solid rgba(25,25,25,75); + border-top-left-radius:4px; + border-top-right-radius:4px; +} +QTabBar::tab:selected,QTabBar::tab:hover{ + background-color:qlineargradient(x1:0,y1:0,x2:0,y2:1,stop:0 rgba(53,53,53,127),stop:1 rgba(66,66,66,50%)); + border-bottom-color:rgba(66,66,66,75%); +} +QTabBar::tab:selected{ + border-bottom:2px solid palette(highlight); +} +QTabBar::tab::selected:disabled{ + border-bottom:2px solid rgb(127,127,127); +} +QTabBar::tab:!selected{ + margin-top:2px; +} +QCheckBox::indicator{ + width:18px; + height:18px; +} +QCheckBox::indicator:checked,QTreeView::indicator:checked,QTableView::indicator:checked,QGroupBox::indicator:checked{ + image:url(:/themes/darkstyle/icon_checkbox_checked.png); +} +QCheckBox::indicator:checked:pressed,QTreeView::indicator:checked:pressed,QTableView::indicator:checked:pressed,QGroupBox::indicator:checked:pressed{ + image:url(:/themes/darkstyle/icon_checkbox_checked_pressed.png); +} +QCheckBox::indicator:checked:disabled,QTreeView::indicator:checked:disabled,QTableView::indicator:checked:disabled,QGroupBox::indicator:checked:disabled{ + image:url(:/themes/darkstyle/icon_checkbox_checked_disabled.png); +} +QCheckBox::indicator:unchecked,QTreeView::indicator:unchecked,QTableView::indicator:unchecked,QGroupBox::indicator:unchecked{ + image:url(:/themes/darkstyle/icon_checkbox_unchecked.png); +} +QCheckBox::indicator:unchecked:pressed,QTreeView::indicator:unchecked:pressed,QTableView::indicator:unchecked:pressed,QGroupBox::indicator:unchecked:pressed{ + image:url(:/themes/darkstyle/icon_checkbox_unchecked_pressed.png); +} +QCheckBox::indicator:unchecked:disabled,QTreeView::indicator:unchecked:disabled,QTableView::indicator:unchecked:disabled,QGroupBox::indicator:unchecked:disabled{ + image:url(:/themes/darkstyle/icon_checkbox_unchecked_disabled.png); +} +QCheckBox::indicator:indeterminate,QTreeView::indicator:indeterminate,QTableView::indicator:indeterminate,QGroupBox::indicator:indeterminate{ + image:url(:/themes/darkstyle/icon_checkbox_indeterminate.png); +} +QCheckBox::indicator:indeterminate:pressed,QTreeView::indicator:indeterminate:pressed,QTableView::indicator:indeterminate:pressed,QGroupBox::indicator:indeterminate:pressed{ + image:url(:/themes/darkstyle/icon_checkbox_indeterminate_pressed.png); +} +QCheckBox::indicator:indeterminate:disabled,QTreeView::indicator:indeterminate:disabled,QTableView::indicator:indeterminate:disabled,QGroupBox::indicator:indeterminate:disabled{ + image:url(:/themes/darkstyle/icon_checkbox_indeterminate_disabled.png); +} +QRadioButton::indicator{ + width:18px; + height:18px; +} +QRadioButton::indicator:checked{ + image:url(:/themes/darkstyle/icon_radiobutton_checked.png); +} +QRadioButton::indicator:checked:pressed{ + image:url(:/themes/darkstyle/icon_radiobutton_checked_pressed.png); +} +QRadioButton::indicator:checked:disabled{ + image:url(:/themes/darkstyle/icon_radiobutton_checked_disabled.png); +} +QRadioButton::indicator:unchecked{ + image:url(:/themes/darkstyle/icon_radiobutton_unchecked.png); +} +QRadioButton::indicator:unchecked:pressed{ + image:url(:/themes/darkstyle/icon_radiobutton_unchecked_pressed.png); +} +QRadioButton::indicator:unchecked:disabled{ + image:url(:/themes/darkstyle/icon_radiobutton_unchecked_disabled.png); +} +QTreeView, QTableView{ + alternate-background-color:palette(window); + background:palette(base); +} +QTreeView QHeaderView::section, QTableView QHeaderView::section{ + background-color:qlineargradient(x1:0,y1:1,x2:0,y2:0,stop:0 rgba(25,25,25,127),stop:1 rgba(53,53,53,75)); + border-style:none; + border-bottom:1px solid palette(dark); + padding-left:5px; + padding-right:5px; +} +QTreeView::item:selected:disabled, QTableView::item:selected:disabled{ + background:rgb(80,80,80); +} +QTreeView::branch{ + background-color:palette(base); +} +QTreeView::branch:has-siblings:!adjoins-item{ + border-image:url(:/themes/darkstyle/icon_vline.png) 0; +} +QTreeView::branch:has-siblings:adjoins-item{ + border-image:url(:/themes/darkstyle/icon_branch_more.png) 0; +} +QTreeView::branch:!has-children:!has-siblings:adjoins-item{ + border-image:url(:/themes/darkstyle/icon_branch_end.png) 0; +} +QTreeView::branch:has-children:!has-siblings:closed, +QTreeView::branch:closed:has-children:has-siblings{ + border-image:none; + image:url(:/themes/darkstyle/icon_branch_closed.png); +} +QTreeView::branch:open:has-children:!has-siblings, +QTreeView::branch:open:has-children:has-siblings{ + border-image:none; + image:url(:/themes/darkstyle/icon_branch_open.png); +} +QScrollBar:vertical{ + background:palette(base); + border-top-right-radius:2px; + border-bottom-right-radius:2px; + width:16px; + margin:0px; +} +QScrollBar::handle:vertical{ + background-color:palette(alternate-base); + border-radius:2px; + min-height:20px; + margin:2px 4px 2px 4px; +} +QScrollBar::handle:vertical:hover{ + background-color:palette(highlight); +} +QScrollBar::add-line:vertical{ + background:none; + height:0px; + subcontrol-position:right; + subcontrol-origin:margin; +} +QScrollBar::sub-line:vertical{ + background:none; + height:0px; + subcontrol-position:left; + subcontrol-origin:margin; +} +QScrollBar:horizontal{ + background:palette(base); + height:16px; + margin:0px; +} +QScrollBar::handle:horizontal{ + background-color:palette(alternate-base); + border-radius:2px; + min-width:20px; + margin:4px 2px 4px 2px; +} +QScrollBar::handle:horizontal:hover{ + background-color:palette(highlight); +} +QScrollBar::add-line:horizontal{ + background:none; + width:0px; + subcontrol-position:bottom; + subcontrol-origin:margin; +} +QScrollBar::sub-line:horizontal{ + background:none; + width:0px; + subcontrol-position:top; + subcontrol-origin:margin; +} +QSlider::handle:horizontal{ + border-radius:4px; + border:1px solid rgba(25,25,25,255); + background-color:palette(alternate-base); + min-height:20px; + margin:0 -4px; +} +QSlider::handle:horizontal:hover{ + background:palette(highlight); +} +QSlider::add-page:horizontal{ + background:palette(base); +} +QSlider::sub-page:horizontal{ + background:palette(highlight); +} +QSlider::sub-page:horizontal:disabled{ + background:rgb(80,80,80); +} diff --git a/themes/darkstyle/icon_branch_closed.png b/themes/darkstyle/icon_branch_closed.png new file mode 100644 index 0000000..fa785cc Binary files /dev/null and b/themes/darkstyle/icon_branch_closed.png differ diff --git a/themes/darkstyle/icon_branch_end.png b/themes/darkstyle/icon_branch_end.png new file mode 100644 index 0000000..d90a04c Binary files /dev/null and b/themes/darkstyle/icon_branch_end.png differ diff --git a/themes/darkstyle/icon_branch_more.png b/themes/darkstyle/icon_branch_more.png new file mode 100644 index 0000000..bdbe4ed Binary files /dev/null and b/themes/darkstyle/icon_branch_more.png differ diff --git a/themes/darkstyle/icon_branch_open.png b/themes/darkstyle/icon_branch_open.png new file mode 100644 index 0000000..9dd05d6 Binary files /dev/null and b/themes/darkstyle/icon_branch_open.png differ diff --git a/themes/darkstyle/icon_checkbox_checked.png b/themes/darkstyle/icon_checkbox_checked.png new file mode 100644 index 0000000..fa22907 Binary files /dev/null and b/themes/darkstyle/icon_checkbox_checked.png differ diff --git a/themes/darkstyle/icon_checkbox_checked_disabled.png b/themes/darkstyle/icon_checkbox_checked_disabled.png new file mode 100644 index 0000000..441d0d9 Binary files /dev/null and b/themes/darkstyle/icon_checkbox_checked_disabled.png differ diff --git a/themes/darkstyle/icon_checkbox_checked_pressed.png b/themes/darkstyle/icon_checkbox_checked_pressed.png new file mode 100644 index 0000000..7b508c8 Binary files /dev/null and b/themes/darkstyle/icon_checkbox_checked_pressed.png differ diff --git a/themes/darkstyle/icon_checkbox_indeterminate.png b/themes/darkstyle/icon_checkbox_indeterminate.png new file mode 100644 index 0000000..87ebf23 Binary files /dev/null and b/themes/darkstyle/icon_checkbox_indeterminate.png differ diff --git a/themes/darkstyle/icon_checkbox_indeterminate_disabled.png b/themes/darkstyle/icon_checkbox_indeterminate_disabled.png new file mode 100644 index 0000000..ee7d112 Binary files /dev/null and b/themes/darkstyle/icon_checkbox_indeterminate_disabled.png differ diff --git a/themes/darkstyle/icon_checkbox_indeterminate_pressed.png b/themes/darkstyle/icon_checkbox_indeterminate_pressed.png new file mode 100644 index 0000000..562c482 Binary files /dev/null and b/themes/darkstyle/icon_checkbox_indeterminate_pressed.png differ diff --git a/themes/darkstyle/icon_checkbox_unchecked.png b/themes/darkstyle/icon_checkbox_unchecked.png new file mode 100644 index 0000000..c3c14dd Binary files /dev/null and b/themes/darkstyle/icon_checkbox_unchecked.png differ diff --git a/themes/darkstyle/icon_checkbox_unchecked_disabled.png b/themes/darkstyle/icon_checkbox_unchecked_disabled.png new file mode 100644 index 0000000..3ac26d8 Binary files /dev/null and b/themes/darkstyle/icon_checkbox_unchecked_disabled.png differ diff --git a/themes/darkstyle/icon_checkbox_unchecked_pressed.png b/themes/darkstyle/icon_checkbox_unchecked_pressed.png new file mode 100644 index 0000000..c24130c Binary files /dev/null and b/themes/darkstyle/icon_checkbox_unchecked_pressed.png differ diff --git a/themes/darkstyle/icon_close.png b/themes/darkstyle/icon_close.png new file mode 100644 index 0000000..ece7c28 Binary files /dev/null and b/themes/darkstyle/icon_close.png differ diff --git a/themes/darkstyle/icon_radiobutton_checked.png b/themes/darkstyle/icon_radiobutton_checked.png new file mode 100644 index 0000000..f747f49 Binary files /dev/null and b/themes/darkstyle/icon_radiobutton_checked.png differ diff --git a/themes/darkstyle/icon_radiobutton_checked_disabled.png b/themes/darkstyle/icon_radiobutton_checked_disabled.png new file mode 100644 index 0000000..fa554cb Binary files /dev/null and b/themes/darkstyle/icon_radiobutton_checked_disabled.png differ diff --git a/themes/darkstyle/icon_radiobutton_checked_pressed.png b/themes/darkstyle/icon_radiobutton_checked_pressed.png new file mode 100644 index 0000000..7b4bb11 Binary files /dev/null and b/themes/darkstyle/icon_radiobutton_checked_pressed.png differ diff --git a/themes/darkstyle/icon_radiobutton_unchecked.png b/themes/darkstyle/icon_radiobutton_unchecked.png new file mode 100644 index 0000000..e74f040 Binary files /dev/null and b/themes/darkstyle/icon_radiobutton_unchecked.png differ diff --git a/themes/darkstyle/icon_radiobutton_unchecked_disabled.png b/themes/darkstyle/icon_radiobutton_unchecked_disabled.png new file mode 100644 index 0000000..87d1846 Binary files /dev/null and b/themes/darkstyle/icon_radiobutton_unchecked_disabled.png differ diff --git a/themes/darkstyle/icon_radiobutton_unchecked_pressed.png b/themes/darkstyle/icon_radiobutton_unchecked_pressed.png new file mode 100644 index 0000000..8f4d548 Binary files /dev/null and b/themes/darkstyle/icon_radiobutton_unchecked_pressed.png differ diff --git a/themes/darkstyle/icon_restore.png b/themes/darkstyle/icon_restore.png new file mode 100644 index 0000000..be29650 Binary files /dev/null and b/themes/darkstyle/icon_restore.png differ diff --git a/themes/darkstyle/icon_undock.png b/themes/darkstyle/icon_undock.png new file mode 100644 index 0000000..25e317e Binary files /dev/null and b/themes/darkstyle/icon_undock.png differ diff --git a/themes/darkstyle/icon_vline.png b/themes/darkstyle/icon_vline.png new file mode 100644 index 0000000..14228c8 Binary files /dev/null and b/themes/darkstyle/icon_vline.png differ diff --git a/themes/qdarkstyle/rc/Hmovetoolbar.png b/themes/qdarkstyle/rc/Hmovetoolbar.png new file mode 100644 index 0000000..cead99e Binary files /dev/null and b/themes/qdarkstyle/rc/Hmovetoolbar.png differ diff --git a/themes/qdarkstyle/rc/Hsepartoolbar.png b/themes/qdarkstyle/rc/Hsepartoolbar.png new file mode 100644 index 0000000..7f183c8 Binary files /dev/null and b/themes/qdarkstyle/rc/Hsepartoolbar.png differ diff --git a/themes/qdarkstyle/rc/Vmovetoolbar.png b/themes/qdarkstyle/rc/Vmovetoolbar.png new file mode 100644 index 0000000..512edce Binary files /dev/null and b/themes/qdarkstyle/rc/Vmovetoolbar.png differ diff --git a/themes/qdarkstyle/rc/Vsepartoolbar.png b/themes/qdarkstyle/rc/Vsepartoolbar.png new file mode 100644 index 0000000..d9dc156 Binary files /dev/null and b/themes/qdarkstyle/rc/Vsepartoolbar.png differ diff --git a/themes/qdarkstyle/rc/branch_closed-on.png b/themes/qdarkstyle/rc/branch_closed-on.png new file mode 100644 index 0000000..d081e9b Binary files /dev/null and b/themes/qdarkstyle/rc/branch_closed-on.png differ diff --git a/themes/qdarkstyle/rc/branch_closed.png b/themes/qdarkstyle/rc/branch_closed.png new file mode 100644 index 0000000..d652159 Binary files /dev/null and b/themes/qdarkstyle/rc/branch_closed.png differ diff --git a/themes/qdarkstyle/rc/branch_open-on.png b/themes/qdarkstyle/rc/branch_open-on.png new file mode 100644 index 0000000..ec372b2 Binary files /dev/null and b/themes/qdarkstyle/rc/branch_open-on.png differ diff --git a/themes/qdarkstyle/rc/branch_open.png b/themes/qdarkstyle/rc/branch_open.png new file mode 100644 index 0000000..66f8e1a Binary files /dev/null and b/themes/qdarkstyle/rc/branch_open.png differ diff --git a/themes/qdarkstyle/rc/checkbox_checked.png b/themes/qdarkstyle/rc/checkbox_checked.png new file mode 100644 index 0000000..830cfee Binary files /dev/null and b/themes/qdarkstyle/rc/checkbox_checked.png differ diff --git a/themes/qdarkstyle/rc/checkbox_checked_disabled.png b/themes/qdarkstyle/rc/checkbox_checked_disabled.png new file mode 100644 index 0000000..cb63cc2 Binary files /dev/null and b/themes/qdarkstyle/rc/checkbox_checked_disabled.png differ diff --git a/themes/qdarkstyle/rc/checkbox_checked_focus.png b/themes/qdarkstyle/rc/checkbox_checked_focus.png new file mode 100644 index 0000000..671be27 Binary files /dev/null and b/themes/qdarkstyle/rc/checkbox_checked_focus.png differ diff --git a/themes/qdarkstyle/rc/checkbox_indeterminate.png b/themes/qdarkstyle/rc/checkbox_indeterminate.png new file mode 100644 index 0000000..41024f7 Binary files /dev/null and b/themes/qdarkstyle/rc/checkbox_indeterminate.png differ diff --git a/themes/qdarkstyle/rc/checkbox_indeterminate_disabled.png b/themes/qdarkstyle/rc/checkbox_indeterminate_disabled.png new file mode 100644 index 0000000..abdc01d Binary files /dev/null and b/themes/qdarkstyle/rc/checkbox_indeterminate_disabled.png differ diff --git a/themes/qdarkstyle/rc/checkbox_indeterminate_focus.png b/themes/qdarkstyle/rc/checkbox_indeterminate_focus.png new file mode 100644 index 0000000..415f9b6 Binary files /dev/null and b/themes/qdarkstyle/rc/checkbox_indeterminate_focus.png differ diff --git a/themes/qdarkstyle/rc/checkbox_unchecked.png b/themes/qdarkstyle/rc/checkbox_unchecked.png new file mode 100644 index 0000000..2159aca Binary files /dev/null and b/themes/qdarkstyle/rc/checkbox_unchecked.png differ diff --git a/themes/qdarkstyle/rc/checkbox_unchecked_disabled.png b/themes/qdarkstyle/rc/checkbox_unchecked_disabled.png new file mode 100644 index 0000000..ade721e Binary files /dev/null and b/themes/qdarkstyle/rc/checkbox_unchecked_disabled.png differ diff --git a/themes/qdarkstyle/rc/checkbox_unchecked_focus.png b/themes/qdarkstyle/rc/checkbox_unchecked_focus.png new file mode 100644 index 0000000..e4258cc Binary files /dev/null and b/themes/qdarkstyle/rc/checkbox_unchecked_focus.png differ diff --git a/themes/qdarkstyle/rc/close-hover.png b/themes/qdarkstyle/rc/close-hover.png new file mode 100644 index 0000000..657943a Binary files /dev/null and b/themes/qdarkstyle/rc/close-hover.png differ diff --git a/themes/qdarkstyle/rc/close-pressed.png b/themes/qdarkstyle/rc/close-pressed.png new file mode 100644 index 0000000..937d005 Binary files /dev/null and b/themes/qdarkstyle/rc/close-pressed.png differ diff --git a/themes/qdarkstyle/rc/close.png b/themes/qdarkstyle/rc/close.png new file mode 100644 index 0000000..bc0f576 Binary files /dev/null and b/themes/qdarkstyle/rc/close.png differ diff --git a/themes/qdarkstyle/rc/down_arrow.png b/themes/qdarkstyle/rc/down_arrow.png new file mode 100644 index 0000000..e271f7f Binary files /dev/null and b/themes/qdarkstyle/rc/down_arrow.png differ diff --git a/themes/qdarkstyle/rc/down_arrow_disabled.png b/themes/qdarkstyle/rc/down_arrow_disabled.png new file mode 100644 index 0000000..5805d98 Binary files /dev/null and b/themes/qdarkstyle/rc/down_arrow_disabled.png differ diff --git a/themes/qdarkstyle/rc/left_arrow.png b/themes/qdarkstyle/rc/left_arrow.png new file mode 100644 index 0000000..f808d2d Binary files /dev/null and b/themes/qdarkstyle/rc/left_arrow.png differ diff --git a/themes/qdarkstyle/rc/left_arrow_disabled.png b/themes/qdarkstyle/rc/left_arrow_disabled.png new file mode 100644 index 0000000..f5b9af8 Binary files /dev/null and b/themes/qdarkstyle/rc/left_arrow_disabled.png differ diff --git a/themes/qdarkstyle/rc/radio_checked.png b/themes/qdarkstyle/rc/radio_checked.png new file mode 100644 index 0000000..235e6b0 Binary files /dev/null and b/themes/qdarkstyle/rc/radio_checked.png differ diff --git a/themes/qdarkstyle/rc/radio_checked_disabled.png b/themes/qdarkstyle/rc/radio_checked_disabled.png new file mode 100644 index 0000000..bf0051e Binary files /dev/null and b/themes/qdarkstyle/rc/radio_checked_disabled.png differ diff --git a/themes/qdarkstyle/rc/radio_checked_focus.png b/themes/qdarkstyle/rc/radio_checked_focus.png new file mode 100644 index 0000000..700c6b5 Binary files /dev/null and b/themes/qdarkstyle/rc/radio_checked_focus.png differ diff --git a/themes/qdarkstyle/rc/radio_unchecked.png b/themes/qdarkstyle/rc/radio_unchecked.png new file mode 100644 index 0000000..9a4def6 Binary files /dev/null and b/themes/qdarkstyle/rc/radio_unchecked.png differ diff --git a/themes/qdarkstyle/rc/radio_unchecked_disabled.png b/themes/qdarkstyle/rc/radio_unchecked_disabled.png new file mode 100644 index 0000000..6ece890 Binary files /dev/null and b/themes/qdarkstyle/rc/radio_unchecked_disabled.png differ diff --git a/themes/qdarkstyle/rc/radio_unchecked_focus.png b/themes/qdarkstyle/rc/radio_unchecked_focus.png new file mode 100644 index 0000000..564e022 Binary files /dev/null and b/themes/qdarkstyle/rc/radio_unchecked_focus.png differ diff --git a/themes/qdarkstyle/rc/right_arrow.png b/themes/qdarkstyle/rc/right_arrow.png new file mode 100644 index 0000000..9b0a4e6 Binary files /dev/null and b/themes/qdarkstyle/rc/right_arrow.png differ diff --git a/themes/qdarkstyle/rc/right_arrow_disabled.png b/themes/qdarkstyle/rc/right_arrow_disabled.png new file mode 100644 index 0000000..5c0bee4 Binary files /dev/null and b/themes/qdarkstyle/rc/right_arrow_disabled.png differ diff --git a/themes/qdarkstyle/rc/sizegrip.png b/themes/qdarkstyle/rc/sizegrip.png new file mode 100644 index 0000000..350583a Binary files /dev/null and b/themes/qdarkstyle/rc/sizegrip.png differ diff --git a/themes/qdarkstyle/rc/stylesheet-branch-end.png b/themes/qdarkstyle/rc/stylesheet-branch-end.png new file mode 100644 index 0000000..cb5d3b5 Binary files /dev/null and b/themes/qdarkstyle/rc/stylesheet-branch-end.png differ diff --git a/themes/qdarkstyle/rc/stylesheet-branch-more.png b/themes/qdarkstyle/rc/stylesheet-branch-more.png new file mode 100644 index 0000000..6271140 Binary files /dev/null and b/themes/qdarkstyle/rc/stylesheet-branch-more.png differ diff --git a/themes/qdarkstyle/rc/stylesheet-vline.png b/themes/qdarkstyle/rc/stylesheet-vline.png new file mode 100644 index 0000000..87536cc Binary files /dev/null and b/themes/qdarkstyle/rc/stylesheet-vline.png differ diff --git a/themes/qdarkstyle/rc/transparent.png b/themes/qdarkstyle/rc/transparent.png new file mode 100644 index 0000000..483df25 Binary files /dev/null and b/themes/qdarkstyle/rc/transparent.png differ diff --git a/themes/qdarkstyle/rc/undock.png b/themes/qdarkstyle/rc/undock.png new file mode 100644 index 0000000..88691d7 Binary files /dev/null and b/themes/qdarkstyle/rc/undock.png differ diff --git a/themes/qdarkstyle/rc/up_arrow.png b/themes/qdarkstyle/rc/up_arrow.png new file mode 100644 index 0000000..abcc724 Binary files /dev/null and b/themes/qdarkstyle/rc/up_arrow.png differ diff --git a/themes/qdarkstyle/rc/up_arrow_disabled.png b/themes/qdarkstyle/rc/up_arrow_disabled.png new file mode 100644 index 0000000..b9c8e3b Binary files /dev/null and b/themes/qdarkstyle/rc/up_arrow_disabled.png differ diff --git a/themes/qdarkstyle/style.qss b/themes/qdarkstyle/style.qss new file mode 100644 index 0000000..5c8a259 --- /dev/null +++ b/themes/qdarkstyle/style.qss @@ -0,0 +1,1248 @@ +QToolTip { + border: 1px solid #76797C; + background-color: #5A7566; + color: white; + padding: 0px; /*remove padding, for fix combobox tooltip.*/ + opacity: 200; +} + +QWidget { + color: #eff0f1; + background-color: #31363b; + selection-background-color: #3daee9; + selection-color: #eff0f1; + background-clip: border; + border-image: none; + border: 0px transparent black; + outline: 0; +} + +QWidget:item:hover { + background-color: #18465d; + color: #eff0f1; +} + +QWidget:item:selected { + background-color: #18465d; +} + +QCheckBox { + spacing: 5px; + outline: none; + color: #eff0f1; + margin-bottom: 2px; +} + +QCheckBox:disabled { + color: #76797C; +} + +QCheckBox::indicator, +QGroupBox::indicator { + width: 18px; + height: 18px; +} + +QGroupBox::indicator { + margin-left: 2px; +} + +QCheckBox::indicator:unchecked, +QGroupBox::indicator:unchecked { + image: url(:/themes/qdarkstyle/rc/checkbox_unchecked.png); +} + +QCheckBox::indicator:unchecked:hover, +QCheckBox::indicator:unchecked:focus, +QCheckBox::indicator:unchecked:pressed, +QGroupBox::indicator:unchecked:hover, +QGroupBox::indicator:unchecked:focus, +QGroupBox::indicator:unchecked:pressed { + border: none; + image: url(:/themes/qdarkstyle/rc/checkbox_unchecked_focus.png); +} + +QCheckBox::indicator:checked, +QGroupBox::indicator:checked { + image: url(:/themes/qdarkstyle/rc/checkbox_checked.png); +} + +QCheckBox::indicator:checked:hover, +QCheckBox::indicator:checked:focus, +QCheckBox::indicator:checked:pressed, +QGroupBox::indicator:checked:hover, +QGroupBox::indicator:checked:focus, +QGroupBox::indicator:checked:pressed { + border: none; + image: url(:/themes/qdarkstyle/rc/checkbox_checked_focus.png); +} + +QCheckBox::indicator:indeterminate { + image: url(:/themes/qdarkstyle/rc/checkbox_indeterminate.png); +} + +QCheckBox::indicator:indeterminate:focus, +QCheckBox::indicator:indeterminate:hover, +QCheckBox::indicator:indeterminate:pressed { + image: url(:/themes/qdarkstyle/rc/checkbox_indeterminate_focus.png); +} + +QCheckBox::indicator:checked:disabled, +QGroupBox::indicator:checked:disabled { + image: url(:/themes/qdarkstyle/rc/checkbox_checked_disabled.png); +} + +QCheckBox::indicator:unchecked:disabled, +QGroupBox::indicator:unchecked:disabled { + image: url(:/themes/qdarkstyle/rc/checkbox_unchecked_disabled.png); +} + +QRadioButton { + spacing: 5px; + outline: none; + color: #eff0f1; + margin-bottom: 2px; +} + +QRadioButton:disabled { + color: #76797C; +} + +QRadioButton::indicator { + width: 21px; + height: 21px; +} + +QRadioButton::indicator:unchecked { + image: url(:/themes/qdarkstyle/rc/radio_unchecked.png); +} + +QRadioButton::indicator:unchecked:hover, +QRadioButton::indicator:unchecked:focus, +QRadioButton::indicator:unchecked:pressed { + border: none; + outline: none; + image: url(:/themes/qdarkstyle/rc/radio_unchecked_focus.png); +} + +QRadioButton::indicator:checked { + border: none; + outline: none; + image: url(:/themes/qdarkstyle/rc/radio_checked.png); +} + +QRadioButton::indicator:checked:hover, +QRadioButton::indicator:checked:focus, +QRadioButton::indicator:checked:pressed { + border: none; + outline: none; + image: url(:/themes/qdarkstyle/rc/radio_checked_focus.png); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + image: url(:/themes/qdarkstyle/rc/radio_checked_disabled.png); +} + +QRadioButton::indicator:unchecked:disabled { + image: url(:/themes/qdarkstyle/rc/radio_unchecked_disabled.png); +} + +QMenuBar { + background-color: #31363b; + color: #eff0f1; +} + +QMenuBar::item { + background: transparent; +} + +QMenuBar::item:selected { + background: transparent; + border: 1px solid #76797C; +} + +QMenuBar::item:pressed { + border: 1px solid #76797C; + background-color: #3daee9; + color: #eff0f1; + margin-bottom: -1px; + padding-bottom: 1px; +} + +QMenu { + border: 1px solid #76797C; + color: #eff0f1; + margin: 2px; +} + +QMenu::icon { + margin: 5px; +} + +QMenu::item { + padding: 5px 30px 5px 30px; + border: 1px solid transparent; + /* reserve space for selection border */ +} + +QMenu::item:selected { + color: #eff0f1; +} + +QMenu::separator { + height: 2px; + background: lightblue; + margin-left: 10px; + margin-right: 5px; +} + +QMenu::indicator { + width: 18px; + height: 18px; +} + + +/* non-exclusive indicator = check box style indicator + (see QActionGroup::setExclusive) */ + +QMenu::indicator:non-exclusive:unchecked { + image: url(:/themes/qdarkstyle/rc/checkbox_unchecked.png); +} + +QMenu::indicator:non-exclusive:unchecked:selected { + image: url(:/themes/qdarkstyle/rc/checkbox_unchecked_disabled.png); +} + +QMenu::indicator:non-exclusive:checked { + image: url(:/themes/qdarkstyle/rc/checkbox_checked.png); +} + +QMenu::indicator:non-exclusive:checked:selected { + image: url(:/themes/qdarkstyle/rc/checkbox_checked_disabled.png); +} + + +/* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ + +QMenu::indicator:exclusive:unchecked { + image: url(:/themes/qdarkstyle/rc/radio_unchecked.png); +} + +QMenu::indicator:exclusive:unchecked:selected { + image: url(:/themes/qdarkstyle/rc/radio_unchecked_disabled.png); +} + +QMenu::indicator:exclusive:checked { + image: url(:/themes/qdarkstyle/rc/radio_checked.png); +} + +QMenu::indicator:exclusive:checked:selected { + image: url(:/themes/qdarkstyle/rc/radio_checked_disabled.png); +} + +QMenu::right-arrow { + margin: 5px; + image: url(:/themes/qdarkstyle/rc/right_arrow.png) +} + +QWidget:disabled { + color: #454545; + background-color: #31363b; +} + +QAbstractItemView { + alternate-background-color: #31363b; + color: #eff0f1; + border: 1px solid #3A3939; + border-radius: 2px; +} + +QWidget:focus, +QMenuBar:focus { + border: 1px solid #3daee9; +} + +QTabWidget:focus, +QCheckBox:focus, +QRadioButton:focus, +QSlider:focus { + border: none; +} + +QLineEdit { + background-color: #232629; + padding: 5px; + border-style: solid; + border: 1px solid #76797C; + border-radius: 2px; + color: #eff0f1; +} + +QAbstractItemView QLineEdit { + padding: 0; +} + +QGroupBox { + border: 1px solid #76797C; + border-radius: 2px; + margin-top: 20px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top center; + padding-left: 10px; + padding-right: 10px; + padding-top: 10px; +} + +QAbstractScrollArea { + border-radius: 2px; + border: 1px solid #76797C; + background-color: transparent; +} + +QScrollBar:horizontal { + height: 15px; + margin: 3px 15px 3px 15px; + border: 1px transparent #2A2929; + border-radius: 4px; + background-color: #2A2929; +} + +QScrollBar::handle:horizontal { + background-color: #605F5F; + min-width: 5px; + border-radius: 4px; +} + +QScrollBar::add-line:horizontal { + margin: 0px 3px 0px 3px; + border-image: url(:/themes/qdarkstyle/rc/right_arrow_disabled.png); + width: 10px; + height: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 3px 0px 3px; + border-image: url(:/themes/qdarkstyle/rc/left_arrow_disabled.png); + height: 10px; + width: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, +QScrollBar::add-line:horizontal:on { + border-image: url(:/themes/qdarkstyle/rc/right_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, +QScrollBar::sub-line:horizontal:on { + border-image: url(:/themes/qdarkstyle/rc/left_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, +QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::add-page:horizontal, +QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar:vertical { + background-color: #2A2929; + width: 15px; + margin: 15px 3px 15px 3px; + border: 1px transparent #2A2929; + border-radius: 4px; +} + +QScrollBar::handle:vertical { + background-color: #605F5F; + min-height: 5px; + border-radius: 4px; +} + +QScrollBar::sub-line:vertical { + margin: 3px 0px 3px 0px; + border-image: url(:/themes/qdarkstyle/rc/up_arrow_disabled.png); + height: 10px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + margin: 3px 0px 3px 0px; + border-image: url(:/themes/qdarkstyle/rc/down_arrow_disabled.png); + height: 10px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, +QScrollBar::sub-line:vertical:on { + border-image: url(:/themes/qdarkstyle/rc/up_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, +QScrollBar::add-line:vertical:on { + border-image: url(:/themes/qdarkstyle/rc/down_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:vertical, +QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:vertical, +QScrollBar::sub-page:vertical { + background: none; +} + +QTextEdit { + background-color: #232629; + color: #eff0f1; + border: 1px solid #76797C; +} + +QPlainTextEdit { + background-color: #232629; + ; + color: #eff0f1; + border-radius: 2px; + border: 1px solid #76797C; +} + +QHeaderView::section { + background-color: #76797C; + color: #eff0f1; + padding: 5px; + border: 1px solid #76797C; +} + +QSizeGrip { + image: url(:/themes/qdarkstyle/rc/sizegrip.png); + width: 12px; + height: 12px; +} + +QMainWindow::separator { + background-color: #31363b; + color: white; + padding-left: 4px; + spacing: 2px; + border: 1px dashed #76797C; +} + +QMainWindow::separator:hover { + background-color: #787876; + color: white; + padding-left: 4px; + border: 1px solid #76797C; + spacing: 2px; +} + +QMenu::separator { + height: 1px; + background-color: #76797C; + color: white; + padding-left: 4px; + margin-left: 10px; + margin-right: 5px; +} + +QFrame { + border-radius: 2px; + border: 1px solid #76797C; +} + +QFrame[frameShape="0"] { + border-radius: 2px; + border: 1px transparent #76797C; +} + +QStackedWidget { + border: 1px transparent black; +} + +QToolBar { + border: 1px transparent #393838; + background: 1px solid #31363b; + font-weight: bold; +} + +QToolBar::handle:horizontal { + image: url(:/themes/qdarkstyle/rc/Hmovetoolbar.png); +} + +QToolBar::handle:vertical { + image: url(:/themes/qdarkstyle/rc/Vmovetoolbar.png); +} + +QToolBar::separator:horizontal { + image: url(:/themes/qdarkstyle/rc/Hsepartoolbar.png); +} + +QToolBar::separator:vertical { + image: url(:/themes/qdarkstyle/rc/Vsepartoolbar.png); +} + +QToolButton#qt_toolbar_ext_button { + background: #58595a +} + +QPushButton { + color: #eff0f1; + background-color: #31363b; + border-width: 1px; + border-color: #76797C; + border-style: solid; + padding: 5px; + border-radius: 2px; + outline: none; +} + +QPushButton:disabled { + background-color: #31363b; + border-width: 1px; + border-color: #454545; + border-style: solid; + padding-top: 5px; + padding-bottom: 5px; + padding-left: 10px; + padding-right: 10px; + border-radius: 2px; + color: #454545; +} + +QPushButton:focus { + background-color: #3daee9; + color: white; +} + +QPushButton:pressed { + background-color: #3daee9; + padding-top: -15px; + padding-bottom: -17px; +} + +QComboBox { + selection-background-color: #3daee9; + border-style: solid; + border: 1px solid #76797C; + border-radius: 2px; + padding: 5px; + min-width: 75px; +} + +QPushButton:checked { + background-color: #76797C; + border-color: #6A6969; +} + +QComboBox:hover, +QPushButton:hover, +QAbstractSpinBox:hover, +QLineEdit:hover, +QTextEdit:hover, +QPlainTextEdit:hover, +QAbstractView:hover, +QTreeView:hover { + border: 1px solid #3daee9; + color: #eff0f1; +} + +QComboBox:on { + padding-top: 3px; + padding-left: 4px; + selection-background-color: #4a4a4a; +} + +QComboBox QAbstractItemView { + background-color: #232629; + border-radius: 2px; + border: 1px solid #76797C; + selection-background-color: #18465d; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 15px; + border-left-width: 0px; + border-left-color: darkgray; + border-left-style: solid; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QComboBox::down-arrow { + image: url(:/themes/qdarkstyle/rc/down_arrow_disabled.png); +} + +QComboBox::down-arrow:on, +QComboBox::down-arrow:hover, +QComboBox::down-arrow:focus { + image: url(:/themes/qdarkstyle/rc/down_arrow.png); +} + +QAbstractSpinBox { + padding: 5px; + border: 1px solid #76797C; + background-color: #232629; + color: #eff0f1; + border-radius: 2px; + min-width: 75px; +} + +QAbstractSpinBox:up-button { + background-color: transparent; + subcontrol-origin: border; + subcontrol-position: center right; +} + +QAbstractSpinBox:down-button { + background-color: transparent; + subcontrol-origin: border; + subcontrol-position: center left; +} + +QAbstractSpinBox::up-arrow, +QAbstractSpinBox::up-arrow:disabled, +QAbstractSpinBox::up-arrow:off { + image: url(:/themes/qdarkstyle/rc/up_arrow_disabled.png); + width: 10px; + height: 10px; +} + +QAbstractSpinBox::up-arrow:hover { + image: url(:/themes/qdarkstyle/rc/up_arrow.png); +} + +QAbstractSpinBox::down-arrow, +QAbstractSpinBox::down-arrow:disabled, +QAbstractSpinBox::down-arrow:off { + image: url(:/themes/qdarkstyle/rc/down_arrow_disabled.png); + width: 10px; + height: 10px; +} + +QAbstractSpinBox::down-arrow:hover { + image: url(:/themes/qdarkstyle/rc/down_arrow.png); +} + +QLabel { + border: 0px solid black; +} + +QTabWidget { + border: 0px transparent black; +} + +QTabWidget::pane { + border: 1px solid #76797C; + padding: 5px; + margin: 0px; +} + +QTabWidget::tab-bar { + /* left: 5px; move to the right by 5px */ +} + +QTabBar { + qproperty-drawBase: 0; + border-radius: 3px; +} + +QTabBar:focus { + border: 0px transparent black; +} + +QTabBar::close-button { + image: url(:/themes/qdarkstyle/rc/close.png); + background: transparent; +} + +QTabBar::close-button:hover { + image: url(:/themes/qdarkstyle/rc/close-hover.png); + background: transparent; +} + +QTabBar::close-button:pressed { + image: url(:/themes/qdarkstyle/rc/close-pressed.png); + background: transparent; +} + + +/* TOP TABS */ + +QTabBar::tab:top { + color: #eff0f1; + border: 1px solid #76797C; + border-bottom: 1px transparent black; + background-color: #31363b; + padding: 5px; + min-width: 50px; + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} + +QTabBar::tab:top:selected { + color: #eff0f1; + background-color: #54575B; + border: 1px solid #76797C; + border-bottom: 2px solid #3daee9; + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} + +QTabBar::tab:top:!selected:hover { + background-color: #3daee9; +} + + +/* BOTTOM TABS */ + +QTabBar::tab:bottom { + color: #eff0f1; + border: 1px solid #76797C; + border-top: 1px transparent black; + background-color: #31363b; + padding: 5px; + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + min-width: 50px; +} + +QTabBar::tab:bottom:selected { + color: #eff0f1; + background-color: #54575B; + border: 1px solid #76797C; + border-top: 2px solid #3daee9; + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; +} + +QTabBar::tab:bottom:!selected:hover { + background-color: #3daee9; +} + + +/* LEFT TABS */ + +QTabBar::tab:left { + color: #eff0f1; + border: 1px solid #76797C; + border-left: 1px transparent black; + background-color: #31363b; + padding: 5px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + min-height: 50px; +} + +QTabBar::tab:left:selected { + color: #eff0f1; + background-color: #54575B; + border: 1px solid #76797C; + border-left: 2px solid #3daee9; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} + +QTabBar::tab:left:!selected:hover { + background-color: #3daee9; +} + + +/* RIGHT TABS */ + +QTabBar::tab:right { + color: #eff0f1; + border: 1px solid #76797C; + border-right: 1px transparent black; + background-color: #31363b; + padding: 5px; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; + min-height: 50px; +} + +QTabBar::tab:right:selected { + color: #eff0f1; + background-color: #54575B; + border: 1px solid #76797C; + border-right: 2px solid #3daee9; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} + +QTabBar::tab:right:!selected:hover { + background-color: #3daee9; +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(:/themes/qdarkstyle/rc/right_arrow.png); +} + +QTabBar QToolButton::left-arrow:enabled { + image: url(:/themes/qdarkstyle/rc/left_arrow.png); +} + +QTabBar QToolButton::right-arrow:disabled { + image: url(:/themes/qdarkstyle/rc/right_arrow_disabled.png); +} + +QTabBar QToolButton::left-arrow:disabled { + image: url(:/themes/qdarkstyle/rc/left_arrow_disabled.png); +} + +QDockWidget { + background: #31363b; + border: 1px solid #403F3F; + titlebar-close-icon: url(:/themes/qdarkstyle/rc/close.png); + titlebar-normal-icon: url(:/themes/qdarkstyle/rc/undock.png); +} + +QDockWidget::close-button, +QDockWidget::float-button { + border: 1px solid transparent; + border-radius: 2px; + background: transparent; +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background: rgba(255, 255, 255, 10); +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + padding: 1px -1px -1px 1px; + background: rgba(255, 255, 255, 10); +} + +QTreeView, +QListView { + border: 1px solid #76797C; + background-color: #232629; +} + +QTreeView:branch:selected, +QTreeView:branch:hover { + background: url(:/themes/qdarkstyle/rc/transparent.png); +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(:/themes/qdarkstyle/rc/transparent.png); +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(:/themes/qdarkstyle/rc/transparent.png); +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(:/themes/qdarkstyle/rc/transparent.png); +} + +QTreeView::branch:has-children:!has-siblings:closed, +QTreeView::branch:closed:has-children:has-siblings { + image: url(:/themes/qdarkstyle/rc/branch_closed.png); +} + +QTreeView::branch:open:has-children:!has-siblings, +QTreeView::branch:open:has-children:has-siblings { + image: url(:/themes/qdarkstyle/rc/branch_open.png); +} + +QTreeView::branch:has-children:!has-siblings:closed:hover, +QTreeView::branch:closed:has-children:has-siblings:hover { + image: url(:/themes/qdarkstyle/rc/branch_closed-on.png); +} + +QTreeView::branch:open:has-children:!has-siblings:hover, +QTreeView::branch:open:has-children:has-siblings:hover { + image: url(:/themes/qdarkstyle/rc/branch_open-on.png); +} + +QListView::item:!selected:hover, +QTreeView::item:!selected:hover { + background: #18465d; + outline: 0; + color: #eff0f1 +} + +QListView::item:selected:hover, +QTreeView::item:selected:hover { + background: #287399; + color: #eff0f1; +} + +QTreeView::indicator:checked, +QListView::indicator:checked { + image: url(:/themes/qdarkstyle/rc/checkbox_checked.png); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked { + image: url(:/themes/qdarkstyle/rc/checkbox_unchecked.png); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate { + image: url(:/themes/qdarkstyle/rc/checkbox_indeterminate.png); +} + +QTreeView::indicator:checked:hover, +QTreeView::indicator:checked:focus, +QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed { + image: url(:/themes/qdarkstyle/rc/checkbox_checked_focus.png); +} + +QTreeView::indicator:unchecked:hover, +QTreeView::indicator:unchecked:focus, +QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed { + image: url(:/themes/qdarkstyle/rc/checkbox_unchecked_focus.png); +} + +QTreeView::indicator:indeterminate:hover, +QTreeView::indicator:indeterminate:focus, +QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed { + image: url(:/themes/qdarkstyle/rc/checkbox_indeterminate_focus.png); +} + +QSlider::groove:horizontal { + border: 1px solid #565a5e; + height: 4px; + background: #565a5e; + margin: 0px; + border-radius: 2px; +} + +QSlider::handle:horizontal { + background: #232629; + border: 1px solid #565a5e; + width: 16px; + height: 16px; + margin: -8px 0; + border-radius: 9px; +} + +QSlider::sub-page:horizontal { + border: 1px solid #565a5e; + height: 4px; + background: #3daee9; + margin: 0px; + border-radius: 2px; +} + +QSlider::groove:vertical { + border: 1px solid #565a5e; + width: 4px; + background: #565a5e; + margin: 0px; + border-radius: 3px; +} + +QSlider::handle:vertical { + background: #232629; + border: 1px solid #565a5e; + width: 16px; + height: 16px; + margin: 0 -8px; + border-radius: 9px; +} + +QSlider::sub-page:vertical { + border: 1px solid #565a5e; + width: 4px; + background: #3daee9; + margin: 0px; + border-radius: 3px; +} + +QToolButton { + background-color: transparent; + border: 1px transparent #76797C; + border-radius: 2px; + margin: 3px; + padding: 5px; +} + +QToolButton[popupMode="1"] { + /* only for MenuButtonPopup */ + padding-right: 20px; + /* make way for the popup button */ + border: 1px #76797C; + border-radius: 5px; +} + +QToolButton[popupMode="2"] { + /* only for InstantPopup */ + padding-right: 10px; + /* make way for the popup button */ + border: 1px #76797C; +} + +QToolButton:hover, +QToolButton::menu-button:hover { + background-color: transparent; + border: 1px solid #3daee9; +} + +QToolButton:checked, +QToolButton:pressed, +QToolButton::menu-button:pressed { + background-color: #3daee9; + border: 1px solid #3daee9; + padding: 5px; +} + + +/* the subcontrol below is used only in the InstantPopup or DelayedPopup mode */ + +QToolButton::menu-indicator { + image: url(:/themes/qdarkstyle/rc/down_arrow.png); + top: -7px; +} + + +/* the subcontrols below are used only in the MenuButtonPopup mode */ + +QToolButton::menu-button { + border: 1px transparent #76797C; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + /* 16px width + 4px for border = 20px allocated above */ + width: 16px; + outline: none; +} + +QToolButton::menu-arrow { + image: url(:/themes/qdarkstyle/rc/down_arrow.png); +} + +QToolButton::menu-arrow:open { + border: 1px solid #76797C; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 5px; +} + +QTableView { + border: 1px solid #76797C; + gridline-color: #31363b; + background-color: #232629; +} + +QTableView, +QHeaderView { + border-radius: 0px; +} + +QTableView::item:pressed, +QListView::item:pressed, +QTreeView::item:pressed { + background: #18465d; + color: #eff0f1; +} + +QTableView::item:selected:active, +QTreeView::item:selected:active, +QListView::item:selected:active { + background: #287399; + color: #eff0f1; +} + +QHeaderView { + background-color: #31363b; + border: 1px transparent; + border-radius: 0px; + margin: 0px; + padding: 0px; +} + +QHeaderView::section { + background-color: #31363b; + color: #eff0f1; + padding: 5px; + border: 1px solid #76797C; + border-radius: 0px; + text-align: center; +} + +QHeaderView::section::vertical::first, +QHeaderView::section::vertical::only-one { + border-top: 1px solid #76797C; +} + +QHeaderView::section::vertical { + border-top: transparent; +} + +QHeaderView::section::horizontal::first, +QHeaderView::section::horizontal::only-one { + border-left: 1px solid #76797C; +} + +QHeaderView::section::horizontal { + border-left: transparent; +} + +QHeaderView::section:checked { + color: white; + background-color: #334e5e; +} + + +/* style the sort indicator */ + +QHeaderView::down-arrow { + image: url(:/themes/qdarkstyle/rc/down_arrow.png); +} + +QHeaderView::up-arrow { + image: url(:/themes/qdarkstyle/rc/up_arrow.png); +} + +QTableCornerButton::section { + background-color: #31363b; + border: 1px transparent #76797C; + border-radius: 0px; +} + +QToolBox { + padding: 5px; + border: 1px transparent black; +} + +QToolBox::tab { + color: #eff0f1; + background-color: #31363b; + border: 1px solid #76797C; + border-bottom: 1px transparent #31363b; + border-top-left-radius: 5px; + border-top-right-radius: 5px; +} + +QToolBox::tab:selected { + /* italicize selected tabs */ + font: italic; + background-color: #31363b; + border-color: #3daee9; +} + +QStatusBar::item { + border: 0px transparent dark; +} + +QFrame[height="3"], +QFrame[width="3"] { + background-color: #76797C; +} + +QSplitter::handle { + border: 1px dashed #76797C; +} + +QSplitter::handle:hover { + background-color: #787876; + border: 1px solid #76797C; +} + +QSplitter::handle:horizontal { + width: 1px; +} + +QSplitter::handle:vertical { + height: 1px; +} + +QProgressBar { + border: 1px solid #76797C; + border-radius: 5px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #05B8CC; +} + +QDateEdit { + selection-background-color: #3daee9; + border-style: solid; + border: 1px solid #3375A3; + border-radius: 2px; + padding: 1px; + min-width: 75px; +} + +QDateEdit:on { + padding-top: 3px; + padding-left: 4px; + selection-background-color: #4a4a4a; +} + +QDateEdit QAbstractItemView { + background-color: #232629; + border-radius: 2px; + border: 1px solid #3375A3; + selection-background-color: #3daee9; +} + +QDateEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 15px; + border-left-width: 0px; + border-left-color: darkgray; + border-left-style: solid; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QDateEdit::down-arrow { + image: url(:/themes/qdarkstyle/rc/down_arrow_disabled.png); +} + +QDateEdit::down-arrow:on, +QDateEdit::down-arrow:hover, +QDateEdit::down-arrow:focus { + image: url(:/themes/qdarkstyle/rc/down_arrow.png); +}