aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/services/impl
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2015-01-30 17:00:24 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2015-01-30 17:00:24 -0500
commite4767514ed04e6a0bddf3f4a47f5f0b09e65e0ee (patch)
tree86cadc2137831d44fa29fd40a2964f7fb1326de4 /SQLiteStudio3/coreSQLiteStudio/services/impl
parent26ddfe11c2b7fac52e5f57dcd9f5223a50b2a9a7 (diff)
parent016003905ca0e8e459e3dc33e786beda8ec92f45 (diff)
Merge tag 'upstream/3.0.2'
Upstream version 3.0.2 # gpg: Signature made Fri 30 Jan 2015 05:00:11 PM EST using RSA key ID EBE9BD91 # gpg: Good signature from "Unit 193 <unit193@gmail.com>" # gpg: aka "Unit 193 <unit193@ninthfloor.org>" # gpg: aka "Unit 193 <unit193@ubuntu.com>"
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/services/impl')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp8
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h2
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp3
3 files changed, 11 insertions, 2 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp
index e210f01..bbfec32 100644
--- a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp
+++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp
@@ -278,13 +278,14 @@ qint64 ConfigImpl::addSqlHistory(const QString& sql, const QString& dbName, int
sqlHistoryId = 0;
}
+ sqlHistoryMutex.lock();
QtConcurrent::run(this, &ConfigImpl::asyncAddSqlHistory, sqlHistoryId, sql, dbName, timeSpentMillis, rowsAffected);
- sqlHistoryId++;
- return sqlHistoryId;
+ return sqlHistoryId++;
}
void ConfigImpl::updateSqlHistory(qint64 id, const QString& sql, const QString& dbName, int timeSpentMillis, int rowsAffected)
{
+ sqlHistoryMutex.lock();
QtConcurrent::run(this, &ConfigImpl::asyncUpdateSqlHistory, id, sql, dbName, timeSpentMillis, rowsAffected);
}
@@ -638,6 +639,7 @@ void ConfigImpl::asyncAddSqlHistory(qint64 id, const QString& sql, const QString
{
qDebug() << "Error adding SQL history:" << results->getErrorText();
db->rollback();
+ sqlHistoryMutex.unlock();
return;
}
@@ -657,6 +659,7 @@ void ConfigImpl::asyncAddSqlHistory(qint64 id, const QString& sql, const QString
db->commit();
emit sqlHistoryRefreshNeeded();
+ sqlHistoryMutex.unlock();
}
void ConfigImpl::asyncUpdateSqlHistory(qint64 id, const QString& sql, const QString& dbName, int timeSpentMillis, int rowsAffected)
@@ -665,6 +668,7 @@ void ConfigImpl::asyncUpdateSqlHistory(qint64 id, const QString& sql, const QStr
{dbName, timeSpentMillis, rowsAffected, sql, id});
emit sqlHistoryRefreshNeeded();
+ sqlHistoryMutex.unlock();
}
void ConfigImpl::asyncClearSqlHistory()
diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h
index ec32e8d..63d1e1f 100644
--- a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h
+++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h
@@ -4,6 +4,7 @@
#include "coreSQLiteStudio_global.h"
#include "services/config.h"
#include "db/sqlquery.h"
+#include <QMutex>
class AsyncConfigHandler;
class SqlHistoryModel;
@@ -118,6 +119,7 @@ class API_EXPORT ConfigImpl : public Config
bool massSaving = false;
SqlHistoryModel* sqlHistoryModel = nullptr;
DdlHistoryModel* ddlHistoryModel = nullptr;
+ QMutex sqlHistoryMutex;
public slots:
void refreshDdlHistory();
diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp b/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp
index 5d7a517..c3bc581 100644
--- a/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp
+++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp
@@ -3,6 +3,7 @@
#include "plugins/genericplugin.h"
#include "services/notifymanager.h"
#include "common/unused.h"
+#include "translations.h"
#include <QCoreApplication>
#include <QDir>
#include <QDebug>
@@ -465,6 +466,7 @@ void PluginManagerImpl::unload(const QString& pluginName)
// Deinitializing and unloading plugin
emit aboutToUnload(container->plugin, container->type);
container->plugin->deinit();
+ unloadTranslation(container->name);
QPluginLoader* loader = container->loader;
if (!loader->isLoaded())
@@ -586,6 +588,7 @@ void PluginManagerImpl::pluginLoaded(PluginManagerImpl::PluginContainer* contain
{
if (!container->builtIn)
{
+ loadTranslation(container->name);
container->plugin = dynamic_cast<Plugin*>(container->loader->instance());
container->loaded = true;
}