summaryrefslogtreecommitdiffstats
path: root/application/pages/global/PasteEEPage.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2015-10-02 00:12:53 +0200
committerPetr Mrázek <peterix@gmail.com>2015-10-02 00:12:53 +0200
commitae4216de6101db63a1ec7d817852cad2d10863f5 (patch)
tree1a565f4381bad632941f46724ae330ea8355bff0 /application/pages/global/PasteEEPage.cpp
parentac8ff8806137d3f6db35afe54b0ef777c40278ef (diff)
downloadMultiMC-ae4216de6101db63a1ec7d817852cad2d10863f5.tar
MultiMC-ae4216de6101db63a1ec7d817852cad2d10863f5.tar.gz
MultiMC-ae4216de6101db63a1ec7d817852cad2d10863f5.tar.lz
MultiMC-ae4216de6101db63a1ec7d817852cad2d10863f5.tar.xz
MultiMC-ae4216de6101db63a1ec7d817852cad2d10863f5.zip
GH-719 implement paste.ee API keys
Diffstat (limited to 'application/pages/global/PasteEEPage.cpp')
-rw-r--r--application/pages/global/PasteEEPage.cpp88
1 files changed, 88 insertions, 0 deletions
diff --git a/application/pages/global/PasteEEPage.cpp b/application/pages/global/PasteEEPage.cpp
new file mode 100644
index 00000000..e6827601
--- /dev/null
+++ b/application/pages/global/PasteEEPage.cpp
@@ -0,0 +1,88 @@
+/* Copyright 2013-2015 MultiMC Contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "PasteEEPage.h"
+#include "ui_PasteEEPage.h"
+
+#include <QMessageBox>
+#include <QFileDialog>
+#include <QStandardPaths>
+
+#include <pathutils.h>
+
+#include "settings/SettingsObject.h"
+#include "tools/BaseProfiler.h"
+#include "MultiMC.h"
+
+PasteEEPage::PasteEEPage(QWidget *parent) :
+ QWidget(parent),
+ ui(new Ui::PasteEEPage)
+{
+ ui->setupUi(this);
+ ui->tabWidget->tabBar()->hide();\
+ connect(ui->customAPIkeyEdit, &QLineEdit::textEdited, this, &PasteEEPage::textEdited);
+ loadSettings();
+}
+
+PasteEEPage::~PasteEEPage()
+{
+ delete ui;
+}
+
+void PasteEEPage::loadSettings()
+{
+ auto s = MMC->settings();
+ QString keyToUse = s->get("PasteEEAPIKey").toString();
+ if(keyToUse == "public")
+ {
+ ui->publicButton->setChecked(true);
+ }
+ else if(keyToUse == "multimc")
+ {
+ ui->multimcButton->setChecked(true);
+ }
+ else
+ {
+ ui->customButton->setChecked(true);
+ ui->customAPIkeyEdit->setText(keyToUse);
+ }
+}
+
+void PasteEEPage::applySettings()
+{
+ auto s = MMC->settings();
+
+ QString pasteKeyToUse;
+ if (ui->customButton->isChecked())
+ pasteKeyToUse = ui->customAPIkeyEdit->text();
+ else if (ui->publicButton->isChecked())
+ pasteKeyToUse = "public";
+ else
+ {
+ pasteKeyToUse = "multimc";
+ }
+ s->set("PasteEEAPIKey", pasteKeyToUse);
+}
+
+bool PasteEEPage::apply()
+{
+ applySettings();
+ return true;
+}
+
+void PasteEEPage::textEdited(const QString& text)
+{
+ ui->customButton->setChecked(true);
+}