#include "mainwindow.h" #include "ui_mainwindow.h" #include "assetlist.h" #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); /*connect( comboBox, QOverload::of(&QComboBox::currentIndexChanged), [=](int index){ ui->stackedWidget_2->setCurrentIndex(index); }); const int currentIndex = 0; comboBox->setCurrentIndex(currentIndex); ui->stackedWidget_2->setCurrentIndex(currentIndex);*/ /*const auto pOutputDock = new OutputDock(); pOutputDock->setMinimumHeight(50); this->addDockWidget(Qt::BottomDockWidgetArea, pOutputDock->GetDock()); pOutputDock->setMinimumHeight(0);*/ const auto pDefineList = new AssetList(); pDefineList->setMinimumWidth(150); this->addDockWidget(Qt::LeftDockWidgetArea, pDefineList); pDefineList->setMinimumHeight(0); pDefineList->setWindowTitle("Define"); const auto pDeclareList = new AssetList(); pDeclareList->setMinimumWidth(150); this->addDockWidget(Qt::LeftDockWidgetArea, pDeclareList); pDeclareList->setMinimumHeight(0); pDeclareList->setWindowTitle("Declare"); QMainWindow::tabifyDockWidget(pDefineList, pDeclareList); connect( ui->actionToggleDark, &QAction::triggered, [=](bool checked){ if( checked ) { EnableThemeDark(); } else { EnableThemeLight(); } }); } void MainWindow::EnableThemeDark() { ui->actionToggleDark->setIcon(QIcon(":/icons/data/icons/alexandru.stoica/sun_star [#1268].svg")); QFile file(":/css/data/css/style.qss"); file.open(QFile::ReadOnly); QTextStream ts(&file); qApp->setStyleSheet(ts.readAll()); auto& children = this->children(); for( auto& child : children ) { QAction* action = qobject_cast(child); if( action ) { auto icon = action->icon(); auto pixmap = icon.pixmap(icon.actualSize(QSize(32,32))); const auto& mask = pixmap.createMaskFromColor(QColor("transparent"), Qt::MaskInColor); pixmap.fill(QColor("white")); pixmap.setMask(mask); action->setIcon(QIcon(pixmap)); } } } void MainWindow::EnableThemeLight() { ui->actionToggleDark->setIcon(QIcon(":/icons/data/icons/alexandru.stoica/moon [#1248].svg")); qApp->setStyleSheet(""); auto& children = this->children(); for( auto& child : children ) { QAction* action = qobject_cast(child); if( action ) { auto icon = action->icon(); auto pixmap = icon.pixmap(icon.actualSize(QSize(32,32))); const auto& mask = pixmap.createMaskFromColor(QColor("transparent"), Qt::MaskInColor); pixmap.fill(QColor("black")); pixmap.setMask(mask); action->setIcon(QIcon(pixmap)); } } } MainWindow::~MainWindow() { delete ui; }