summaryrefslogtreecommitdiffstats
path: root/application/pages/global/CustomCommandsPage.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2018-02-17 00:00:06 +0100
committerPetr Mrázek <peterix@gmail.com>2018-02-17 00:57:54 +0100
commit65bca654895c94e83ef25008dc1c44cc822cfbab (patch)
tree1ec8ced7e8f9af0f7c39c2407b72f51a05bb366f /application/pages/global/CustomCommandsPage.cpp
parenta7957f24bac2a6c7fea6f5f2fbfcd77b4db16fa8 (diff)
downloadMultiMC-65bca654895c94e83ef25008dc1c44cc822cfbab.tar
MultiMC-65bca654895c94e83ef25008dc1c44cc822cfbab.tar.gz
MultiMC-65bca654895c94e83ef25008dc1c44cc822cfbab.tar.lz
MultiMC-65bca654895c94e83ef25008dc1c44cc822cfbab.tar.xz
MultiMC-65bca654895c94e83ef25008dc1c44cc822cfbab.zip
GH-2150 Split out custom commands into a custom widget
Now it is used from a global page and from a sub-page in the instance settings.
Diffstat (limited to 'application/pages/global/CustomCommandsPage.cpp')
-rw-r--r--application/pages/global/CustomCommandsPage.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/application/pages/global/CustomCommandsPage.cpp b/application/pages/global/CustomCommandsPage.cpp
new file mode 100644
index 00000000..1352b6be
--- /dev/null
+++ b/application/pages/global/CustomCommandsPage.cpp
@@ -0,0 +1,50 @@
+#include "CustomCommandsPage.h"
+#include <QVBoxLayout>
+#include <QTabWidget>
+#include <QTabBar>
+
+CustomCommandsPage::CustomCommandsPage(QWidget* parent): QWidget(parent)
+{
+
+ auto verticalLayout = new QVBoxLayout(this);
+ verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
+ verticalLayout->setContentsMargins(0, 0, 0, 0);
+
+ auto tabWidget = new QTabWidget(this);
+ tabWidget->setObjectName(QStringLiteral("tabWidget"));
+ commands = new CustomCommands(this);
+ tabWidget->addTab(commands, "Foo");
+ tabWidget->tabBar()->hide();
+ verticalLayout->addWidget(tabWidget);
+ loadSettings();
+}
+
+CustomCommandsPage::~CustomCommandsPage()
+{
+}
+
+bool CustomCommandsPage::apply()
+{
+ applySettings();
+ return true;
+}
+
+void CustomCommandsPage::applySettings()
+{
+ auto s = MMC->settings();
+ s->set("PreLaunchCommand", commands->prelaunchCommand());
+ s->set("WrapperCommand", commands->wrapperCommand());
+ s->set("PostExitCommand", commands->postexitCommand());
+}
+
+void CustomCommandsPage::loadSettings()
+{
+ auto s = MMC->settings();
+ commands->initialize(
+ false,
+ true,
+ s->get("PreLaunchCommand").toString(),
+ s->get("WrapperCommand").toString(),
+ s->get("PostExitCommand").toString()
+ );
+}