diff options
Diffstat (limited to 'SQLiteStudio3/sqlitestudio/main.cpp')
| -rw-r--r-- | SQLiteStudio3/sqlitestudio/main.cpp | 21 |
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;
}
|
