aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-03-05 15:35:32 +0100
committerAqua-sama <aqua@iserlohn-fortress.net>2018-03-05 15:35:32 +0100
commit40de7d18bb5e91c049947344b8c632c40989ad10 (patch)
tree33c0a3a6500ea0c2d7b62f192f685bb93d7b99e0 /config
parentFixed pkgbuild again (diff)
downloadsmolbote-40de7d18bb5e91c049947344b8c632c40989ad10.tar.xz
Added poi-config
- view default configuration
Diffstat (limited to 'config')
-rw-r--r--config/CMakeLists.txt15
-rw-r--r--config/main.cpp21
-rw-r--r--config/settingsdialog.cpp37
-rw-r--r--config/settingsdialog.h31
4 files changed, 104 insertions, 0 deletions
diff --git a/config/CMakeLists.txt b/config/CMakeLists.txt
new file mode 100644
index 0000000..129b2f2
--- /dev/null
+++ b/config/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 3.1.0)
+
+# Find includes in corresponding build directories
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+add_executable(poi-config
+ main.cpp
+ settingsdialog.cpp
+ settingsdialog.h
+ ../src/configuration.h
+ ../src/configuration.cpp
+ )
+
+target_link_libraries(poi-config Qt5::Core Qt5::Widgets)
+target_link_libraries(poi-config ${Boost_LIBRARIES})
diff --git a/config/main.cpp b/config/main.cpp
new file mode 100644
index 0000000..25751e6
--- /dev/null
+++ b/config/main.cpp
@@ -0,0 +1,21 @@
+/*
+ * This file is part of smolbote. It's copyrighted by the contributors recorded
+ * in the version control history of the file, available from its original
+ * location: https://neueland.iserlohn-fortress.net/smolbote.hg
+ *
+ * SPDX-License-Identifier: GPL-3.0
+ */
+
+#include "settingsdialog.h"
+#include <QApplication>
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ app.setQuitOnLastWindowClosed(true);
+
+ SettingsDialog dlg;
+ dlg.show();
+
+ return app.exec();
+} \ No newline at end of file
diff --git a/config/settingsdialog.cpp b/config/settingsdialog.cpp
new file mode 100644
index 0000000..56acc01
--- /dev/null
+++ b/config/settingsdialog.cpp
@@ -0,0 +1,37 @@
+/*
+ * This file is part of smolbote. It's copyrighted by the contributors recorded
+ * in the version control history of the file, available from its original
+ * location: https://neueland.iserlohn-fortress.net/smolbote.hg
+ *
+ * SPDX-License-Identifier: GPL-3.0
+ */
+
+#include "settingsdialog.h"
+#include <QApplication>
+#include <QMenuBar>
+#include <QToolButton>
+#include <QVBoxLayout>
+
+SettingsDialog::SettingsDialog(QWidget *parent)
+ : QMainWindow(parent)
+{
+ resize(800, 600);
+
+ // main menu
+ settingsMenu.setTitle(tr("Settings"));
+ settingsMenu.addAction(tr("Quit"), qApp, &QApplication::quit, QKeySequence("Ctrl+Q"));
+ menuBar()->addMenu(&settingsMenu);
+
+ setCentralWidget(&treeWidget);
+ treeWidget.setColumnCount(2);
+
+ //config.read()
+
+ for(const auto &option : config.options()) {
+ auto *item = new QTreeWidgetItem(&treeWidget);
+ item->setText(0, QString::fromStdString(option->long_name()));
+ item->setText(1, QString::fromStdString(config.value<std::string>(option->long_name().c_str()).value_or(std::string())));
+ }
+}
+
+SettingsDialog::~SettingsDialog() = default;
diff --git a/config/settingsdialog.h b/config/settingsdialog.h
new file mode 100644
index 0000000..82cd1be
--- /dev/null
+++ b/config/settingsdialog.h
@@ -0,0 +1,31 @@
+/*
+ * This file is part of smolbote. It's copyrighted by the contributors recorded
+ * in the version control history of the file, available from its original
+ * location: https://neueland.iserlohn-fortress.net/smolbote.hg
+ *
+ * SPDX-License-Identifier: GPL-3.0
+ */
+
+#ifndef SETTINGSDIALOG_H
+#define SETTINGSDIALOG_H
+
+#include "../src/configuration.h"
+#include <QMainWindow>
+#include <QMenu>
+#include <QTreeWidget>
+
+class SettingsDialog : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ explicit SettingsDialog(QWidget *parent = nullptr);
+ ~SettingsDialog() override;
+
+private:
+ QMenu settingsMenu;
+ QTreeWidget treeWidget;
+ Configuration config;
+};
+
+#endif // SETTINGSDIALOG_H