diff --git a/.vscode/settings.json b/.vscode/settings.json index 20fb3d6..a27ad62 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -19,12 +19,13 @@ //"EXTER_LIB_DIR": "C:/local" }, "cmake.configureSettings": { - "CMAKE_PREFIX_PATH": "C:/msys64/ucrt64", + "CMAKE_PREFIX_PATH": "C:/Qt/Qt5.14.2/5.14.2/msvc2017_64", //"CMAKE_TOOLCHAIN_FILE": "${env:TT_VCPKG}" }, "cmake.configureArgs": [ "-Wno-dev", - "-DCOMPILE_GUI=ON" + "-DCOMPILE_GUI=ON", + "-DQT_DEFAULT_MAJOR_VERSION=5" ], "cmake.options.statusBarVisibility": "visible", "cmake.generator": "Ninja", @@ -135,7 +136,8 @@ "regex": "cpp", "stack": "cpp", "valarray": "cpp", - "filesystem": "cpp" + "filesystem": "cpp", + "qmainwindow": "cpp" }, "editor.tokenColorCustomizations": { "textMateRules": [ diff --git a/CMakeLists.txt b/CMakeLists.txt index aae870a..f53c24b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) -project(frelay VERSION 0.2.2 LANGUAGES CXX) +project(frelay VERSION 0.2.3 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/Gui/CMakeLists.txt b/Gui/CMakeLists.txt index 0c429bd..d4d316b 100644 --- a/Gui/CMakeLists.txt +++ b/Gui/CMakeLists.txt @@ -26,6 +26,7 @@ Form/Transform.h Form/Transform.cpp Form/Transform.ui Control/cusTableWidget.cpp Control/cusTableWidget.h Control/cpTableWidget.h Control/cpTableWidget.cpp GuiUtil/Config.h GuiUtil/Config.cpp +../Res/qss.qrc ) if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) diff --git a/Gui/frelayGUI.cpp b/Gui/frelayGUI.cpp index bc1482a..f3710f4 100644 --- a/Gui/frelayGUI.cpp +++ b/Gui/frelayGUI.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include "./ui_frelayGUI.h" @@ -10,7 +11,7 @@ static LogPrint* logPrint = nullptr; -frelayGUI::frelayGUI(QWidget* parent) : QMainWindow(parent), ui(new Ui::frelayGUI) +frelayGUI::frelayGUI(QWidget* parent) : QDialog(parent), ui(new Ui::frelayGUI) { config_ = std::make_shared(); @@ -30,10 +31,10 @@ frelayGUI::frelayGUI(QWidget* parent) : QMainWindow(parent), ui(new Ui::frelayGU setWindowTitle(QString(tr("frelay %1")).arg(VERSION_NUM)); - QLabel* permanent = new QLabel(this); - permanent->setFrameStyle(QFrame::Box | QFrame::Sunken); - permanent->setText(QString("%1 on %2").arg(VERSION_GIT_COMMIT, VERSION_GIT_BRANCH)); - this->statusBar()->addPermanentWidget(permanent); + // QLabel* permanent = new QLabel(this); + // permanent->setFrameStyle(QFrame::Box | QFrame::Sunken); + // permanent->setText(QString("%1 on %2").arg(VERSION_GIT_COMMIT, VERSION_GIT_BRANCH)); + //this->statusBar()->addPermanentWidget(permanent); } frelayGUI::~frelayGUI() @@ -109,7 +110,10 @@ void frelayGUI::ControlLayout() sizes << height() * 2 / 5 << height() * 3 / 5; splitter->setSizes(sizes); - setCentralWidget(splitter); + QVBoxLayout* layout = new QVBoxLayout(); + layout->addWidget(splitter); + setLayout(layout); + // setCentralWidget(splitter); } void frelayGUI::ControlMsgHander(QtMsgType type, const QMessageLogContext& context, const QString& msg) @@ -142,5 +146,5 @@ void frelayGUI::HandleTask(const QVector& tasks) void frelayGUI::closeEvent(QCloseEvent* event) { - QMainWindow::closeEvent(event); + QDialog::closeEvent(event); } diff --git a/Gui/frelayGUI.h b/Gui/frelayGUI.h index 30bef06..dec317e 100644 --- a/Gui/frelayGUI.h +++ b/Gui/frelayGUI.h @@ -3,7 +3,7 @@ #include #include -#include +#include #include #include "Control/CompareControl.h" @@ -18,7 +18,7 @@ class frelayGUI; } QT_END_NAMESPACE -class frelayGUI : public QMainWindow +class frelayGUI : public QDialog { Q_OBJECT diff --git a/Gui/frelayGUI.ui b/Gui/frelayGUI.ui index 99986ec..9c5dc34 100644 --- a/Gui/frelayGUI.ui +++ b/Gui/frelayGUI.ui @@ -1,30 +1,18 @@ frelayGUI - + 0 0 - 800 - 600 + 400 + 300 frelayGUI - - - - - 0 - 0 - 800 - 25 - - - - diff --git a/Gui/main.cpp b/Gui/main.cpp index fbba8eb..504080a 100644 --- a/Gui/main.cpp +++ b/Gui/main.cpp @@ -29,6 +29,11 @@ int main(int argc, char* argv[]) frelayGUI w; + QFile file(":/qss/flatgray.css"); + if (file.open(QFile::ReadOnly)) { + a.setStyleSheet(file.readAll()); + } + QObject::connect(&a, &SingleApplication::instanceStarted, &w, [&w]() { w.showNormal(); w.raise(); diff --git a/Res/qss.qrc b/Res/qss.qrc new file mode 100644 index 0000000..940aeb7 --- /dev/null +++ b/Res/qss.qrc @@ -0,0 +1,28 @@ + + + qss/flatgray.css + qss/flatgray/add_bottom.png + qss/flatgray/add_left.png + qss/flatgray/add_right.png + qss/flatgray/add_top.png + qss/flatgray/arrow_bottom.png + qss/flatgray/arrow_left.png + qss/flatgray/arrow_right.png + qss/flatgray/arrow_top.png + qss/flatgray/branch_close.png + qss/flatgray/branch_open.png + qss/flatgray/calendar_nextmonth.png + qss/flatgray/calendar_prevmonth.png + qss/flatgray/checkbox_checked.png + qss/flatgray/checkbox_checked_disable.png + qss/flatgray/checkbox_parcial.png + qss/flatgray/checkbox_parcial_disable.png + qss/flatgray/checkbox_unchecked.png + qss/flatgray/checkbox_unchecked_disable.png + qss/flatgray/menu_checked.png + qss/flatgray/radiobutton_checked.png + qss/flatgray/radiobutton_checked_disable.png + qss/flatgray/radiobutton_unchecked.png + qss/flatgray/radiobutton_unchecked_disable.png + + diff --git a/Res/qss/flatgray.css b/Res/qss/flatgray.css new file mode 100644 index 0000000..fe82b5b --- /dev/null +++ b/Res/qss/flatgray.css @@ -0,0 +1,694 @@ +QPalette{background:#FFFFFF;}*{outline:0px;color:#57595B;} + +QGraphicsView{ +border:1px solid #B6B6B6; +qproperty-backgroundBrush:#FFFFFF; +} + +QWidget[form="true"],QLabel[frameShape="1"]{ +border:1px solid #B6B6B6; +border-radius:0px; +} + +QWidget[form="bottom"]{ +background:#E4E4E4; +} + +QWidget[form="bottom"] .QFrame{ +border:1px solid #57595B; +} + +QWidget[form="bottom"] QLabel,QWidget[form="title"] QLabel{ +border-radius:0px; +color:#57595B; +background:none; +border-style:none; +} + +QWidget[form="title"],QWidget[nav="left"],QWidget[nav="top"] QAbstractButton{ +border-style:none; +border-radius:0px; +padding:5px; +color:#57595B; +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4); +} + +QWidget[nav="top"] QAbstractButton:hover,QWidget[nav="top"] QAbstractButton:pressed,QWidget[nav="top"] QAbstractButton:checked{ +border-style:solid; +border-width:0px 0px 2px 0px; +padding:4px 4px 2px 4px; +border-color:#575959; +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6); +} + +QWidget[nav="left"] QAbstractButton{ +border-radius:0px; +color:#57595B; +background:none; +border-style:none; +} + +QWidget[nav="left"] QAbstractButton:hover{ +color:#FFFFFF; +background-color:#575959; +} + +QWidget[nav="left"] QAbstractButton:checked,QWidget[nav="left"] QAbstractButton:pressed{ +color:#57595B; +border-style:solid; +border-width:0px 0px 0px 2px; +padding:4px 4px 4px 2px; +border-color:#575959; +background-color:#FFFFFF; +} + +QWidget[video="true"] QLabel{ +color:#57595B; +border:1px solid #B6B6B6; +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4); +} + +QWidget[video="true"] QLabel:focus{ +border:1px solid #575959; +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6); +} + +QLineEdit:read-only{ +background-color:#E4E4E4; +} + +QLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{ +border:1px solid #B6B6B6; +border-radius:3px; +padding:2px; +background:none; +selection-background-color:#575959; +selection-color:#FFFFFF; +} + +QLineEdit:focus,QTextEdit:focus,QPlainTextEdit:focus,QSpinBox:focus,QDoubleSpinBox:focus,QComboBox:focus,QDateEdit:focus,QTimeEdit:focus,QDateTimeEdit:focus,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QSpinBox:hover,QDoubleSpinBox:hover,QComboBox:hover,QDateEdit:hover,QTimeEdit:hover,QDateTimeEdit:hover{ +border:1px solid #B6B6B6; +} + +QLineEdit[echoMode="2"]{ +lineedit-password-character:9679; +} + +.QFrame{ +border:1px solid #B6B6B6; +border-radius:3px; +} + +.QGroupBox{ +border:1px solid #B6B6B6; +border-radius:5px; +margin-top:9px; +} + +.QGroupBox::title{ +subcontrol-origin:margin; +position:relative; +left:10px; +} + +.QPushButton,.QToolButton{ +border-style:none; +border:1px solid #B6B6B6; +color:#57595B; +padding:5px; +min-height:15px; +border-radius:5px; +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4); +} + +.QPushButton:hover,.QToolButton:hover{ +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6); +} + +.QPushButton:pressed,.QToolButton:pressed{ +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4); +} + +.QToolButton::menu-indicator{ +image:None; +} + +QToolButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{ +border-radius:3px; +color:#57595B; +padding:3px; +margin:0px; +background:none; +border-style:none; +} + +QToolButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{ +color:#FFFFFF; +margin:1px 1px 2px 1px; +background-color:rgba(51,127,209,230); +} + +QPushButton#btnMenu_Close:hover{ +color:#FFFFFF; +margin:1px 1px 2px 1px; +background-color:rgba(238,0,0,128); +} + +QRadioButton::indicator{ +width:15px; +height:15px; +} + +QRadioButton::indicator::unchecked{ +image:url(:/qss/flatgray/radiobutton_unchecked.png); +} + +QRadioButton::indicator::unchecked:disabled{ +image:url(:/qss/flatgray/radiobutton_unchecked_disable.png); +} + +QRadioButton::indicator::checked{ +image:url(:/qss/flatgray/radiobutton_checked.png); +} + +QRadioButton::indicator::checked:disabled{ +image:url(:/qss/flatgray/radiobutton_checked_disable.png); +} + +QGroupBox::indicator,QTreeView::indicator,QListView::indicator,QTableView::indicator{ +padding:0px 0px 0px 0px; +} + +QCheckBox::indicator,QGroupBox::indicator,QTreeView::indicator,QListView::indicator,QTableView::indicator{ +width:13px; +height:13px; +} + +QCheckBox::indicator:unchecked,QGroupBox::indicator:unchecked,QTreeView::indicator:unchecked,QListView::indicator:unchecked,QTableView::indicator:unchecked{ +image:url(:/qss/flatgray/checkbox_unchecked.png); +} + +QCheckBox::indicator:unchecked:disabled,QGroupBox::indicator:unchecked:disabled,QTreeView::indicator:unchecked:disabled,QListView::indicator:unchecked:disabled,QTableView::indicator:unchecked:disabled{ +image:url(:/qss/flatgray/checkbox_unchecked_disable.png); +} + +QCheckBox::indicator:checked,QGroupBox::indicator:checked,QTreeView::indicator:checked,QListView::indicator:checked,QTableView::indicator:checked{ +image:url(:/qss/flatgray/checkbox_checked.png); +} + +QCheckBox::indicator:checked:disabled,QGroupBox::indicator:checked:disabled,QTreeView::indicator:checked:disabled,QListView::indicator:checked:disabled,QTableView::indicator:checked:disabled{ +image:url(:/qss/flatgray/checkbox_checked_disable.png); +} + +QCheckBox::indicator:indeterminate,QGroupBox::indicator:indeterminate,QTreeView::indicator:indeterminate,QListView::indicator:indeterminate,QTableView::indicator:indeterminate{ +image:url(:/qss/flatgray/checkbox_parcial.png); +} + +QCheckBox::indicator:indeterminate:disabled,QGroupBox::indicator:indeterminate:disabled,QTreeView::indicator:indeterminate:disabled,QListView::indicator:indeterminate:disabled,QTableView::indicator:indeterminate:disabled{ +image:url(:/qss/flatgray/checkbox_parcial_disable.png); +} + +QTimeEdit::up-button,QDateEdit::up-button,QDateTimeEdit::up-button,QDoubleSpinBox::up-button,QSpinBox::up-button{ +image:url(:/qss/flatgray/add_top.png); +width:10px; +height:10px; +padding:2px 5px 0px 0px; +} + +QTimeEdit::down-button,QDateEdit::down-button,QDateTimeEdit::down-button,QDoubleSpinBox::down-button,QSpinBox::down-button{ +image:url(:/qss/flatgray/add_bottom.png); +width:10px; +height:10px; +padding:0px 5px 2px 0px; +} + +QTimeEdit::up-button:pressed,QDateEdit::up-button:pressed,QDateTimeEdit::up-button:pressed,QDoubleSpinBox::up-button:pressed,QSpinBox::up-button:pressed{ +top:-2px; +} + +QTimeEdit::down-button:pressed,QDateEdit::down-button:pressed,QDateTimeEdit::down-button:pressed,QDoubleSpinBox::down-button:pressed,QSpinBox::down-button:pressed,QSpinBox::down-button:pressed{ +bottom:-2px; +} + +QComboBox::down-arrow,QDateEdit[calendarPopup="true"]::down-arrow,QTimeEdit[calendarPopup="true"]::down-arrow,QDateTimeEdit[calendarPopup="true"]::down-arrow{ +image:url(:/qss/flatgray/add_bottom.png); +width:10px; +height:10px; +right:2px; +} + +QComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{ +subcontrol-origin:padding; +subcontrol-position:top right; +width:15px; +border-left-width:0px; +border-left-style:solid; +border-top-right-radius:3px; +border-bottom-right-radius:3px; +border-left-color:#B6B6B6; +} + +QComboBox::drop-down:on{ +top:1px; +} + +QMenuBar::item{ +color:#57595B; +background-color:#E4E4E4; +margin:0px; +padding:3px 10px; +} + +QMenu,QMenuBar,QMenu:disabled,QMenuBar:disabled{ +color:#57595B; +background-color:#E4E4E4; +border:1px solid #B6B6B6; +margin:0px; +} + +QMenu::item{ +padding:3px 20px; +} + +QMenu::indicator{ +width:20px; +height:13px; +} + +QMenu::indicator::checked{ +image:url(:/qss/flatgray/menu_checked.png); +} + +QMenu::right-arrow{ +image:url(:/qss/flatgray/arrow_right.png); +width:13px; +height:13px; +padding:0px 3px 0px 0px; +} + +QMenu::item:selected,QMenuBar::item:selected{ +color:#57595B; +border:0px solid #B6B6B6; +background:#F6F6F6; +} + +QMenu::separator{ +height:1px; +background:#B6B6B6; +} + +QProgressBar{ +min-height:10px; +background:#E4E4E4; +border-radius:5px; +text-align:center; +border:1px solid #E4E4E4; +} + +QProgressBar:chunk{ +border-radius:5px; +background-color:#B6B6B6; +} + +QSlider::groove:horizontal{ +height:8px; +border-radius:4px; +background:#E4E4E4; +} + +QSlider::add-page:horizontal{ +height:8px; +border-radius:4px; +background:#E4E4E4; +} + +QSlider::sub-page:horizontal{ +height:8px; +border-radius:4px; +background:#B6B6B6; +} + +QSlider::handle:horizontal{ +width:13px; +margin-top:-3px; +margin-bottom:-3px; +border-radius:6px; +background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #FFFFFF,stop:0.8 #B6B6B6); +} + +QSlider::groove:vertical{ +width:8px; +border-radius:4px; +background:#E4E4E4; +} + +QSlider::add-page:vertical{ +width:8px; +border-radius:4px; +background:#B6B6B6; +} + +QSlider::sub-page:vertical{ +width:8px; +border-radius:4px; +background:#E4E4E4; +} + +QSlider::handle:vertical{ +height:14px; +margin-left:-3px; +margin-right:-3px; +border-radius:6px; +background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #FFFFFF,stop:0.8 #B6B6B6); +} + +QScrollBar:horizontal{ +background:#E4E4E4; +padding:0px; +border-radius:6px; +max-height:12px; +} + +QScrollBar::handle:horizontal{ +background:#B6B6B6; +min-width:50px; +border-radius:6px; +} + +QScrollBar::handle:horizontal:hover{ +background:#575959; +} + +QScrollBar::handle:horizontal:pressed{ +background:#575959; +} + +QScrollBar::add-page:horizontal{ +background:none; +} + +QScrollBar::sub-page:horizontal{ +background:none; +} + +QScrollBar::add-line:horizontal{ +background:none; +} + +QScrollBar::sub-line:horizontal{ +background:none; +} + +QScrollBar:vertical{ +background:#E4E4E4; +padding:0px; +border-radius:6px; +max-width:12px; +} + +QScrollBar::handle:vertical{ +background:#B6B6B6; +min-height:50px; +border-radius:6px; +} + +QScrollBar::handle:vertical:hover{ +background:#575959; +} + +QScrollBar::handle:vertical:pressed{ +background:#575959; +} + +QScrollBar::add-page:vertical{ +background:none; +} + +QScrollBar::sub-page:vertical{ +background:none; +} + +QScrollBar::add-line:vertical{ +background:none; +} + +QScrollBar::sub-line:vertical{ +background:none; +} + +QScrollArea{ +border:0px; +} + +QTreeView,QListView,QTableView,QTabWidget::pane{ +border:1px solid #B6B6B6; +selection-background-color:#F6F6F6; +selection-color:#57595B; +alternate-background-color:#F6F6F6; +gridline-color:#B6B6B6; +} + +QTreeView::branch:closed:has-children{ +margin:4px; +border-image:url(:/qss/flatgray/branch_open.png); +} + +QTreeView::branch:open:has-children{ +margin:4px; +border-image:url(:/qss/flatgray/branch_close.png); +} + +QTreeView,QListView,QTableView,QSplitter::handle,QTreeView::branch{ +background:#FFFFFF; +} + +QTableView::item:selected,QListView::item:selected,QTreeView::item:selected{ +color:#57595B; +background:#E4E4E4; +} + +QTableView::item:hover,QListView::item:hover,QTreeView::item:hover,QHeaderView,QHeaderView::section,QTableCornerButton:section{ +color:#57595B; +background:#F6F6F6; +} + +QTableView::item,QListView::item,QTreeView::item{ +padding:1px; +margin:0px; +border:0px; +} + +QHeaderView::section,QTableCornerButton:section{ +padding:3px; +margin:0px; +border:1px solid #B6B6B6; +border-left-width:0px; +border-right-width:1px; +border-top-width:0px; +border-bottom-width:1px; +} + +QTabBar::tab{ +border:1px solid #B6B6B6; +color:#57595B; +margin:0px; +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6); +} + +QTabBar::tab:selected{ +border-style:solid; +border-color:#575959; +background:#FFFFFF; +} + +QTabBar::tab:top,QTabBar::tab:bottom{ +padding:3px 8px 3px 8px; +} + +QTabBar::tab:left,QTabBar::tab:right{ +padding:8px 3px 8px 3px; +} + +QTabBar::tab:top:selected{ +border-width:2px 0px 0px 0px; +} + +QTabBar::tab:right:selected{ +border-width:0px 0px 0px 2px; +} + +QTabBar::tab:bottom:selected{ +border-width:0px 0px 2px 0px; +} + +QTabBar::tab:left:selected{ +border-width:0px 2px 0px 0px; +} + +QTabBar::tab:first:top:selected,QTabBar::tab:first:bottom:selected{ +border-left-width:1px; +border-left-color:#B6B6B6; +} + +QTabBar::tab:first:left:selected,QTabBar::tab:first:right:selected{ +border-top-width:1px; +border-top-color:#B6B6B6; +} + +QTabBar::tab:last:top:selected,QTabBar::tab:last:bottom:selected{ +border-right-width:1px; +border-right-color:#B6B6B6; +} + +QTabBar::tab:last:left:selected,QTabBar::tab:last:right:selected{ +border-bottom-width:1px; +border-bottom-color:#B6B6B6; +} + +QStatusBar::item{ +border:0px solid #E4E4E4; +border-radius:3px; +} + +QToolBox::tab,QWidget[form="panel"]{ +padding:3px; +border-radius:5px; +color:#57595B; +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4); +} + +QWidget[flag="paneltitle"]{ +border-bottom-left-radius:0px; +border-bottom-right-radius:0px; +} + +QWidget[flag="panelcontrol"]{ +border-top-width:0px; +border-top-left-radius:0px; +border-top-right-radius:0px; +} + +QToolTip{ +border:0px solid #57595B; +padding:1px; +color:#57595B; +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4); +} + +QToolBox::tab:selected{ +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6); +} + +QPrintPreviewDialog QToolButton{ +border:0px solid #57595B; +border-radius:0px; +margin:0px; +padding:3px; +background:none; +} + +QColorDialog QPushButton,QFileDialog QPushButton{ +min-width:80px; +} + +QToolButton#qt_calendar_prevmonth{ +icon-size:0px; +min-width:20px; +image:url(:/qss/flatgray/calendar_prevmonth.png); +} + +QToolButton#qt_calendar_nextmonth{ +icon-size:0px; +min-width:20px; +image:url(:/qss/flatgray/calendar_nextmonth.png); +} + +QToolButton#qt_calendar_prevmonth,QToolButton#qt_calendar_nextmonth,QToolButton#qt_calendar_monthbutton,QToolButton#qt_calendar_yearbutton{ +border:0px solid #57595B; +border-radius:3px; +margin:3px 3px 3px 3px; +padding:3px; +background:none; +} + +QToolButton#qt_calendar_prevmonth:hover,QToolButton#qt_calendar_nextmonth:hover,QToolButton#qt_calendar_monthbutton:hover,QToolButton#qt_calendar_yearbutton:hover,QToolButton#qt_calendar_prevmonth:pressed,QToolButton#qt_calendar_nextmonth:pressed,QToolButton#qt_calendar_monthbutton:pressed,QToolButton#qt_calendar_yearbutton:pressed{ +border:1px solid #B6B6B6; +} + +QCalendarWidget QSpinBox#qt_calendar_yearedit{ +margin:2px; +} + +QCalendarWidget QToolButton::menu-indicator{ +image:None; +} + +QCalendarWidget QTableView{ +border-width:0px; +} + +QCalendarWidget QWidget#qt_calendar_navigationbar{ +border:1px solid #B6B6B6; +border-width:1px 1px 0px 1px; +background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4); +} + +QTableView[model="true"]::item{ +padding:0px; +margin:0px; +} + +QTableView QLineEdit,QTableView QComboBox,QTableView QSpinBox,QTableView QDoubleSpinBox,QTableView QDateEdit,QTableView QTimeEdit,QTableView QDateTimeEdit{ +border-width:0px; +border-radius:0px; +} + +QTableView QLineEdit:focus,QTableView QComboBox:focus,QTableView QSpinBox:focus,QTableView QDoubleSpinBox:focus,QTableView QDateEdit:focus,QTableView QTimeEdit:focus,QTableView QDateTimeEdit:focus{ +border-width:0px; +border-radius:0px; +} + +QLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{ +background:#FFFFFF; +} + +QTabWidget::pane:top{top:-1px;} +QTabWidget::pane:bottom{bottom:-1px;} +QTabWidget::pane:left{right:-1px;} +QTabWidget::pane:right{left:-1px;} + +QDialog,QDial,#QUIWidgetMain{ +background-color:#FFFFFF; +color:#57595B; +} + +QDialogButtonBox>QPushButton{ +min-width:50px; +} + +QListView[noborder="true"],QTreeView[noborder="true"],QTabWidget[noborder="true"]::pane{ +border-width:0px; +} + +QToolBar>*,QStatusBar>*{ +margin:2px; +} + +*:disabled,QMenu::item:disabled,QTabBar:tab:disabled,QHeaderView::section:disabled{ +background:#FFFFFF; +border-color:#E4E4E4; +color:#B6B6B6; +} + +QLabel:disabled{ +background:none; +} + +/*TextColor:#57595B*/ +/*PanelColor:#FFFFFF*/ +/*BorderColor:#B6B6B6*/ +/*NormalColorStart:#E4E4E4*/ +/*NormalColorEnd:#E4E4E4*/ +/*DarkColorStart:#F6F6F6*/ +/*DarkColorEnd:#F6F6F6*/ +/*HighColor:#575959*/ \ No newline at end of file diff --git a/Res/qss/flatgray/add_bottom.png b/Res/qss/flatgray/add_bottom.png new file mode 100644 index 0000000..868e687 Binary files /dev/null and b/Res/qss/flatgray/add_bottom.png differ diff --git a/Res/qss/flatgray/add_left.png b/Res/qss/flatgray/add_left.png new file mode 100644 index 0000000..d9d5127 Binary files /dev/null and b/Res/qss/flatgray/add_left.png differ diff --git a/Res/qss/flatgray/add_right.png b/Res/qss/flatgray/add_right.png new file mode 100644 index 0000000..be8dd1a Binary files /dev/null and b/Res/qss/flatgray/add_right.png differ diff --git a/Res/qss/flatgray/add_top.png b/Res/qss/flatgray/add_top.png new file mode 100644 index 0000000..ef55ce1 Binary files /dev/null and b/Res/qss/flatgray/add_top.png differ diff --git a/Res/qss/flatgray/arrow_bottom.png b/Res/qss/flatgray/arrow_bottom.png new file mode 100644 index 0000000..37307b7 Binary files /dev/null and b/Res/qss/flatgray/arrow_bottom.png differ diff --git a/Res/qss/flatgray/arrow_left.png b/Res/qss/flatgray/arrow_left.png new file mode 100644 index 0000000..aa4312b Binary files /dev/null and b/Res/qss/flatgray/arrow_left.png differ diff --git a/Res/qss/flatgray/arrow_right.png b/Res/qss/flatgray/arrow_right.png new file mode 100644 index 0000000..4db5efa Binary files /dev/null and b/Res/qss/flatgray/arrow_right.png differ diff --git a/Res/qss/flatgray/arrow_top.png b/Res/qss/flatgray/arrow_top.png new file mode 100644 index 0000000..0da1cad Binary files /dev/null and b/Res/qss/flatgray/arrow_top.png differ diff --git a/Res/qss/flatgray/branch_close.png b/Res/qss/flatgray/branch_close.png new file mode 100644 index 0000000..f5b6d34 Binary files /dev/null and b/Res/qss/flatgray/branch_close.png differ diff --git a/Res/qss/flatgray/branch_open.png b/Res/qss/flatgray/branch_open.png new file mode 100644 index 0000000..6392c13 Binary files /dev/null and b/Res/qss/flatgray/branch_open.png differ diff --git a/Res/qss/flatgray/calendar_nextmonth.png b/Res/qss/flatgray/calendar_nextmonth.png new file mode 100644 index 0000000..6cb40d7 Binary files /dev/null and b/Res/qss/flatgray/calendar_nextmonth.png differ diff --git a/Res/qss/flatgray/calendar_prevmonth.png b/Res/qss/flatgray/calendar_prevmonth.png new file mode 100644 index 0000000..8a17d0f Binary files /dev/null and b/Res/qss/flatgray/calendar_prevmonth.png differ diff --git a/Res/qss/flatgray/checkbox_checked.png b/Res/qss/flatgray/checkbox_checked.png new file mode 100644 index 0000000..8808382 Binary files /dev/null and b/Res/qss/flatgray/checkbox_checked.png differ diff --git a/Res/qss/flatgray/checkbox_checked_disable.png b/Res/qss/flatgray/checkbox_checked_disable.png new file mode 100644 index 0000000..9aa0a10 Binary files /dev/null and b/Res/qss/flatgray/checkbox_checked_disable.png differ diff --git a/Res/qss/flatgray/checkbox_parcial.png b/Res/qss/flatgray/checkbox_parcial.png new file mode 100644 index 0000000..97376f3 Binary files /dev/null and b/Res/qss/flatgray/checkbox_parcial.png differ diff --git a/Res/qss/flatgray/checkbox_parcial_disable.png b/Res/qss/flatgray/checkbox_parcial_disable.png new file mode 100644 index 0000000..b9b286f Binary files /dev/null and b/Res/qss/flatgray/checkbox_parcial_disable.png differ diff --git a/Res/qss/flatgray/checkbox_unchecked.png b/Res/qss/flatgray/checkbox_unchecked.png new file mode 100644 index 0000000..50c25e2 Binary files /dev/null and b/Res/qss/flatgray/checkbox_unchecked.png differ diff --git a/Res/qss/flatgray/checkbox_unchecked_disable.png b/Res/qss/flatgray/checkbox_unchecked_disable.png new file mode 100644 index 0000000..7c4c7db Binary files /dev/null and b/Res/qss/flatgray/checkbox_unchecked_disable.png differ diff --git a/Res/qss/flatgray/menu_checked.png b/Res/qss/flatgray/menu_checked.png new file mode 100644 index 0000000..6a1c729 Binary files /dev/null and b/Res/qss/flatgray/menu_checked.png differ diff --git a/Res/qss/flatgray/radiobutton_checked.png b/Res/qss/flatgray/radiobutton_checked.png new file mode 100644 index 0000000..513a41e Binary files /dev/null and b/Res/qss/flatgray/radiobutton_checked.png differ diff --git a/Res/qss/flatgray/radiobutton_checked_disable.png b/Res/qss/flatgray/radiobutton_checked_disable.png new file mode 100644 index 0000000..8d16af5 Binary files /dev/null and b/Res/qss/flatgray/radiobutton_checked_disable.png differ diff --git a/Res/qss/flatgray/radiobutton_unchecked.png b/Res/qss/flatgray/radiobutton_unchecked.png new file mode 100644 index 0000000..8ef34fb Binary files /dev/null and b/Res/qss/flatgray/radiobutton_unchecked.png differ diff --git a/Res/qss/flatgray/radiobutton_unchecked_disable.png b/Res/qss/flatgray/radiobutton_unchecked_disable.png new file mode 100644 index 0000000..f70c364 Binary files /dev/null and b/Res/qss/flatgray/radiobutton_unchecked_disable.png differ