From d9aa870e5d509cc7309ab82dd102a937ab58613a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Thu, 9 Feb 2017 04:36:04 -0500 Subject: Imported Upstream version 3.1.1+dfsg1 --- .../coreSQLiteStudio/plugins/dbpluginsqlite3.cpp | 2 +- .../plugins/dbpluginstdfilebase.cpp | 33 ++++++++++++++++++++++ .../coreSQLiteStudio/plugins/dbpluginstdfilebase.h | 16 +++++++++++ .../coreSQLiteStudio/plugins/uiconfiguredplugin.h | 2 +- 4 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginstdfilebase.cpp create mode 100644 SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginstdfilebase.h (limited to 'SQLiteStudio3/coreSQLiteStudio/plugins') diff --git a/SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginsqlite3.cpp b/SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginsqlite3.cpp index 0f16098..7228752 100644 --- a/SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginsqlite3.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginsqlite3.cpp @@ -38,7 +38,7 @@ QList DbPluginSqlite3::getOptionsList() const QString DbPluginSqlite3::generateDbName(const QVariant& baseValue) { QFileInfo file(baseValue.toString()); - return file.baseName(); + return file.completeBaseName(); } bool DbPluginSqlite3::checkIfDbServedByPlugin(Db* db) const diff --git a/SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginstdfilebase.cpp b/SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginstdfilebase.cpp new file mode 100644 index 0000000..b890c26 --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginstdfilebase.cpp @@ -0,0 +1,33 @@ +#include "dbpluginstdfilebase.h" +#include "common/unused.h" +#include "db/sqlquery.h" +#include + +Db *DbPluginStdFileBase::getInstance(const QString &name, const QString &path, const QHash &options, QString *errorMessage) +{ + UNUSED(errorMessage); + + Db* db = newInstance(name, path, options); + + if (!db->openForProbing()) + { + delete db; + return nullptr; + } + + SqlQueryPtr results = db->exec("SELECT * FROM sqlite_master"); + if (results->isError()) + { + delete db; + return nullptr; + } + + db->closeQuiet(); + return db; +} + +QString DbPluginStdFileBase::generateDbName(const QVariant &baseValue) +{ + QFileInfo file(baseValue.toString()); + return file.completeBaseName(); +} diff --git a/SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginstdfilebase.h b/SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginstdfilebase.h new file mode 100644 index 0000000..6ea1c47 --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/plugins/dbpluginstdfilebase.h @@ -0,0 +1,16 @@ +#ifndef DBPLUGINSTDFILEBASE_H +#define DBPLUGINSTDFILEBASE_H + +#include "dbplugin.h" + +class API_EXPORT DbPluginStdFileBase : public DbPlugin +{ + public: + Db *getInstance(const QString &name, const QString &path, const QHash &options, QString *errorMessage); + QString generateDbName(const QVariant &baseValue); + + protected: + virtual Db *newInstance(const QString &name, const QString &path, const QHash &options) = 0; +}; + +#endif // DBPLUGINSTDFILEBASE_H diff --git a/SQLiteStudio3/coreSQLiteStudio/plugins/uiconfiguredplugin.h b/SQLiteStudio3/coreSQLiteStudio/plugins/uiconfiguredplugin.h index c9af8e0..1426117 100644 --- a/SQLiteStudio3/coreSQLiteStudio/plugins/uiconfiguredplugin.h +++ b/SQLiteStudio3/coreSQLiteStudio/plugins/uiconfiguredplugin.h @@ -39,7 +39,7 @@ class API_EXPORT UiConfiguredPlugin * * This is called just after the config dialog was open and all its contents are already initialized. * This is a good moment to connect to plugin's CfgMain configuration object to listen for changes, - * so all uncommited (yet) configuration changes can be reflected by this plugin. + * so all uncommitted (yet) configuration changes can be reflected by this plugin. */ virtual void configDialogOpen() = 0; -- cgit v1.2.3