diff --git a/QtMeshViewer/Form Files/SettingsWindow.ui b/QtMeshViewer/Form Files/SettingsWindow.ui index 454d889..a916145 100644 --- a/QtMeshViewer/Form Files/SettingsWindow.ui +++ b/QtMeshViewer/Form Files/SettingsWindow.ui @@ -7,7 +7,7 @@ 0 0 400 - 358 + 600 @@ -359,6 +359,20 @@ + + + + Headlight + + + + + + + Point light + + + @@ -466,20 +480,6 @@ - - - - Headlight - - - - - - - Point light - - - @@ -489,6 +489,16 @@ General + + + + + + + Directory Drop Down List: + + + @@ -532,22 +542,23 @@ + + + + + + + + + + + + -- + + + - - - - Qt::Vertical - - - - 20 - 40 - - - - diff --git a/QtMeshViewer/Header/SettingsManager.h b/QtMeshViewer/Header/SettingsManager.h index 66af75a..e972b2d 100644 --- a/QtMeshViewer/Header/SettingsManager.h +++ b/QtMeshViewer/Header/SettingsManager.h @@ -29,7 +29,7 @@ private: bool m_bfCulling = false; bool m_light = false; - QString listOfDirs; + QString listOfDirs; int m_lightType = 1; // 1 = direct, 2 = point QVector3D m_lightColor = { 255,255,255 }; float m_attenuation = 0.0f; @@ -48,7 +48,9 @@ public: bool isBfCulling() const; bool isLight() const; - QString getListOfDirs(); + QString getListOfDirs(); + void setListOfDirs(QString); + int getLightType() const; QVector3D getLightColor() const; float getAttenuation() const; diff --git a/QtMeshViewer/Header/SettingsWindow.h b/QtMeshViewer/Header/SettingsWindow.h index 77c5e17..02f4f43 100644 --- a/QtMeshViewer/Header/SettingsWindow.h +++ b/QtMeshViewer/Header/SettingsWindow.h @@ -18,6 +18,9 @@ private: void setupConnections(); +private: + QString dirList; + private slots: void autoColorToggled(); void radioToggled(); @@ -25,6 +28,9 @@ private slots: void backgroundColorOnChanged(); void lightColorChanged(); + void on_addItem_clicked(); + void on_removeItem_clicked(); + signals: void updateBGColorOff(QVector3D value); void updateBGColorOn(QVector3D value); diff --git a/QtMeshViewer/Source/SettingsManager.cpp b/QtMeshViewer/Source/SettingsManager.cpp index 00b95c1..3be723f 100644 --- a/QtMeshViewer/Source/SettingsManager.cpp +++ b/QtMeshViewer/Source/SettingsManager.cpp @@ -35,19 +35,19 @@ void SettingsManager::readFromFile() QList lines = stream.split('\n'); for (auto& it : lines) - { - if (it.startsWith("")) - { - QList values = it.right(it.size() - it.indexOf('>') - 1).split(';'); - for (int i = 0; i < values.size(); i++) - { - if (i == values.size() - 1) - listOfDirs.append(values[i]); - else - listOfDirs.append(values[i] + ";"); - } - } - else if (it.startsWith("")) + { + if (it.startsWith("")) + { + QList values = it.right(it.size() - it.indexOf('>') - 1).split(';'); + for (int i = 0; i < values.size(); i++) + { + if (i == values.size() - 1) + listOfDirs.append(values[i]); + else + listOfDirs.append(values[i] + ";"); + } + } + else if (it.startsWith("")) { QList values = it.right(it.size() - it.indexOf('>') - 1).split(';'); @@ -118,7 +118,7 @@ void SettingsManager::writeToFile() file.write(QString("%1\n").arg(m_lightType).toUtf8()); file.write(QString("%1\n").arg(m_attenuation).toUtf8()); file.write(QString("%1\n").arg(m_ambient).toUtf8()); - file.write(QString("%1\n").arg(listOfDirs).toUtf8()); + file.write(QString("%1\n").arg(listOfDirs).toUtf8()); file.close(); } @@ -127,9 +127,15 @@ void SettingsManager::writeToFile() QString SettingsManager::getListOfDirs() { - return listOfDirs; + return listOfDirs; } +void SettingsManager::setListOfDirs(QString newDirSet) +{ + listOfDirs = newDirSet; +} + + QVector3D SettingsManager::getBgColorOn() const { return m_bgColorOn; diff --git a/QtMeshViewer/Source/SettingsWindow.cpp b/QtMeshViewer/Source/SettingsWindow.cpp index 78abb80..8e889f5 100644 --- a/QtMeshViewer/Source/SettingsWindow.cpp +++ b/QtMeshViewer/Source/SettingsWindow.cpp @@ -1,6 +1,6 @@ #include "..\Header\SettingsWindow.h" #include "..\Header\SettingsManager.h" - +#include ///////////////////////////////////////////////////////////////////////// // constructor/destructor @@ -65,9 +65,11 @@ SettingsWindow::~SettingsWindow() QString SettingsWindow::getDirList() { - return SettingsManager::getInstance()->getListOfDirs(); -} + dirList = SettingsManager::getInstance()->getListOfDirs(); +// ui->dirListView-> + return dirList; +} void SettingsWindow::setupConnections() { @@ -187,3 +189,18 @@ void SettingsWindow::lightColorChanged() ui->lightOn_B_S->setValue((int)(ui->light_B_S->value() / 50)); } } + +void SettingsWindow::on_addItem_clicked() +{ + QString dirName = QFileDialog::getExistingDirectory(this, tr("Open Directory"), "/home", + QFileDialog::ShowDirsOnly | + QFileDialog::DontResolveSymlinks); +// ui->dirListView-> selectionModel()-> +// ui->dirListView->model()->insertRow(dirName) ; //->insertRow(dirName); +} + +void SettingsWindow::on_removeItem_clicked() +{ + ui->dirListView->selectionModel()->selectedIndexes(); +// ui->dirListView->model()->removeRow(ui->dirListView->selectionModel()->selectedIndexes()); +}