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
------------
// 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();
<RCC>
- <qresource prefix="/" >
+ <qresource prefix="/">
<file>icons/add-decoder.svg</file>
<file>icons/application-exit.png</file>
<file>icons/channels.svg</file>
<file>icons/media-playback-start.png</file>
<file>icons/menu.svg</file>
<file>icons/preferences-system.png</file>
+ <file>icons/settings-general.png</file>
<file>icons/settings-views.svg</file>
<file>icons/pulseview.png</file>
<file>icons/pulseview.svg</file>
<file>icons/zoom-in.png</file>
<file>icons/zoom-out.png</file>
</qresource>
+
+ <qresource prefix="/">
+ <!-- QDarkStyleSheet -->
+ <file>themes/qdarkstyle/style.qss</file>
+ <file>themes/qdarkstyle/rc/up_arrow_disabled.png</file>
+ <file>themes/qdarkstyle/rc/Hmovetoolbar.png</file>
+ <file>themes/qdarkstyle/rc/stylesheet-branch-end.png</file>
+ <file>themes/qdarkstyle/rc/branch_closed-on.png</file>
+ <file>themes/qdarkstyle/rc/stylesheet-vline.png</file>
+ <file>themes/qdarkstyle/rc/branch_closed.png</file>
+ <file>themes/qdarkstyle/rc/branch_open-on.png</file>
+ <file>themes/qdarkstyle/rc/transparent.png</file>
+ <file>themes/qdarkstyle/rc/right_arrow_disabled.png</file>
+ <file>themes/qdarkstyle/rc/sizegrip.png</file>
+ <file>themes/qdarkstyle/rc/close.png</file>
+ <file>themes/qdarkstyle/rc/close-hover.png</file>
+ <file>themes/qdarkstyle/rc/close-pressed.png</file>
+ <file>themes/qdarkstyle/rc/down_arrow.png</file>
+ <file>themes/qdarkstyle/rc/Vmovetoolbar.png</file>
+ <file>themes/qdarkstyle/rc/left_arrow.png</file>
+ <file>themes/qdarkstyle/rc/stylesheet-branch-more.png</file>
+ <file>themes/qdarkstyle/rc/up_arrow.png</file>
+ <file>themes/qdarkstyle/rc/right_arrow.png</file>
+ <file>themes/qdarkstyle/rc/left_arrow_disabled.png</file>
+ <file>themes/qdarkstyle/rc/Hsepartoolbar.png</file>
+ <file>themes/qdarkstyle/rc/branch_open.png</file>
+ <file>themes/qdarkstyle/rc/Vsepartoolbar.png</file>
+ <file>themes/qdarkstyle/rc/down_arrow_disabled.png</file>
+ <file>themes/qdarkstyle/rc/undock.png</file>
+ <file>themes/qdarkstyle/rc/checkbox_checked_disabled.png</file>
+ <file>themes/qdarkstyle/rc/checkbox_checked_focus.png</file>
+ <file>themes/qdarkstyle/rc/checkbox_checked.png</file>
+ <file>themes/qdarkstyle/rc/checkbox_indeterminate.png</file>
+ <file>themes/qdarkstyle/rc/checkbox_indeterminate_focus.png</file>
+ <file>themes/qdarkstyle/rc/checkbox_unchecked_disabled.png</file>
+ <file>themes/qdarkstyle/rc/checkbox_unchecked_focus.png</file>
+ <file>themes/qdarkstyle/rc/checkbox_unchecked.png</file>
+ <file>themes/qdarkstyle/rc/radio_checked_disabled.png</file>
+ <file>themes/qdarkstyle/rc/radio_checked_focus.png</file>
+ <file>themes/qdarkstyle/rc/radio_checked.png</file>
+ <file>themes/qdarkstyle/rc/radio_unchecked_disabled.png</file>
+ <file>themes/qdarkstyle/rc/radio_unchecked_focus.png</file>
+ <file>themes/qdarkstyle/rc/radio_unchecked.png</file>
+ </qresource>
+
+ <qresource prefix="/">
+ <!-- DarkStyle -->
+ <file>themes/darkstyle/darkstyle.qss</file>
+ <file>themes/darkstyle/icon_close.png</file>
+ <file>themes/darkstyle/icon_restore.png</file>
+ <file>themes/darkstyle/icon_undock.png</file>
+ <file>themes/darkstyle/icon_branch_closed.png</file>
+ <file>themes/darkstyle/icon_branch_end.png</file>
+ <file>themes/darkstyle/icon_branch_more.png</file>
+ <file>themes/darkstyle/icon_branch_open.png</file>
+ <file>themes/darkstyle/icon_vline.png</file>
+ <file>themes/darkstyle/icon_checkbox_checked.png</file>
+ <file>themes/darkstyle/icon_checkbox_indeterminate.png</file>
+ <file>themes/darkstyle/icon_checkbox_unchecked.png</file>
+ <file>themes/darkstyle/icon_checkbox_checked_pressed.png</file>
+ <file>themes/darkstyle/icon_checkbox_indeterminate_pressed.png</file>
+ <file>themes/darkstyle/icon_checkbox_unchecked_pressed.png</file>
+ <file>themes/darkstyle/icon_checkbox_checked_disabled.png</file>
+ <file>themes/darkstyle/icon_checkbox_indeterminate_disabled.png</file>
+ <file>themes/darkstyle/icon_checkbox_unchecked_disabled.png</file>
+ <file>themes/darkstyle/icon_radiobutton_checked.png</file>
+ <file>themes/darkstyle/icon_radiobutton_unchecked.png</file>
+ <file>themes/darkstyle/icon_radiobutton_checked_pressed.png</file>
+ <file>themes/darkstyle/icon_radiobutton_unchecked_pressed.png</file>
+ <file>themes/darkstyle/icon_radiobutton_checked_disabled.png</file>
+ <file>themes/darkstyle/icon_radiobutton_unchecked_disabled.png</file>
+</qresource>
</RCC>
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));
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<QString, QString> 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;
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;
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;
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);
#include <QApplication>
#include <QColor>
#include <QDebug>
+#include <QFile>
#include <QFontMetrics>
+#include <QPixmapCache>
#include <QString>
using std::map;
+using std::pair;
using std::string;
using std::vector;
namespace pv {
+const vector< pair<QString, QString> > 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";
vector<GlobalSettingsInterface*> GlobalSettings::callbacks_;
bool GlobalSettings::tracking_ = false;
map<QString, QVariant> GlobalSettings::tracked_changes_;
+QPalette GlobalSettings::default_palette_;
GlobalSettings::GlobalSettings() :
QSettings()
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);
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);
#include <glib.h>
#include <glibmm/variant.h>
+#include <QPalette>
#include <QSettings>
#include <QString>
#include <QVariant>
using std::map;
+using std::pair;
using std::vector;
namespace pv {
+extern const vector< pair<QString, QString> > Themes;
+
+
class GlobalSettingsInterface
{
public:
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;
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);
static bool tracking_;
static map<QString, QVariant> tracked_changes_;
+
+ static QPalette default_palette_;
};
} // namespace pv
--- /dev/null
+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);
+}
--- /dev/null
+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);
+}