diff options
Diffstat (limited to 'launcher/ui')
-rw-r--r-- | launcher/ui/dialogs/BlockedModsDialog.cpp | 6 | ||||
-rw-r--r-- | launcher/ui/dialogs/BlockedModsDialog.h | 30 |
2 files changed, 23 insertions, 13 deletions
diff --git a/launcher/ui/dialogs/BlockedModsDialog.cpp b/launcher/ui/dialogs/BlockedModsDialog.cpp index edb4ff7d..214eeeaa 100644 --- a/launcher/ui/dialogs/BlockedModsDialog.cpp +++ b/launcher/ui/dialogs/BlockedModsDialog.cpp @@ -79,6 +79,12 @@ void BlockedModsDialog::dropEvent(QDropEvent* e) update(); } +void BlockedModsDialog::done(int r) +{ + QDialog::done(r); + disconnect(&m_watcher, &QFileSystemWatcher::directoryChanged, this, &BlockedModsDialog::directoryChanged); +} + void BlockedModsDialog::openAll() { for (auto& mod : m_mods) { diff --git a/launcher/ui/dialogs/BlockedModsDialog.h b/launcher/ui/dialogs/BlockedModsDialog.h index dac43cba..f5aef8bf 100644 --- a/launcher/ui/dialogs/BlockedModsDialog.h +++ b/launcher/ui/dialogs/BlockedModsDialog.h @@ -1,8 +1,8 @@ #pragma once #include <QDialog> -#include <QString> #include <QList> +#include <QString> #include <QFileSystemWatcher> @@ -16,28 +16,32 @@ struct BlockedMod { QString hash; bool matched; QString localPath; - }; QT_BEGIN_NAMESPACE -namespace Ui { class BlockedModsDialog; } +namespace Ui { +class BlockedModsDialog; +} QT_END_NAMESPACE class BlockedModsDialog : public QDialog { -Q_OBJECT + Q_OBJECT -public: - BlockedModsDialog(QWidget *parent, const QString &title, const QString &text, QList<BlockedMod> &mods); + public: + BlockedModsDialog(QWidget* parent, const QString& title, const QString& text, QList<BlockedMod>& mods); ~BlockedModsDialog() override; -protected: - void dragEnterEvent(QDragEnterEvent *event) override; - void dropEvent(QDropEvent *event) override; + protected: + void dragEnterEvent(QDragEnterEvent* event) override; + void dropEvent(QDropEvent* event) override; + + protected slots: + void done(int r) override; -private: - Ui::BlockedModsDialog *ui; - QList<BlockedMod> &m_mods; + private: + Ui::BlockedModsDialog* ui; + QList<BlockedMod>& m_mods; QFileSystemWatcher m_watcher; shared_qobject_ptr<ConcurrentTask> m_hashing_task; QSet<QString> m_pending_hash_paths; @@ -61,4 +65,4 @@ private: bool allModsMatched(); }; -QDebug operator<<(QDebug debug, const BlockedMod &m); +QDebug operator<<(QDebug debug, const BlockedMod& m); |