diff --git a/bin/data/declare1.di b/bin/data/declare1.di new file mode 100644 index 0000000..e69de29 diff --git a/bin/data/define1.d b/bin/data/define1.d new file mode 100644 index 0000000..e69de29 diff --git a/bin/projectName.json b/bin/projectName.json new file mode 100644 index 0000000..46a126d --- /dev/null +++ b/bin/projectName.json @@ -0,0 +1,4 @@ +{ + "defines" : "bin/data/*.d", + "declarations" : "bin/data/*.di" +} diff --git a/data.pro.user b/data.pro.user index 29601ce..d2c3f51 100644 --- a/data.pro.user +++ b/data.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -292,7 +292,7 @@ data.pro false - + C:/Users/bernst/Documents/build-data-Desktop-Debug 3768 false true diff --git a/mainwindow.cpp b/mainwindow.cpp index 93997ee..36af7f3 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -6,50 +6,13 @@ #include #include #include +#include #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() { @@ -120,3 +83,104 @@ MainWindow::~MainWindow() { delete ui; } + +void MainWindow::SetupDefineList() +{ + +} + +void MainWindow::SetupDeclareList() +{ + +} + +void MainWindow::LoadDefines( const QJsonDocument& document ) +{ + const QJsonValue& value = document.object()["defines"]; + if( value.isArray()) { + + } else { + + } +} + +void MainWindow::LoadDeclarations( const QJsonDocument& document ) +{ + const QJsonValue& value = document.object()["declarations"]; + if( value.isArray()) { + + } else { + + } +} + +void MainWindow::LoadConfigFile( const QString& configPath ) +{ + // If no initial config should run through a setup process. + // configPath should be stored in a project location, so shouldn't be created into a user specific directory. + QFileInfo fileInfo( configPath ); + QFile file( configPath ); + if( /*file.exists()*/ fileInfo.exists() && fileInfo.isFile() ) { + file.open(QFile::ReadOnly); + QJsonDocument document(QJsonDocument::fromJson(file.readAll())); + //QJsonObject object = document.object(); + LoadDefines( document ); + LoadDeclarations( document ); + } else { + + } +} + +void MainWindow::SaveConfigFile( const QJsonDocument& jsonDocument, const QString& configPath ) +{ + +} + +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 QDir& dir = QDir::current(); + const QString& path = QCoreApplication::applicationDirPath(); + if( path.length() ) { + + } + LoadConfigFile("bin/projectName.json"); + + 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(); + } + }); +} diff --git a/mainwindow.h b/mainwindow.h index 3eec290..b2bf47d 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -20,6 +20,15 @@ public: private: Ui::MainWindow *ui; + + void SetupDefineList(); + void SetupDeclareList(); + + void LoadDefines( const QJsonDocument& jsonDocument ); + void LoadDeclarations( const QJsonDocument& jsonDocument ); + + void LoadConfigFile( const QString& configPath ); + void SaveConfigFile( const QJsonDocument& jsonDocument, const QString& configPath ); }; #endif // MAINWINDOW_H