summaryrefslogtreecommitdiff
path: root/src/settingsdialognexus.h
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-07-20 09:31:38 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-08-02 03:06:58 -0400
commitaf95b3b8637d28517f69a70f13b901cc7f43d121 (patch)
tree5ff6113611c85b5aabebdf5805d7f93e67a48fb5 /src/settingsdialognexus.h
parent0a5ce34b1a80694fbfe6a4d6b4f032b9c11a5376 (diff)
renamed tab classes, clashing with mod info dialog
split nexus tab
Diffstat (limited to 'src/settingsdialognexus.h')
-rw-r--r--src/settingsdialognexus.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/settingsdialognexus.h b/src/settingsdialognexus.h
new file mode 100644
index 00000000..5c01f61f
--- /dev/null
+++ b/src/settingsdialognexus.h
@@ -0,0 +1,40 @@
+#ifndef SETTINGSDIALOGNEXUS_H
+#define SETTINGSDIALOGNEXUS_H
+
+#include "settings.h"
+#include "settingsdialog.h"
+
+class NexusSettingsTab : public SettingsTab
+{
+public:
+ NexusSettingsTab(Settings *m_parent, SettingsDialog &m_dialog);
+ void update();
+
+private:
+ std::unique_ptr<NexusSSOLogin> m_nexusLogin;
+ std::unique_ptr<NexusKeyValidator> m_nexusValidator;
+
+ void on_nexusConnect_clicked();
+ void on_nexusManualKey_clicked();
+ void on_nexusDisconnect_clicked();
+ void on_clearCacheButton_clicked();
+ void on_associateButton_clicked();
+
+ void validateKey(const QString& key);
+ bool setKey(const QString& key);
+ bool clearKey();
+
+ void updateNexusState();
+ void updateNexusButtons();
+ void updateNexusData();
+
+ void onSSOKeyChanged(const QString& key);
+ void onSSOStateChanged(NexusSSOLogin::States s, const QString& e);
+
+ void onValidatorStateChanged(NexusKeyValidator::States s, const QString& e);
+ void onValidatorFinished(const APIUserAccount& user);
+
+ void addNexusLog(const QString& s);
+};
+
+#endif // SETTINGSDIALOGNEXUS_H