aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/sqlitestudio
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
commit7167ce41b61d2ba2cdb526777a4233eb84a3b66a (patch)
treea35c14143716e1f2c98f808c81f89426045a946f /SQLiteStudio3/sqlitestudio
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/sqlitestudio')
-rw-r--r--SQLiteStudio3/sqlitestudio/SQLiteStudio.exe.manifest19
-rw-r--r--SQLiteStudio3/sqlitestudio/main.cpp142
-rw-r--r--SQLiteStudio3/sqlitestudio/sqlitestudio.pro46
-rw-r--r--SQLiteStudio3/sqlitestudio/windows.rc4
4 files changed, 211 insertions, 0 deletions
diff --git a/SQLiteStudio3/sqlitestudio/SQLiteStudio.exe.manifest b/SQLiteStudio3/sqlitestudio/SQLiteStudio.exe.manifest
new file mode 100644
index 0000000..cca0bc6
--- /dev/null
+++ b/SQLiteStudio3/sqlitestudio/SQLiteStudio.exe.manifest
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+ <security>
+ <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
+ <requestedExecutionLevel level="asInvoker" uiAccess="false" />
+ </requestedPrivileges>
+ <applicationRequestMinimum>
+ <defaultAssemblyRequest permissionSetReference="Custom" />
+ <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
+ </applicationRequestMinimum>
+ </security>
+ </trustInfo>
+ <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+ <application>
+ </application>
+ </compatibility>
+</asmv1:assembly>
diff --git a/SQLiteStudio3/sqlitestudio/main.cpp b/SQLiteStudio3/sqlitestudio/main.cpp
new file mode 100644
index 0000000..b2d7b94
--- /dev/null
+++ b/SQLiteStudio3/sqlitestudio/main.cpp
@@ -0,0 +1,142 @@
+#include "mainwindow.h"
+#include "iconmanager.h"
+#include "dbtree/dbtreeitem.h"
+#include "datagrid/sqlquerymodelcolumn.h"
+#include "datagrid/sqlquerymodel.h"
+#include "sqleditor.h"
+#include "windows/editorwindow.h"
+#include "windows/tablewindow.h"
+#include "windows/viewwindow.h"
+#include "dataview.h"
+#include "dbtree/dbtree.h"
+#include "multieditor/multieditordatetime.h"
+#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 "services/pluginmanager.h"
+#include <QCommandLineParser>
+#include <QCommandLineOption>
+#include <QApplication>
+#include <QSplashScreen>
+#include <QThread>
+#include <QPluginLoader>
+#include <QDebug>
+#include <QMessageBox>
+
+bool listPlugins = false;
+
+QString uiHandleCmdLineArgs()
+{
+ QCommandLineParser parser;
+ parser.setApplicationDescription(QObject::tr("GUI interface to SQLiteStudio, a SQLite manager."));
+ parser.addHelpOption();
+ parser.addVersionOption();
+
+ QCommandLineOption debugOption({"d", "debug"}, QObject::tr("Enables debug messages in console (accessible with F12)."));
+ QCommandLineOption debugStdOutOption("debug-stdout", QObject::tr("Redirects debug messages into standard output (forces debug mode)."));
+ QCommandLineOption lemonDebugOption("debug-lemon", QObject::tr("Enables Lemon parser debug messages for SQL code assistant."));
+ QCommandLineOption sqlDebugOption("debug-sql", QObject::tr("Enables debugging of every single SQL query being sent to any database."));
+ QCommandLineOption sqlDebugDbNameOption("debug-sql-db", QObject::tr("Limits SQL query messages to only the given <database>."), QObject::tr("database"));
+ QCommandLineOption listPluginsOption("list-plugins", QObject::tr("Lists plugins installed in the SQLiteStudio end exists."));
+ parser.addOption(debugOption);
+ parser.addOption(debugStdOutOption);
+ parser.addOption(lemonDebugOption);
+ parser.addOption(sqlDebugOption);
+ parser.addOption(sqlDebugDbNameOption);
+ parser.addOption(listPluginsOption);
+
+ parser.addPositionalArgument(QObject::tr("file"), QObject::tr("Database file to open"));
+
+ parser.process(qApp->arguments());
+
+ setUiDebug(parser.isSet(debugOption) || parser.isSet(debugStdOutOption) || parser.isSet(sqlDebugOption), !parser.isSet(debugStdOutOption));
+ CompletionHelper::enableLemonDebug = parser.isSet(lemonDebugOption);
+ setSqlLoggingEnabled(parser.isSet(sqlDebugOption));
+ if (parser.isSet(sqlDebugDbNameOption))
+ setSqlLoggingFilter(parser.value(sqlDebugDbNameOption));
+
+ if (parser.isSet(listPluginsOption))
+ listPlugins = true;
+
+ QStringList args = parser.positionalArguments();
+ if (args.size() > 0)
+ return args[0];
+
+ return QString::null;
+}
+
+bool updateRetryFunction(const QString& msg)
+{
+ QMessageBox mb(QMessageBox::Critical, QObject::tr("Error"), msg);
+ mb.addButton(QMessageBox::Retry);
+ mb.addButton(QMessageBox::Abort);
+ return (mb.exec() == QMessageBox::Retry);
+}
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+
+ int retCode = 1;
+ UpdateManager::setRetryFunction(updateRetryFunction);
+ if (UpdateManager::handleUpdateOptions(a.arguments(), retCode))
+ {
+ if (retCode)
+ QMessageBox::critical(nullptr, QObject::tr("Error"), UpdateManager::getStaticErrorMessage());
+
+ return retCode;
+ }
+
+ qInstallMessageHandler(uiMessageHandler);
+
+ QString dbToOpen = uiHandleCmdLineArgs();
+
+ DbTreeItem::initMeta();
+ SqlQueryModelColumn::initMeta();
+ SqlQueryModel::staticInit();
+
+ SQLITESTUDIO->init(a.arguments(), true);
+ IconManager::getInstance()->init();
+ DbTree::staticInit();
+ DataView::staticInit();
+ EditorWindow::staticInit();
+ TableWindow::staticInit();
+ ViewWindow::staticInit();
+ MultiEditorDateTime::staticInit();
+ MultiEditorTime::staticInit();
+ MultiEditorDate::staticInit();
+ MultiEditorBool::staticInit();
+
+ MainWindow::getInstance();
+
+ SQLITESTUDIO->initPlugins();
+
+ if (listPlugins)
+ {
+ for (const PluginManager::PluginDetails& details : PLUGINS->getAllPluginDetails())
+ qOut << details.name << " " << details.versionString << "\n";
+
+ return 0;
+ }
+
+ IconManager::getInstance()->rescanResources();
+
+ MainWindow::getInstance()->restoreSession();
+ MainWindow::getInstance()->show();
+
+ if (!dbToOpen.isNull())
+ MainWindow::getInstance()->openDb(dbToOpen);
+
+ UPDATES->checkForUpdates();
+
+ return a.exec();
+}
diff --git a/SQLiteStudio3/sqlitestudio/sqlitestudio.pro b/SQLiteStudio3/sqlitestudio/sqlitestudio.pro
new file mode 100644
index 0000000..07be99c
--- /dev/null
+++ b/SQLiteStudio3/sqlitestudio/sqlitestudio.pro
@@ -0,0 +1,46 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2014-09-06T00:39:26
+#
+#-------------------------------------------------
+
+QT += core gui
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+include($$PWD/../dirs.pri)
+include($$PWD/../utils.pri)
+
+OBJECTS_DIR = $$OBJECTS_DIR/sqlitestudio
+MOC_DIR = $$MOC_DIR/sqlitestudio
+UI_DIR = $$UI_DIR/sqlitestudio
+
+linux: {
+ TARGET = sqlitestudio
+}
+!linux: {
+ TARGET = SQLiteStudio
+}
+TEMPLATE = app
+
+CONFIG += c++11
+QMAKE_CXXFLAGS += -pedantic
+linux|portable {
+ QMAKE_LFLAGS += -Wl,-rpath,./lib
+}
+
+LIBS += -lcoreSQLiteStudio -lguiSQLiteStudio
+
+SOURCES += main.cpp
+
+win32: {
+ RC_FILE = windows.rc
+}
+
+macx: {
+ ICON = ../guiSQLiteStudio/img/sqlitestudio.icns
+}
+
+OTHER_FILES += \
+ windows.rc \
+ SQLiteStudio.exe.manifest
diff --git a/SQLiteStudio3/sqlitestudio/windows.rc b/SQLiteStudio3/sqlitestudio/windows.rc
new file mode 100644
index 0000000..b22d93b
--- /dev/null
+++ b/SQLiteStudio3/sqlitestudio/windows.rc
@@ -0,0 +1,4 @@
+#include <windows.h>
+
+ID_ICON ICON DISCARDABLE "../guiSQLiteStudio/img/sqlitestudio.ico"
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "SQLiteStudio.exe.manifest"