summaryrefslogtreecommitdiff
path: root/src/organizercore.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-06-23 02:24:34 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-07-02 10:10:18 -0400
commit8d1c121f648f2f6a8e0a5e2ad76cd245e318290d (patch)
tree44aa8aee2685174615f33f999ca102179939d3e4 /src/organizercore.cpp
parenta72573b385a941adf7d662b8df5c8e35309fdd45 (diff)
split nexus tab
added OrganizerCore::loggedInAction() to execute a function only when logged in, replaces a bunch of copy/pasted stuff in mainwindow moved common variables in ModInfoDialogTab moved DescriptionPage to modinfodialognexus.h, renamed to NexusTabWebpage, deleted now empty descriptionpage.h
Diffstat (limited to 'src/organizercore.cpp')
-rw-r--r--src/organizercore.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/organizercore.cpp b/src/organizercore.cpp
index 2cad9ce8..e073924b 100644
--- a/src/organizercore.cpp
+++ b/src/organizercore.cpp
@@ -2204,6 +2204,21 @@ void OrganizerCore::updateModsInDirectoryStructure(QMap<unsigned int, ModInfo::P
}
}
+void OrganizerCore::loggedInAction(QWidget* parent, std::function<void ()> f)
+{
+ if (NexusInterface::instance(m_PluginContainer)->getAccessManager()->validated()) {
+ f();
+ } else {
+ QString apiKey;
+ if (settings().getNexusApiKey(apiKey)) {
+ doAfterLogin([f]{ f(); });
+ NexusInterface::instance(m_PluginContainer)->getAccessManager()->apiCheck(apiKey);
+ } else {
+ MessageDialog::showMessage(tr("You need to be logged in with Nexus"), parent);
+ }
+ }
+}
+
void OrganizerCore::requestDownload(const QUrl &url, QNetworkReply *reply)
{
if (m_PluginContainer != nullptr) {