From 7167ce41b61d2ba2cdb526777a4233eb84a3b66a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sat, 6 Dec 2014 17:33:25 -0500 Subject: Imported Upstream version 2.99.6 --- .../sqlitestudio/SQLiteStudio.exe.manifest | 19 +++ SQLiteStudio3/sqlitestudio/main.cpp | 142 +++++++++++++++++++++ SQLiteStudio3/sqlitestudio/sqlitestudio.pro | 46 +++++++ SQLiteStudio3/sqlitestudio/windows.rc | 4 + 4 files changed, 211 insertions(+) create mode 100644 SQLiteStudio3/sqlitestudio/SQLiteStudio.exe.manifest create mode 100644 SQLiteStudio3/sqlitestudio/main.cpp create mode 100644 SQLiteStudio3/sqlitestudio/sqlitestudio.pro create mode 100644 SQLiteStudio3/sqlitestudio/windows.rc (limited to 'SQLiteStudio3/sqlitestudio') 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 @@ + + + + + + + + + + + + + + + + + + + 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 +#include +#include +#include +#include +#include +#include +#include + +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 ."), 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 + +ID_ICON ICON DISCARDABLE "../guiSQLiteStudio/img/sqlitestudio.ico" +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "SQLiteStudio.exe.manifest" -- cgit v1.2.3