summaryrefslogtreecommitdiff
path: root/src/settingsdialognexus.h
diff options
context:
space:
mode:
authorSeth Riley <17361645+Qudix@users.noreply.github.com>2020-11-06 12:02:43 -0600
committerSeth Riley <17361645+Qudix@users.noreply.github.com>2020-11-06 12:02:43 -0600
commited1085d5673e0d307a6172eaaa1be1e9d70e2234 (patch)
tree1e068a2f08e106c8ce15be7034f19336836cc17a /src/settingsdialognexus.h
parent34e1d05c28bf4676ed8d3e97e969187a05d215b6 (diff)
parentb909677c3fc6a7b7a1993d341a2bd420715e292a (diff)
Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into master
Diffstat (limited to 'src/settingsdialognexus.h')
-rw-r--r--src/settingsdialognexus.h57
1 files changed, 44 insertions, 13 deletions
diff --git a/src/settingsdialognexus.h b/src/settingsdialognexus.h
index 2cb1cc1e..c915accf 100644
--- a/src/settingsdialognexus.h
+++ b/src/settingsdialognexus.h
@@ -5,38 +5,69 @@
#include "settingsdialog.h"
#include "nxmaccessmanager.h"
-class NexusSettingsTab : public SettingsTab
+// used by the settings dialog and the create instance dialog
+//
+class NexusConnectionUI : public QObject
{
+ Q_OBJECT;
+
public:
- NexusSettingsTab(Settings& settings, SettingsDialog& dialog);
- void update();
+ NexusConnectionUI(
+ QWidget* parent,
+ Settings* s,
+ QAbstractButton* connectButton,
+ QAbstractButton* disconnectButton,
+ QAbstractButton* manualButton,
+ QListWidget* logList);
+
+ void connect();
+ void manual();
+ void disconnect();
+
+signals:
+ void stateChanged();
+ void keyChanged();
private:
+ QWidget* m_parent;
+ Settings* m_settings;
+ QAbstractButton* m_connect;
+ QAbstractButton* m_disconnect;
+ QAbstractButton* m_manual;
+ QListWidget* m_log;
+
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 addLog(const QString& s);
+
+ void updateState();
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 onValidatorFinished(
ValidationAttempt::Result r, const QString& message,
std::optional<APIUserAccount> useR);
+};
- void addNexusLog(const QString& s);
+
+class NexusSettingsTab : public SettingsTab
+{
+public:
+ NexusSettingsTab(Settings& settings, SettingsDialog& dialog);
+ void update();
+
+private:
+ std::unique_ptr<NexusConnectionUI> m_connectionUI;
+
+ void on_clearCacheButton_clicked();
+ void on_associateButton_clicked();
+ void updateNexusData();
};
#endif // SETTINGSDIALOGNEXUS_H