summaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/sqlitestudio/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/sqlitestudio/main.cpp')
-rw-r--r--SQLiteStudio3/sqlitestudio/main.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/SQLiteStudio3/sqlitestudio/main.cpp b/SQLiteStudio3/sqlitestudio/main.cpp
index ae16132..c3b09e0 100644
--- a/SQLiteStudio3/sqlitestudio/main.cpp
+++ b/SQLiteStudio3/sqlitestudio/main.cpp
@@ -13,13 +13,10 @@
#include "multieditor/multieditortime.h"
#include "multieditor/multieditordate.h"
#include "multieditor/multieditorbool.h"
-#include "uiconfig.h"
-#include "sqlitestudio.h"
#include "uidebug.h"
#include "completionhelper.h"
#include "services/updatemanager.h"
#include "guiSQLiteStudio_global.h"
-#include "coreSQLiteStudio_global.h"
#include "log.h"
#include "qio.h"
#include "translations.h"
@@ -27,6 +24,7 @@
#include "dialogs/triggerdialog.h"
#include "services/pluginmanager.h"
#include "singleapplication/singleapplication.h"
+#include "services/impl/configimpl.h"
#include <QCommandLineParser>
#include <QCommandLineOption>
#include <QApplication>
@@ -113,6 +111,12 @@ void initHighDpi()
#endif
}
+bool shouldAllowMultipleSessions()
+{
+ QVariant allowMultipleSessionsValue = Config::getSettings()->value(MainWindow::ALLOW_MULTIPLE_SESSIONS_SETTING);
+ return allowMultipleSessionsValue.isValid() && allowMultipleSessionsValue.toBool();
+}
+
int main(int argc, char *argv[])
{
initHighDpi();
@@ -120,13 +124,9 @@ int main(int argc, char *argv[])
QCoreApplication::setOrganizationName("SalSoft");
QCoreApplication::setApplicationVersion(SQLITESTUDIO->getVersionString());
- SingleApplication a(argc, argv, true, SingleApplication::ExcludeAppPath|SingleApplication::ExcludeAppVersion);
-
- QSettings sett;
- QVariant allowMultipleSessionsValue = sett.value(MainWindow::ALLOW_MULTIPLE_SESSIONS_SETTING);
- bool allowMultipleSessions = allowMultipleSessionsValue.isValid() && allowMultipleSessionsValue.toBool();
+ SingleApplication a(argc, argv, true, SingleApplication::ExcludeAppPath|SingleApplication::ExcludeAppVersion|SingleApplication::User);
- if (!allowMultipleSessions && a.isSecondary()) {
+ if (!shouldAllowMultipleSessions() && a.isSecondary()) {
#ifdef Q_OS_WIN
AllowSetForegroundWindow(DWORD( a.primaryPid()));
#endif
@@ -162,6 +162,7 @@ int main(int argc, char *argv[])
MultiEditorDate::staticInit();
MultiEditorBool::staticInit();
TriggerDialog::staticInit();
+ SqlEditor::staticInit();
MainWindow* mainWin = MAINWINDOW;
@@ -190,7 +191,7 @@ int main(int argc, char *argv[])
if (dialog.exec() == QDialog::Accepted)
setDefaultLanguage(dialog.getSelectedLang());
- QProcess::startDetached(a.applicationFilePath(), QStringList());
+ QProcess::startDetached(qApp->arguments().at(0), qApp->arguments().mid(1));
return 0;
}