diff options
| author | TanninOne <seppleviathan@gmx.de> | 2016-06-30 19:03:45 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-06-30 19:03:45 +0200 |
| commit | 4a582e524dd012ed9d5fdb4f9c97aab22c8dac85 (patch) | |
| tree | 8636fd48efe160d7325906cfb88b90374e0522a0 /src/mainwindow.cpp | |
| parent | 89221af929f86d7038cb9578433d46c5f144dc33 (diff) | |
| parent | 42407866e9f04cac3c1bad0e1002e23c6f0d5064 (diff) | |
Merge pull request #837 from ThosRTanner/issue/309
Changes for TanninOne/modorganizer#309 (3 of 3)
Diffstat (limited to 'src/mainwindow.cpp')
| -rw-r--r-- | src/mainwindow.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 096ce94b..72ee8d6a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -34,6 +34,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. #include "organizercore.h"
#include "pluginlistsortproxy.h"
#include "previewgenerator.h"
+#include "serverinfo.h"
#include "savegameinfo.h"
#include "spawn.h"
#include "versioninfo.h"
@@ -1608,18 +1609,31 @@ void MainWindow::storeSettings(QSettings &settings) void MainWindow::lock()
{
+ if (m_LockDialog != nullptr) {
+ ++m_LockCount;
+ return;
+ }
m_LockDialog = new LockedDialog(qApp->activeWindow());
m_LockDialog->show();
setEnabled(false);
+ m_LockDialog->setEnabled(true); //What's the point otherwise?
+ ++m_LockCount;
}
void MainWindow::unlock()
{
- if (m_LockDialog != nullptr) {
+ //If you come through here with a null lock pointer, it's a bug!
+ if (m_LockDialog == nullptr) {
+ qDebug("Unlocking main window when already unlocked");
+ return;
+ }
+ --m_LockCount;
+ if (m_LockCount == 0) {
m_LockDialog->hide();
m_LockDialog->deleteLater();
+ m_LockDialog = nullptr;
+ setEnabled(true);
}
- setEnabled(true);
}
bool MainWindow::unlockClicked()
@@ -1631,6 +1645,13 @@ bool MainWindow::unlockClicked() }
}
+void MainWindow::setProcessName(QString const &name)
+{
+ if (m_LockDialog != nullptr) {
+ m_LockDialog->setProcessName(name);
+ }
+}
+
void MainWindow::on_btnRefreshData_clicked()
{
m_OrganizerCore.refreshDirectoryStructure();
|
