diff options
| author | 2015-05-12 16:19:40 -0400 | |
|---|---|---|
| committer | 2015-05-12 16:19:40 -0400 | |
| commit | 9618f0ebbf4b88045247c01ce8c8f58203508ebf (patch) | |
| tree | 20c9894691353ee8bab4eec668e9b0b6c6426e0f /SQLiteStudio3/coreSQLiteStudio | |
| parent | a308f430f694423064ebc86fd0506c8c6fdb3d93 (diff) | |
Imported Upstream version 3.0.6upstream/3.0.6
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio')
40 files changed, 902 insertions, 776 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/ChangeLog.txt b/SQLiteStudio3/coreSQLiteStudio/ChangeLog.txt index 384fd8a..a94955a 100644 --- a/SQLiteStudio3/coreSQLiteStudio/ChangeLog.txt +++ b/SQLiteStudio3/coreSQLiteStudio/ChangeLog.txt @@ -1,3 +1,30 @@ +[3.0.6] + * [ADDED]: #2740 Option to configure whether bottom dock area (with status field) should extend to left border, or should it leave space for database list. + * [ADDED]: #2819 Introduced "compact layout" as an option (enabled by default) to minimize all margins on the interface. + * [ADDED]: CSS console for SQLiteStudio (under F11 key) to allow customizing all aspects UI look and feel at a low level. + * [ADDED]: #2805 The 'Save SQL' action in SQL editor now uses the same file if repeated, unless user picks 'select file to save' from drop-down menu. + * [ADDED]: #2801 Added option to select where to position the new inserted row - above/below selected row, or at the end of data view. + * [CHANGE]: Database list is by default from top to bottom, making the status field placed next to the database list, instead of being below it. + * [BUGFIX]: Fixed 'rows affected' counter when using transactions and executing everything at once. + * [BUGFIX]: Fixed importing from CSV with empty (NULL) values in last column of last data row. + * [BUGFIX]: #2853 Allow '$' character as a part of an identifier. + * [BUGFIX]: #2846 Fixed crash when executing query on a database after just removed other database from the list. + * [BUGFIX]: #2856 Fixed not working updates manual checking if automatic checking was disabled. + * [BUGFIX]: #2863 Fixed config dialog to honor DbTree presentation options (sorting, labels) immediately, no manual refreshing required. + * [BUGFIX]: #2862 Fixed loading SQL scripts into editor when using Chinese language. + * [BUGFIX]: #2855 Automatic updates are now enabled only for portable build and are disabled by default for other builds. + * [BUGFIX]: #2867 Fixed support for "ISNULL" in query execution. + * [BUGFIX]: Fixed synchronization bug in DbSqlite2 plugin causing random crashes. + * [BUGFIX]: Views are recreated after table modification only if they really need to be updated according to the table change. + * [BUGFIX]: Fixed querying selects with numerous subselects with '*' operators for result columns. + * [BUGFIX]: #2868 Global configuration directory is not created (even empty) when using portable configuration. + * [BUGFIX]: #2866 Fixed Search dialog in SQL editor to honor changes of the searched value during the single session of searching. + * [BUGFIX]: Fixed importing from data source that provides columns with special characters - they are no longer splitted to column name and datatype. + * [BUGFIX]: Fixed problem with keyboard focus for syntax completer under Gnome 3. + * [BUGFIX]: #2872 'Enter' key in table name of import dialog now triggers 'Next' action, not clearing the table name. + * [BUGFIX]: #2864 & #2791 Fixed synchronouse execution in QueryExecutor, which also fixes the misterious bug in export dialog, causing empty files being exported. + * [BUGFIX]: Fixed encoding detection and connection testing for SQLite2. + [3.0.5] * [ADDED]: #2831 Ported 'Erase table data' feature (in table's context menu) from version 2.1.5. * [CHANGE]: Data view has now a 'cover' with progress bar when commiting more changes at once. This eliminates weird GUI freeze when commiting lots of new/deleted rows. diff --git a/SQLiteStudio3/coreSQLiteStudio/TODO.txt b/SQLiteStudio3/coreSQLiteStudio/TODO.txt index d18c16a..e6f699e 100644 --- a/SQLiteStudio3/coreSQLiteStudio/TODO.txt +++ b/SQLiteStudio3/coreSQLiteStudio/TODO.txt @@ -1,21 +1,25 @@ * Outstanding features for 3.1: +- migrate updates engine to Qt Install Framework +- loadable extensions full support - BLOB preview engine based on plugins - ERD plugin - DB compare plugin - Foreign Key value suggestions in GridView -- code templates +- Foreign Key previews in subframes - executing query with bind params -- migrate updates engine to Qt Install Framework +- comments support in formatter * Next versions: - object names (columns, tables, etc) in dialogs should be validated against suffix/prefix whitespaces and if they appear, user should be asked for confirmation - small useful features: generating template queries from context menu for table/view, from data view. +- code templates - commiting DataView should be async - syntax checkers as services - per language - code assistants as services - per language - specialized validation of expressions for DEFAULT constraint. - "recovery" after failed startup - detecting if previous start crashed and if yes, propose cleaning of configuration. - tcl highlighter +- highlighting occurrences of the same object in the query when cursor is on it - plugin to do performance testing - plugins to generate artifacts - qtscript syntax checker @@ -54,24 +58,3 @@ UNIT TESTS: * Advanced syntax error checks: - many idxColumns are not allowed for column FK - autoincrement not allowed for not integer type - - - - - - - - - -Qt mingw: -Not an easy task. I got Perl, Python, Ruby and MinGw/bin in path and -use this line - -configure -opensource -confirm-license -platform win32-g++ -make libs --qt-libjpeg -qt-libpng -no-openssl -no-icu -qt-zlib -qt-pcre --no-iconv -nomake examples -nomake tests -qt-style-windowsxp --qt-style-windowsvista -opengl -desktop - -Qt linux: -./configure -no-icu -nomake examples -nomake tests -no-dbus -opensource -skip webkit -skip quickcontrols -prefix /home/spakowane/qt5.3.1/output diff --git a/SQLiteStudio3/coreSQLiteStudio/common/utils_sql.cpp b/SQLiteStudio3/coreSQLiteStudio/common/utils_sql.cpp index 20ac736..3ace551 100644 --- a/SQLiteStudio3/coreSQLiteStudio/common/utils_sql.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/common/utils_sql.cpp @@ -10,7 +10,7 @@ #include <QDebug> #include <QMetaType> -QString invalidIdCharacters = "[]()$\"'@*.,+-=/%&|:; \t\n<>"; +QString invalidIdCharacters = "[]()\"'@*.,+-=/%&|:; \t\n<>"; QHash<NameWrapper,QPair<QChar,QChar> > wrapperChars; QList<NameWrapper> sqlite3Wrappers; QList<NameWrapper> sqlite2Wrappers; diff --git a/SQLiteStudio3/coreSQLiteStudio/csvformat.cpp b/SQLiteStudio3/coreSQLiteStudio/csvformat.cpp index 2876b88..f5daa60 100644 --- a/SQLiteStudio3/coreSQLiteStudio/csvformat.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/csvformat.cpp @@ -11,3 +11,8 @@ CsvFormat::CsvFormat(const QString& columnSeparator, const QString& rowSeparator columnSeparator(columnSeparator), rowSeparator(rowSeparator) { } + +CsvFormat::CsvFormat(const QString& columnSeparator, const QString& rowSeparator, bool strictRowSeparator, bool strictColumnSeparator) : + columnSeparator(columnSeparator), rowSeparator(rowSeparator), strictColumnSeparator(strictColumnSeparator), strictRowSeparator(strictRowSeparator) +{ +} diff --git a/SQLiteStudio3/coreSQLiteStudio/csvformat.h b/SQLiteStudio3/coreSQLiteStudio/csvformat.h index c569147..5ce00ad 100644 --- a/SQLiteStudio3/coreSQLiteStudio/csvformat.h +++ b/SQLiteStudio3/coreSQLiteStudio/csvformat.h @@ -8,9 +8,12 @@ struct API_EXPORT CsvFormat { CsvFormat(); CsvFormat(const QString& columnSeparator, const QString& rowSeparator); + CsvFormat(const QString& columnSeparator, const QString& rowSeparator, bool strictRowSeparator, bool strictColumnSeparator); QString columnSeparator; QString rowSeparator; + bool strictColumnSeparator = false; + bool strictRowSeparator = false; static const CsvFormat DEFAULT; }; diff --git a/SQLiteStudio3/coreSQLiteStudio/csvserializer.cpp b/SQLiteStudio3/coreSQLiteStudio/csvserializer.cpp index 7d7d20b..c89074f 100644 --- a/SQLiteStudio3/coreSQLiteStudio/csvserializer.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/csvserializer.cpp @@ -36,6 +36,38 @@ QString CsvSerializer::serialize(const QStringList& data, const CsvFormat& forma } template <class T> +bool isCsvColumnSeparator(const T& data, int pos, const CsvFormat& format) +{ + if (!format.strictColumnSeparator && format.columnSeparator.contains(data[pos])) + return true; + + for (const QChar& c : format.columnSeparator) + { + if (c != data[pos++]) + return false; + } + + return true; +} + +template <class T> +bool isCsvRowSeparator(const T& data, int& pos, const CsvFormat& format) +{ + if (!format.strictRowSeparator && format.rowSeparator.contains(data[pos])) + return true; + + int localPos = pos; + for (const QChar& c : format.rowSeparator) + { + if (localPos >= data.size() || c != data[localPos++]) + return false; + } + + pos = localPos - 1; + return true; +} + +template <class T> QList<QList<T>> typedDeserialize(const T& data, const CsvFormat& format) { QList<QList<T>> rows; @@ -58,23 +90,33 @@ QList<QList<T>> typedDeserialize(const T& data, const CsvFormat& format) } else if (quotes && c == '"' ) { - if (pos + 1 < data.length() && data[pos+1] == '"' ) + if (pos + 1 < data.length()) { - field += c; - pos++; + if (data[pos+1] == '"' ) + { + field += c; + pos++; + } + else + { + quotes = false; + } } else { - quotes = false; + if (field.length() == 0) + cells << field; + + quotes = false; } } - else if (!quotes && format.columnSeparator.contains(c)) + else if (!quotes && isCsvColumnSeparator(data, pos, format)) { cells << field; field.clear(); sepAsLast = true; } - else if (!quotes && format.rowSeparator.contains(c)) + else if (!quotes && isCsvRowSeparator(data, pos, format)) { cells << field; rows << cells; diff --git a/SQLiteStudio3/coreSQLiteStudio/datatype.cpp b/SQLiteStudio3/coreSQLiteStudio/datatype.cpp index 613e6dc..d90a6b0 100644 --- a/SQLiteStudio3/coreSQLiteStudio/datatype.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/datatype.cpp @@ -2,7 +2,7 @@ #include <QMetaEnum> #include <QRegularExpression> -QList<DataType::Enum> DataType::values = [=]() -> QList<DataType::Enum> +QList<DataType::Enum> DataType::values = []() -> QList<DataType::Enum> { QList<DataType::Enum> list; QMetaEnum metaEnum = DataType::staticMetaObject.enumerator(0); @@ -19,7 +19,7 @@ QList<DataType::Enum> DataType::values = [=]() -> QList<DataType::Enum> return list; }(); -const QStringList DataType::names = [=]() -> QStringList +const QStringList DataType::names = []() -> QStringList { QStringList list; QMetaEnum metaEnum = DataType::staticMetaObject.enumerator(0); diff --git a/SQLiteStudio3/coreSQLiteStudio/db/abstractdb2.h b/SQLiteStudio3/coreSQLiteStudio/db/abstractdb2.h index 0620a7d..5b95f61 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/abstractdb2.h +++ b/SQLiteStudio3/coreSQLiteStudio/db/abstractdb2.h @@ -109,7 +109,6 @@ class AbstractDb2 : public AbstractDb int colCount = -1; QStringList colNames; QList<QVariant> nextRowValues; - int affected = 0; bool rowAvailable = false; }; @@ -725,6 +724,8 @@ SqlResultsRowPtr AbstractDb2<T>::Query::nextInternal() if (!rowAvailable || db.isNull()) return SqlResultsRowPtr(); + ReadWriteLocker locker(&(db->dbOperLock), query, Dialect::Sqlite2, flags.testFlag(Db::Flag::NO_LOCK)); + Row* row = new Row; row->init(colNames, nextRowValues); diff --git a/SQLiteStudio3/coreSQLiteStudio/db/abstractdb3.h b/SQLiteStudio3/coreSQLiteStudio/db/abstractdb3.h index fe37d5e..e7b0a4b 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/abstractdb3.h +++ b/SQLiteStudio3/coreSQLiteStudio/db/abstractdb3.h @@ -107,7 +107,6 @@ class AbstractDb3 : public AbstractDb QString errorMessage; int colCount = 0; QStringList colNames; - int affected = 0; bool rowAvailable = false; }; @@ -1076,13 +1075,14 @@ int AbstractDb3<T>::Query::fetchFirst() for (int i = 0; i < colCount; i++) colNames << QString::fromUtf8(T::column_name(stmt, i)); + int changesBefore = T::total_changes(db->dbHandle); rowAvailable = true; int res = fetchNext(); affected = 0; if (res == T::OK) { - affected = T::changes(db->dbHandle); + affected = T::total_changes(db->dbHandle) - changesBefore; insertRowId["ROWID"] = T::last_insert_rowid(db->dbHandle); } diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.cpp b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.cpp index 9fc49df..b790ffa 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.cpp @@ -40,7 +40,8 @@ QueryExecutor::QueryExecutor(Db* db, const QString& query, QObject *parent) : setAutoDelete(false); connect(this, SIGNAL(executionFailed(int,QString)), this, SLOT(cleanupAfterExecFailed(int,QString))); - connect(DBLIST, SIGNAL(dbAboutToBeUnloaded(Db*, DbPlugin*)), this, SLOT(cleanupBeforeDbDestroy(Db*, DbPlugin*))); + connect(DBLIST, SIGNAL(dbAboutToBeUnloaded(Db*, DbPlugin*)), this, SLOT(cleanupBeforeDbDestroy(Db*))); + connect(DBLIST, SIGNAL(dbRemoved(Db*)), this, SLOT(cleanupBeforeDbDestroy(Db*))); } QueryExecutor::~QueryExecutor() @@ -146,9 +147,8 @@ void QueryExecutor::cleanupAfterExecFailed(int code, QString errorMessage) cleanup(); } -void QueryExecutor::cleanupBeforeDbDestroy(Db* dbToBeUnloaded, DbPlugin* plugin) +void QueryExecutor::cleanupBeforeDbDestroy(Db* dbToBeUnloaded) { - UNUSED(plugin); if (!dbToBeUnloaded || dbToBeUnloaded != db) return; @@ -404,7 +404,16 @@ void QueryExecutor::executeSimpleMethod() simpleExecution = true; context->editionForbiddenReasons << EditionForbiddenReason::SMART_EXECUTION_FAILED; simpleExecutionStartTime = QDateTime::currentMSecsSinceEpoch(); - asyncId = db->asyncExec(originalQuery, context->queryParameters, Db::Flag::PRELOAD); + + if (asyncMode) + { + asyncId = db->asyncExec(originalQuery, context->queryParameters, Db::Flag::PRELOAD); + } + else + { + SqlQueryPtr results = db->exec(originalQuery, context->queryParameters, Db::Flag::PRELOAD); + simpleExecutionFinished(results); + } } void QueryExecutor::simpleExecutionFinished(SqlQueryPtr results) @@ -435,6 +444,7 @@ void QueryExecutor::simpleExecutionFinished(SqlQueryPtr results) context->executionTime = QDateTime::currentMSecsSinceEpoch() - simpleExecutionStartTime; context->rowsAffected = results->rowsAffected(); context->totalRowsReturned = 0; + context->executionResults = results; requiredDbAttaches = context->dbNameToAttach.leftValues(); executionMutex.lock(); diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.h b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.h index c6d7701..83d0436 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.h +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.h @@ -1407,7 +1407,7 @@ class API_EXPORT QueryExecutor : public QObject, public QRunnable * from deleted Db. Keeping results is dangerous, becuase the Db driver (plugin) is most likely to * be unloaded soon and we won't be able to call results destructor. */ - void cleanupBeforeDbDestroy(Db* dbToBeUnloaded, DbPlugin* plugin); + void cleanupBeforeDbDestroy(Db* dbToBeUnloaded); }; int qHash(QueryExecutor::EditionForbiddenReason reason); diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.cpp b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.cpp index 9307d13..ea42baf 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.cpp @@ -59,6 +59,16 @@ QHash<SelectResolver::Table,QHash<QString,QString>> QueryExecutorAddRowIds::addR return rowIdColsMap; } + bool hasStar = false; + for (SqliteSelect::Core::ResultColumn* resCol : core->resultColumns) + { + if (resCol->star) + { + hasStar = true; + break; + } + } + // Getting all tables we need to get ROWID for SelectResolver resolver(db, select->tokens.detokenize(), context->dbNameToAttach); resolver.resolveMultiCore = false; // multicore subselects result in not editable columns, skip them @@ -69,7 +79,7 @@ QHash<SelectResolver::Table,QHash<QString,QString>> QueryExecutorAddRowIds::addR if (table.flags & (SelectResolver::FROM_COMPOUND_SELECT | SelectResolver::FROM_DISTINCT_SELECT | SelectResolver::FROM_GROUPED_SELECT)) continue; // we don't get ROWID from compound, distinct or aggregated subselects - if (!addResultColumns(core, table, rowIdColsMap, isTopSelect)) + if (!addResultColumns(core, table, rowIdColsMap, isTopSelect, hasStar)) { ok = false; return rowIdColsMap; @@ -146,12 +156,14 @@ QHash<QString,QString> QueryExecutorAddRowIds::getNextColNames(const SelectResol } bool QueryExecutorAddRowIds::addResultColumns(SqliteSelect::Core* core, const SelectResolver::Table& table, - QHash<SelectResolver::Table,QHash<QString,QString>>& rowIdColsMap, bool isTopSelect) + QHash<SelectResolver::Table,QHash<QString,QString>>& rowIdColsMap, bool isTopSelect, bool hasStar) { QHash<QString, QString> executorToRealColumns; + bool aliasOnlyAsSelectColumn = false; if (rowIdColsMap.contains(table)) { executorToRealColumns = rowIdColsMap[table]; // we already have resCol names from subselect + aliasOnlyAsSelectColumn = true; } else { @@ -169,7 +181,7 @@ bool QueryExecutorAddRowIds::addResultColumns(SqliteSelect::Core* core, const Se while (it.hasNext()) { it.next(); - if (!addResultColumns(core, table, it.key(), it.value())) + if (!addResultColumns(core, table, it.key(), it.value(), aliasOnlyAsSelectColumn)) return false; } @@ -189,7 +201,7 @@ bool QueryExecutorAddRowIds::addResultColumns(SqliteSelect::Core* core, const Se } bool QueryExecutorAddRowIds::addResultColumns(SqliteSelect::Core* core, const SelectResolver::Table& table, const QString& queryExecutorColumn, - const QString& realColumn) + const QString& realColumn, bool aliasOnlyAsSelectColumn) { SqliteSelect::Core::ResultColumn* resCol = new SqliteSelect::Core::ResultColumn(); resCol->setParent(core); @@ -197,17 +209,25 @@ bool QueryExecutorAddRowIds::addResultColumns(SqliteSelect::Core* core, const Se resCol->expr = new SqliteExpr(); resCol->expr->setParent(resCol); - resCol->expr->initId(realColumn); - if (!table.alias.isNull()) + if (aliasOnlyAsSelectColumn) { - resCol->expr->table = table.alias; + // We are re-querying this column from subselect, we already have it as an alias + resCol->expr->initId(queryExecutorColumn); } else { - if (!table.database.isNull()) - resCol->expr->database = table.database; + resCol->expr->initId(realColumn); + if (!table.alias.isNull()) + { + resCol->expr->table = table.alias; + } + else + { + if (!table.database.isNull()) + resCol->expr->database = table.database; - resCol->expr->table = table.table; + resCol->expr->table = table.table; + } } resCol->asKw = true; resCol->alias = queryExecutorColumn; diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.h b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.h index a5431fa..fa2167f 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.h +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.h @@ -31,7 +31,7 @@ class QueryExecutorAddRowIds : public QueryExecutorStep * Finds columns representing ROWID for the \p table and adds them to result columns and to the context. */ bool addResultColumns(SqliteSelect::Core* core, const SelectResolver::Table& table, - QHash<SelectResolver::Table, QHash<QString, QString> >& rowIdColsMap, bool isTopSelect); + QHash<SelectResolver::Table, QHash<QString, QString> >& rowIdColsMap, bool isTopSelect, bool hasStar); /** * @brief Adds the column to result columns list. @@ -44,7 +44,7 @@ class QueryExecutorAddRowIds : public QueryExecutorStep * Adds given column to the result column list in the SELECT statement. */ bool addResultColumns(SqliteSelect::Core* core, const SelectResolver::Table& table, const QString& queryExecutorColumn, - const QString& realColumn); + const QString& realColumn, bool aliasOnlyAsSelectColumn); /** * @brief Adds all necessary ROWID columns to result columns. diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorexecute.cpp b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorexecute.cpp index df2ed68..a954da7 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorexecute.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorexecute.cpp @@ -7,6 +7,7 @@ #include "datatype.h" #include <QDateTime> #include <QDebug> +#include <QStack> #include <schemaresolver.h> #include <common/table.h> @@ -34,6 +35,7 @@ bool QueryExecutorExecute::executeQueries() QHash<QString, QVariant> bindParamsForQuery; SqlQueryPtr results; context->rowsAffected = 0; + QStack<int> rowsAffectedBeforeTransaction; Db::Flags flags; if (context->preloadResults) @@ -51,6 +53,9 @@ bool QueryExecutorExecute::executeQueries() if (queryCount == 0) // last query? setupSqlite2ColumnDataTypes(results); + if (isBeginTransaction(query->queryType)) + rowsAffectedBeforeTransaction.push(context->rowsAffected); + results->execute(); if (results->isError()) @@ -60,6 +65,14 @@ bool QueryExecutorExecute::executeQueries() } context->rowsAffected += results->rowsAffected(); + + if (rowsAffectedBeforeTransaction.size() > 0) + { + if (isCommitTransaction(query->queryType)) + rowsAffectedBeforeTransaction.pop(); + else if (isRollbackTransaction(query->queryType)) + context->rowsAffected = rowsAffectedBeforeTransaction.pop(); + } } handleSuccessfulResult(results); return true; @@ -152,3 +165,18 @@ void QueryExecutorExecute::setupSqlite2ColumnDataTypes(SqlQueryPtr results) sqlite2Helper->setBinaryType(idx); } } + +bool QueryExecutorExecute::isBeginTransaction(SqliteQueryType queryType) +{ + return (queryType == SqliteQueryType::BeginTrans || queryType == SqliteQueryType::Savepoint); +} + +bool QueryExecutorExecute::isCommitTransaction(SqliteQueryType queryType) +{ + return (queryType == SqliteQueryType::CommitTrans || queryType == SqliteQueryType::Release); +} + +bool QueryExecutorExecute::isRollbackTransaction(SqliteQueryType queryType) +{ + return queryType == SqliteQueryType::Rollback; +} diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorexecute.h b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorexecute.h index a88bf56..ea6fed2 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorexecute.h +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorexecute.h @@ -80,6 +80,9 @@ class QueryExecutorExecute : public QueryExecutorStep qint64 startTime; void setupSqlite2ColumnDataTypes(SqlQueryPtr results); + bool isBeginTransaction(SqliteQueryType queryType); + bool isCommitTransaction(SqliteQueryType queryType); + bool isRollbackTransaction(SqliteQueryType queryType); }; #endif // QUERYEXECUTOREXECUTE_H diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorreplaceviews.cpp b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorreplaceviews.cpp index 94300a0..1f2e736 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorreplaceviews.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorreplaceviews.cpp @@ -25,6 +25,7 @@ bool QueryExecutorReplaceViews::exec() return true; replaceViews(select.data()); + select->rebuildTokens(); updateQueries(); return true; @@ -72,7 +73,7 @@ void QueryExecutorReplaceViews::replaceViews(SqliteSelect* select) SqliteCreateViewPtr view; QList<SqliteSelect::Core::SingleSource*> sources = core->getAllTypedStatements<SqliteSelect::Core::SingleSource>(); - foreach (SqliteSelect::Core::SingleSource* src, sources) + for (SqliteSelect::Core::SingleSource* src : sources) { if (src->table.isNull()) continue; @@ -92,9 +93,9 @@ void QueryExecutorReplaceViews::replaceViews(SqliteSelect* select) src->select = view->select; src->database = QString::null; src->table = QString::null; - } - select->rebuildTokens(); + replaceViews(src->select); + } } uint qHash(const QueryExecutorReplaceViews::View& view) diff --git a/SQLiteStudio3/coreSQLiteStudio/db/stdsqlite3driver.h b/SQLiteStudio3/coreSQLiteStudio/db/stdsqlite3driver.h index 2f26aaf..6b0c422 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/stdsqlite3driver.h +++ b/SQLiteStudio3/coreSQLiteStudio/db/stdsqlite3driver.h @@ -64,6 +64,7 @@ static int column_type(stmt* arg1, int arg2) {return Prefix##sqlite3_column_type(arg1, arg2);} \ static int column_count(stmt* arg1) {return Prefix##sqlite3_column_count(arg1);} \ static int changes(handle* arg) {return Prefix##sqlite3_changes(arg);} \ + static int total_changes(handle* arg) {return Prefix##sqlite3_total_changes(arg);} \ static int last_insert_rowid(handle* arg) {return Prefix##sqlite3_last_insert_rowid(arg);} \ static int step(stmt* arg) {return Prefix##sqlite3_step(arg);} \ static int reset(stmt* arg) {return Prefix##sqlite3_reset(arg);} \ diff --git a/SQLiteStudio3/coreSQLiteStudio/importworker.cpp b/SQLiteStudio3/coreSQLiteStudio/importworker.cpp index cf62a98..b8d5a5a 100644 --- a/SQLiteStudio3/coreSQLiteStudio/importworker.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/importworker.cpp @@ -108,7 +108,7 @@ bool ImportWorker::prepareTable() { QStringList colDefs; for (int i = 0; i < columnsFromPlugin.size(); i++) - colDefs << (columnsFromPlugin[i] + " " + columnTypesFromPlugin[i]).trimmed(); + colDefs << (wrapObjIfNeeded(columnsFromPlugin[i], dialect) + " " + columnTypesFromPlugin[i]).trimmed(); static const QString ddl = QStringLiteral("CREATE TABLE %1 (%2)"); SqlQueryPtr result = db->exec(ddl.arg(wrapObjIfNeeded(table, dialect), colDefs.join(", "))); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteexpr.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteexpr.cpp index 12adf80..b84a818 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteexpr.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteexpr.cpp @@ -481,7 +481,7 @@ TokenList SqliteExpr::rebuildTokensFromContents() builder.withKeyword("NULL"); break; case SqliteExpr::Mode::NOTNULL: - builder.withTokens(rebuildNotNull()); + builder.withStatement(expr1).withSpace().withTokens(rebuildNotNull()); break; case SqliteExpr::Mode::IS: builder.withTokens(rebuildIs()); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterollback.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterollback.cpp index 01284b4..b21b6ae 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterollback.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterollback.cpp @@ -20,7 +20,8 @@ SqliteRollback::SqliteRollback(bool transactionKw, const QString& name) this->transactionKw = transactionKw; } -SqliteRollback::SqliteRollback(bool transactionKw, bool savePoint, const QString& name) +SqliteRollback::SqliteRollback(bool transactionKw, bool savePoint, const QString& name) : + SqliteRollback() { // we ignore name from trans_opt, // it's not officialy supported in sqlite3 diff --git a/SQLiteStudio3/coreSQLiteStudio/selectresolver.cpp b/SQLiteStudio3/coreSQLiteStudio/selectresolver.cpp index 9e425a2..8107b94 100644 --- a/SQLiteStudio3/coreSQLiteStudio/selectresolver.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/selectresolver.cpp @@ -38,7 +38,7 @@ QList<QList<SelectResolver::Column> > SelectResolver::resolve(SqliteSelect *sele { errors.clear(); QList<QList<SelectResolver::Column> > results; - foreach (SqliteSelect::Core* core, select->coreSelects) + for (SqliteSelect::Core* core : select->coreSelects) { results << resolveCore(core); currentCoreResults.clear(); @@ -57,7 +57,7 @@ QList<QList<SelectResolver::Column> > SelectResolver::resolveAvailableColumns(Sq { errors.clear(); QList<QList<SelectResolver::Column> > results; - foreach (SqliteSelect::Core* core, select->coreSelects) + for (SqliteSelect::Core* core : select->coreSelects) results << resolveAvailableCoreColumns(core); return results; @@ -67,8 +67,13 @@ QSet<SelectResolver::Table> SelectResolver::resolveTables(SqliteSelect::Core *se { QSet<Table> tables; QList<Column> columns = resolveAvailableColumns(selectCore); - foreach (Column col, columns) + for (const Column& col : columns) + { + if (col.type != Column::Type::COLUMN) + continue; + tables << col.getTable(); + } return tables; } @@ -77,11 +82,16 @@ QList<QSet<SelectResolver::Table> > SelectResolver::resolveTables(SqliteSelect * { QList<QSet<Table> > results; QList<QList<Column> > columnLists = resolveAvailableColumns(select); - foreach (QList<Column> columns, columnLists) + for (const QList<Column>& columns : columnLists) { QSet<Table> tables; - foreach (Column col, columns) + for (const Column& col : columns) + { + if (col.type != Column::Type::COLUMN) + continue; + tables << col.getTable(); + } results << tables; } @@ -93,7 +103,7 @@ QList<SelectResolver::Column> SelectResolver::translateToColumns(SqliteSelect* s { errors.clear(); QList<SelectResolver::Column> results; - foreach (TokenPtr token, columnTokens) + for (const TokenPtr& token : columnTokens) results << translateTokenToColumn(select, token); return results; @@ -120,7 +130,7 @@ QList<SelectResolver::Column> SelectResolver::resolveCore(SqliteSelect::Core* se if (selectCore->from) currentCoreSourceColumns = resolveJoinSource(selectCore->from); - foreach (SqliteSelect::Core::ResultColumn* resCol, selectCore->resultColumns) + for (SqliteSelect::Core::ResultColumn* resCol : selectCore->resultColumns) resolve(resCol); if (selectCore->distinctKw) @@ -188,7 +198,7 @@ SelectResolver::Column SelectResolver::translateTokenToColumn(SqliteSelect* sele } // Search through available columns - foreach (const Column& availableColumn, resolveAvailableColumns(core)) + for (const Column& availableColumn : resolveAvailableColumns(core)) { if (availableColumn.type == Column::COLUMN && availableColumn.column.compare(token->value, Qt::CaseInsensitive) == 0) return availableColumn; @@ -256,7 +266,7 @@ void SelectResolver::resolve(SqliteSelect::Core::ResultColumn *resCol) void SelectResolver::resolveStar(SqliteSelect::Core::ResultColumn *resCol) { bool foundAtLeastOne = false; - foreach (SelectResolver::Column column, currentCoreSourceColumns) + for (SelectResolver::Column column : currentCoreSourceColumns) { if (!resCol->table.isNull()) { @@ -379,7 +389,7 @@ void SelectResolver::resolveDbAndTable(SqliteSelect::Core::ResultColumn *resCol) SelectResolver::Column SelectResolver::resolveRowIdColumn(SqliteExpr *expr) { // Looking for first source that can provide ROWID. - foreach (Column column, currentCoreSourceColumns) + for (const Column& column : currentCoreSourceColumns) { if (column.table.isNull()) continue; // ROWID cannot be related to source with no table @@ -392,7 +402,7 @@ SelectResolver::Column SelectResolver::resolveRowIdColumn(SqliteExpr *expr) SelectResolver::Column SelectResolver::resolveExplicitColumn(const QString &columnName) { - foreach (const Column& column, currentCoreSourceColumns) + for (const Column& column : currentCoreSourceColumns) { if (columnName.compare(column.column, Qt::CaseInsensitive) != 0 && columnName.compare(column.alias, Qt::CaseInsensitive) != 0) continue; @@ -404,7 +414,7 @@ SelectResolver::Column SelectResolver::resolveExplicitColumn(const QString &colu SelectResolver::Column SelectResolver::resolveExplicitColumn(const QString &table, const QString &columnName) { - foreach (const Column& column, currentCoreSourceColumns) + for (const Column& column : currentCoreSourceColumns) { if (columnName.compare(column.column, Qt::CaseInsensitive) != 0 && columnName.compare(column.alias, Qt::CaseInsensitive) != 0) continue; @@ -419,7 +429,7 @@ SelectResolver::Column SelectResolver::resolveExplicitColumn(const QString &tabl SelectResolver::Column SelectResolver::resolveExplicitColumn(const QString &database, const QString &table, const QString &columnName) { - foreach (const Column& column, currentCoreSourceColumns) + for (const Column& column : currentCoreSourceColumns) { if (columnName.compare(column.column, Qt::CaseInsensitive) != 0 && columnName.compare(column.alias, Qt::CaseInsensitive) != 0) continue; @@ -481,7 +491,7 @@ QList<SelectResolver::Column> SelectResolver::resolveJoinSource(SqliteSelect::Co { QList<SelectResolver::Column> columnSources; columnSources += resolveSingleSource(joinSrc->singleSource); - foreach (SqliteSelect::Core::JoinSourceOther* otherSrc, joinSrc->otherSources) + for (SqliteSelect::Core::JoinSourceOther* otherSrc : joinSrc->otherSources) columnSources += resolveOtherSource(otherSrc); return columnSources; @@ -504,7 +514,7 @@ QList<SelectResolver::Column> SelectResolver::resolveSingleSource(SqliteSelect:: QList<Column> columnSources; QStringList columns = getTableColumns(joinSrc->database, joinSrc->table, joinSrc->alias); Column column; - foreach (QString columnName, columns) + for (const QString& columnName : columns) { column.type = Column::COLUMN; column.column = columnName; @@ -650,7 +660,7 @@ int SelectResolver::Column::operator ==(const SelectResolver::Column &other) return table == other.table && database == other.database && column == other.column && tableAlias == other.tableAlias; } -SelectResolver::Table SelectResolver::Column::getTable() +SelectResolver::Table SelectResolver::Column::getTable() const { Table resTable; resTable.table = table; diff --git a/SQLiteStudio3/coreSQLiteStudio/selectresolver.h b/SQLiteStudio3/coreSQLiteStudio/selectresolver.h index c634c5c..4213d73 100644 --- a/SQLiteStudio3/coreSQLiteStudio/selectresolver.h +++ b/SQLiteStudio3/coreSQLiteStudio/selectresolver.h @@ -113,7 +113,7 @@ class API_EXPORT SelectResolver SqliteSelect::Core::ResultColumn* originalColumn = nullptr; int operator==(const Column& other); - Table getTable(); + Table getTable() const; }; SelectResolver(Db* db, const QString &originalQuery); diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp index 046993f..5aed863 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp @@ -560,47 +560,38 @@ void ConfigImpl::initDbFile() QString globalPath = getConfigPath(); QString portablePath = getPortableConfigPath(); - QStringList paths; + QList<QPair<QString,bool>> paths; if (!globalPath.isNull() && !portablePath.isNull()) { if (QFileInfo(portablePath).exists()) { - paths << portablePath+"/"+DB_FILE_NAME; - paths << globalPath+"/"+DB_FILE_NAME; + paths << QPair<QString,bool>(portablePath+"/"+DB_FILE_NAME, false); + paths << QPair<QString,bool>(globalPath+"/"+DB_FILE_NAME, true); } else { - paths << globalPath+"/"+DB_FILE_NAME; - paths << portablePath+"/"+DB_FILE_NAME; + paths << QPair<QString,bool>(globalPath+"/"+DB_FILE_NAME, true); + paths << QPair<QString,bool>(portablePath+"/"+DB_FILE_NAME, false); } } else if (!globalPath.isNull()) { - paths << globalPath+"/"+DB_FILE_NAME; + paths << QPair<QString,bool>(globalPath+"/"+DB_FILE_NAME, true); } else if (!portablePath.isNull()) { - paths << portablePath+"/"+DB_FILE_NAME; - } - - // Create global config directory if not existing - QDir dir; - if (!globalPath.isNull()) - { - dir = QDir(globalPath); - if (!dir.exists()) - QDir::root().mkpath(globalPath); + paths << QPair<QString,bool>(portablePath+"/"+DB_FILE_NAME, false); } // A fallback to in-memory db - paths << ":memory:"; + paths << QPair<QString,bool>(":memory:", false); // Go through all candidates and pick one - QString path; - foreach (path, paths) + QDir dir; + for (const QPair<QString,bool>& path : paths) { - dir = QDir(path); - if (path != ":memory:") + dir = QDir(path.first); + if (path.first != ":memory:") dir.cdUp(); if (tryInitDbFile(path)) @@ -614,17 +605,29 @@ void ConfigImpl::initDbFile() if (configDir == ":memory:") { paths.removeLast(); + QStringList pathStrings; + for (const QPair<QString,bool>& path : paths) + pathStrings << path.first; + notifyError(QObject::tr("Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart." - " Tried to initialize the file at following localizations: %1.").arg(paths.join(", "))); + " Tried to initialize the file at following localizations: %1.").arg(pathStrings.join(", "))); } qDebug() << "Using configuration directory:" << configDir; db->exec("PRAGMA foreign_keys = 1;"); } -bool ConfigImpl::tryInitDbFile(const QString &dbPath) +bool ConfigImpl::tryInitDbFile(const QPair<QString, bool> &dbPath) { - db = new DbSqlite3("SQLiteStudio settings", dbPath, {{DB_PURE_INIT, true}}); + // Create global config directory if not existing + if (dbPath.second && !dbPath.first.isNull()) + { + QDir dir(dbPath.first.mid(0, dbPath.first.length() - DB_FILE_NAME.length() - 1)); + if (!dir.exists()) + QDir::root().mkpath(dir.absolutePath()); + } + + db = new DbSqlite3("SQLiteStudio settings", dbPath.first, {{DB_PURE_INIT, true}}); if (!db->open()) { safe_delete(db); diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h index 3bdb7a5..bd31f0b 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h @@ -93,7 +93,7 @@ class API_EXPORT ConfigImpl : public Config QString getPortableConfigPath(); void initTables(); void initDbFile(); - bool tryInitDbFile(const QString& dbPath); + bool tryInitDbFile(const QPair<QString, bool>& dbPath); QVariant deserializeValue(const QVariant& value); void asyncAddSqlHistory(qint64 id, const QString& sql, const QString& dbName, int timeSpentMillis, int rowsAffected); diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/dbmanagerimpl.cpp b/SQLiteStudio3/coreSQLiteStudio/services/impl/dbmanagerimpl.cpp index a7bff0d..cbdc921 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/dbmanagerimpl.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/dbmanagerimpl.cpp @@ -578,46 +578,4 @@ void DbManagerImpl::loaded(Plugin* plugin, PluginType* type) DbPlugin* dbPlugin = dynamic_cast<DbPlugin*>(plugin); rescanInvalidDatabasesForPlugin(dbPlugin); -// Db* db = nullptr; - -// QUrl url; -// for (Db* invalidDb : getInvalidDatabases()) -// { -// if (invalidDb->getConnectionOptions().contains(DB_PLUGIN) && invalidDb->getConnectionOptions()[DB_PLUGIN].toString() != dbPlugin->getName()) -// continue; - -// url = QUrl::fromUserInput(invalidDb->getPath()); -// if (url.isLocalFile() && !QFile::exists(invalidDb->getPath())) -// continue; - -// db = createDb(invalidDb->getName(), invalidDb->getPath(), invalidDb->getConnectionOptions()); -// if (!db) -// continue; // For this db driver was not loaded yet. - -// if (!dbPlugin->checkIfDbServedByPlugin(db)) -// { -// qDebug() << "Managed to load database" << db->getPath() << " (" << db->getName() << ")" -// << "but it doesn't use DbPlugin that was just loaded, so it will not be loaded to the db manager"; - -// delete db; -// continue; -// } - -// removeDbInternal(invalidDb, false); -// delete invalidDb; - -// addDbInternal(db, false); - -// if (!db->getConnectionOptions().contains(DB_PLUGIN)) -// { -// db->getConnectionOptions()[DB_PLUGIN] = dbPlugin->getName(); -// if (!CFG->updateDb(db->getName(), db->getName(), db->getPath(), db->getConnectionOptions())) -// qWarning() << "Could not store handling plugin in options for database" << db->getName(); -// } - -// if (CFG->getDbGroup(db->getName())->open) -// db->open(); - -// emit dbLoaded(db); -// } } diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp b/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp index c3bc581..017d260 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp @@ -20,7 +20,9 @@ PluginManagerImpl::~PluginManagerImpl() void PluginManagerImpl::init() { - pluginDirs += qApp->applicationDirPath() + "/plugins"; + if (getDistributionType() != DistributionType::OS_MANAGED) + pluginDirs += qApp->applicationDirPath() + "/plugins"; + pluginDirs += QDir(CFG->getConfigDir()).absoluteFilePath("plugins"); QString envDirs = SQLITESTUDIO->getEnv("SQLITESTUDIO_PLUGINS"); diff --git a/SQLiteStudio3/coreSQLiteStudio/services/updatemanager.cpp b/SQLiteStudio3/coreSQLiteStudio/services/updatemanager.cpp index 66620f3..3663a1b 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/updatemanager.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/services/updatemanager.cpp @@ -1,3 +1,5 @@ +#ifdef PORTABLE_CONFIG + #include "updatemanager.h" #include "services/pluginmanager.h" #include "services/notifymanager.h" @@ -44,9 +46,9 @@ UpdateManager::~UpdateManager() cleanup(); } -void UpdateManager::checkForUpdates() +void UpdateManager::checkForUpdates(bool force) { - getUpdatesMetadata(updatesCheckReply); + getUpdatesMetadata(updatesCheckReply, force); } void UpdateManager::update() @@ -150,10 +152,10 @@ void UpdateManager::handleAvailableUpdatesReply(QNetworkReply* reply) emit noUpdatesAvailable(); } -void UpdateManager::getUpdatesMetadata(QNetworkReply*& replyStoragePointer) +void UpdateManager::getUpdatesMetadata(QNetworkReply*& replyStoragePointer, bool force) { -#ifndef NO_AUTO_UPDATES - if (!CFG_CORE.General.CheckUpdatesOnStartup.get() || !isPlatformEligibleForUpdate() || replyStoragePointer) +#ifdef PORTABLE_CONFIG + if ((!CFG_CORE.General.CheckUpdatesOnStartup.get() && !force) || !isPlatformEligibleForUpdate() || replyStoragePointer) return; QUrlQuery query; @@ -1056,3 +1058,5 @@ void UpdateManager::readDownload() { currentDownloadFile->write(updatesGetReply->readAll()); } + +#endif // PORTABLE_CONFIG diff --git a/SQLiteStudio3/coreSQLiteStudio/services/updatemanager.h b/SQLiteStudio3/coreSQLiteStudio/services/updatemanager.h index b8e6006..bb33487 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/updatemanager.h +++ b/SQLiteStudio3/coreSQLiteStudio/services/updatemanager.h @@ -1,6 +1,8 @@ #ifndef UPDATEMANAGER_H #define UPDATEMANAGER_H +#ifdef PORTABLE_CONFIG + #include "common/global.h" #include "sqlitestudio.h" #include <QObject> @@ -28,7 +30,7 @@ class API_EXPORT UpdateManager : public QObject explicit UpdateManager(QObject *parent = 0); ~UpdateManager(); - void checkForUpdates(); + void checkForUpdates(bool force = false); void update(); bool isPlatformEligibleForUpdate() const; static bool executeFinalStep(const QString& tempDir, const QString& backupDir, const QString& appDir); @@ -54,7 +56,7 @@ class API_EXPORT UpdateManager : public QObject QString getCurrentVersions() const; void handleAvailableUpdatesReply(QNetworkReply* reply); void handleDownloadReply(QNetworkReply* reply); - void getUpdatesMetadata(QNetworkReply*& replyStoragePointer); + void getUpdatesMetadata(QNetworkReply*& replyStoragePointer, bool force = false); void handleUpdatesMetadata(QNetworkReply* reply); QList<UpdateEntry> readMetadata(const QJsonDocument& doc); void downloadUpdates(); @@ -134,4 +136,5 @@ class API_EXPORT UpdateManager : public QObject #define UPDATES SQLITESTUDIO->getUpdateManager() +#endif // PORTABLE_CONFIG #endif // UPDATEMANAGER_H diff --git a/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.cpp b/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.cpp index 963ba7d..8d62b44 100644 --- a/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.cpp @@ -39,7 +39,7 @@ DEFINE_SINGLETON(SQLiteStudio) -static const int sqlitestudioVersion = 30005; +static const int sqlitestudioVersion = 30006; SQLiteStudio::SQLiteStudio() { @@ -87,6 +87,7 @@ void SQLiteStudio::setImmediateQuit(bool value) immediateQuit = value; } +#ifdef PORTABLE_CONFIG UpdateManager* SQLiteStudio::getUpdateManager() const { return updateManager; @@ -96,6 +97,7 @@ void SQLiteStudio::setUpdateManager(UpdateManager* value) { updateManager = value; } +#endif BugReporter* SQLiteStudio::getBugReporter() const { @@ -319,7 +321,9 @@ void SQLiteStudio::init(const QStringList& cmdListArguments, bool guiAvailable) importManager = new ImportManager(); populateManager = new PopulateManager(); bugReporter = new BugReporter(); +#ifdef PORTABLE_CONFIG updateManager = new UpdateManager(); +#endif extraLicenseManager = new ExtraLicenseManager(); extraLicenseManager->addLicense("SQLiteStudio license (GPL v3)", ":/docs/licenses/sqlitestudio_license.txt"); @@ -349,7 +353,9 @@ void SQLiteStudio::cleanUp() pluginManager->deinit(); safe_delete(pluginManager); // PluginManager before DbManager, so Db objects are deleted while DbManager still exists +#ifdef PORTABLE_CONFIG safe_delete(updateManager); +#endif safe_delete(bugReporter); safe_delete(populateManager); safe_delete(importManager); diff --git a/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.h b/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.h index f338e92..0b58b17 100644 --- a/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.h +++ b/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.h @@ -25,7 +25,9 @@ class ImportManager; class PopulateManager; class PluginLoadingHandler; class BugReporter; +#ifdef PORTABLE_CONFIG class UpdateManager; +#endif class ExtraLicenseManager; /** @file */ @@ -138,8 +140,10 @@ class API_EXPORT SQLiteStudio : public QObject QString getUserManualPage() const; QString getSqliteDocsPage() const; +#ifdef PORTABLE_CONFIG UpdateManager* getUpdateManager() const; void setUpdateManager(UpdateManager* value); +#endif bool getImmediateQuit() const; void setImmediateQuit(bool value); @@ -200,7 +204,9 @@ class API_EXPORT SQLiteStudio : public QObject ImportManager* importManager = nullptr; PopulateManager* populateManager = nullptr; BugReporter* bugReporter = nullptr; +#ifdef PORTABLE_CONFIG UpdateManager* updateManager = nullptr; +#endif ExtraLicenseManager* extraLicenseManager = nullptr; QString currentLang; QStringList initialTranslationFiles; diff --git a/SQLiteStudio3/coreSQLiteStudio/tablemodifier.cpp b/SQLiteStudio3/coreSQLiteStudio/tablemodifier.cpp index 973402a..97e1fb3 100644 --- a/SQLiteStudio3/coreSQLiteStudio/tablemodifier.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/tablemodifier.cpp @@ -485,6 +485,15 @@ void TableModifier::handleView(SqliteCreateViewPtr view) return; } + view->select->rebuildTokens(); + QString originalSelect = view->select->tokens.detokenize(); + + newSelect->rebuildTokens(); + QString newSelectStr = newSelect->tokens.detokenize(); + + if (originalSelect == newSelectStr) + return; + delete view->select; view->select = newSelect; view->select->setParent(view.data()); diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.ts index 46425fc..7d61000 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.ts +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.ts @@ -147,30 +147,30 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="134"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="138"/> <source>Database %1 could not be updated, because of an error: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="308"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="337"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="312"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="341"/> <source>Database file doesn't exist.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="310"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="339"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="314"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="343"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="565"/> <source>No supporting plugin loaded.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="413"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="484"/> <source>Database could not be initialized.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="423"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> <source>No suitable database driver plugin found.</source> <translation type="unfinished"></translation> </message> @@ -427,36 +427,36 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="93"/> + <location filename="../importworker.cpp" line="94"/> <source>Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="98"/> + <location filename="../importworker.cpp" line="99"/> <source>Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="116"/> + <location filename="../importworker.cpp" line="117"/> <source>Could not create table to import to: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="162"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="163"/> + <location filename="../importworker.cpp" line="170"/> <source>Error while importing data: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="170"/> <source>Interrupted.</source> <comment>import process status update</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="157"/> + <location filename="../importworker.cpp" line="158"/> <source>Could not import data row number %1. The row was ignored. Problem details: %2</source> <translation type="unfinished"></translation> </message> @@ -464,33 +464,33 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PluginManagerImpl</name> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="541"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="543"/> <source>Cannot load plugin %1, because it's in conflict with plugin %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="552"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="554"/> <source>Cannot load plugin %1, because its dependency was not loaded: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="561"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="563"/> <source>Cannot load plugin %1. Error details: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="577"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="579"/> <source>Cannot load plugin %1 (error while initializing plugin).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="730"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="732"/> <source>min: %1</source> <comment>plugin dependency version</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="731"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="733"/> <source>max: %1</source> <comment>plugin dependency version</comment> <translation type="unfinished"></translation> @@ -568,7 +568,7 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PopulateManager</name> <message> - <location filename="../services/populatemanager.cpp" line="88"/> + <location filename="../services/populatemanager.cpp" line="89"/> <source>Table '%1' populated successfully.</source> <translation type="unfinished"></translation> </message> @@ -750,12 +750,12 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../populateworker.cpp" line="56"/> + <location filename="../populateworker.cpp" line="63"/> <source>Error while populating table: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../populateworker.cpp" line="65"/> + <location filename="../populateworker.cpp" line="74"/> <source>Could not commit transaction after table populating. Error details: %1</source> <translation type="unfinished"></translation> </message> @@ -769,8 +769,8 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../db/abstractdb2.h" line="796"/> - <location filename="../db/abstractdb3.h" line="1092"/> + <location filename="../db/abstractdb2.h" line="803"/> + <location filename="../db/abstractdb3.h" line="1100"/> <source>Result set expired or no row available.</source> <translation type="unfinished"></translation> </message> @@ -910,43 +910,43 @@ Error details: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="288"/> + <location filename="../sqlitestudio.cpp" line="291"/> <source>General purpose</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="289"/> + <location filename="../sqlitestudio.cpp" line="292"/> <source>Database support</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="290"/> + <location filename="../sqlitestudio.cpp" line="293"/> <source>Code formatter</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="291"/> + <location filename="../sqlitestudio.cpp" line="294"/> <source>Scripting languages</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="292"/> + <location filename="../sqlitestudio.cpp" line="295"/> <source>Exporting</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="293"/> + <location filename="../sqlitestudio.cpp" line="296"/> <source>Importing</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="294"/> + <location filename="../sqlitestudio.cpp" line="297"/> <source>Table populating</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> @@ -1008,7 +1008,7 @@ The view will remain as it is.</source> <context> <name>QueryExecutor</name> <message> - <location filename="../db/queryexecutor.cpp" line="132"/> + <location filename="../db/queryexecutor.cpp" line="133"/> <source>Execution interrupted.</source> <translation type="unfinished"></translation> </message> @@ -1083,199 +1083,199 @@ The view will remain as it is.</source> <context> <name>UpdateManager</name> <message> - <location filename="../services/updatemanager.cpp" line="129"/> + <location filename="../services/updatemanager.cpp" line="131"/> <source>An error occurred while checking for updates: %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="142"/> + <location filename="../services/updatemanager.cpp" line="144"/> <source>Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="173"/> + <location filename="../services/updatemanager.cpp" line="175"/> <source>An error occurred while reading updates metadata: %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="186"/> + <location filename="../services/updatemanager.cpp" line="188"/> <source>Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="193"/> + <location filename="../services/updatemanager.cpp" line="195"/> <source>Could not create temporary directory for downloading the update. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="204"/> + <location filename="../services/updatemanager.cpp" line="206"/> <source>There was no updates to download. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="239"/> + <location filename="../services/updatemanager.cpp" line="241"/> <source>Downloading: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="245"/> + <location filename="../services/updatemanager.cpp" line="247"/> <source>Could not determinate file name from update URL: %1. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="253"/> + <location filename="../services/updatemanager.cpp" line="255"/> <source>Failed to open file '%1' for writting: %2. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="274"/> + <location filename="../services/updatemanager.cpp" line="276"/> <source>Installing updates.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="285"/> + <location filename="../services/updatemanager.cpp" line="287"/> <source>Could not copy current application directory into %1 directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="338"/> + <location filename="../services/updatemanager.cpp" line="340"/> <source>Could not create directory %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="346"/> + <location filename="../services/updatemanager.cpp" line="348"/> <source>Could not rename directory %1 to %2. Details: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="350"/> + <location filename="../services/updatemanager.cpp" line="352"/> <source>Cannot not rename directory %1 to %2. Details: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="358"/> + <location filename="../services/updatemanager.cpp" line="360"/> <source>Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="363"/> + <location filename="../services/updatemanager.cpp" line="365"/> <source>Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="442"/> + <location filename="../services/updatemanager.cpp" line="444"/> <source>Could not unpack component %1 into %2 directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="553"/> + <location filename="../services/updatemanager.cpp" line="555"/> <source>Could not find permissions elevator application to run update as a root. Looked for: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="560"/> + <location filename="../services/updatemanager.cpp" line="562"/> <source>Could not execute final updating steps as root: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> - <location filename="../services/updatemanager.cpp" line="598"/> - <location filename="../services/updatemanager.cpp" line="611"/> - <location filename="../services/updatemanager.cpp" line="621"/> + <location filename="../services/updatemanager.cpp" line="591"/> + <location filename="../services/updatemanager.cpp" line="600"/> + <location filename="../services/updatemanager.cpp" line="613"/> + <location filename="../services/updatemanager.cpp" line="623"/> <source>Could not execute final updating steps as admin: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> + <location filename="../services/updatemanager.cpp" line="591"/> <source>Cannot create temporary directory for updater.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="598"/> + <location filename="../services/updatemanager.cpp" line="600"/> <source>Cannot create updater script file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="631"/> + <location filename="../services/updatemanager.cpp" line="633"/> <source>Updating canceled.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="659"/> + <location filename="../services/updatemanager.cpp" line="661"/> <source>Could not execute final updating steps as administrator.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="671"/> + <location filename="../services/updatemanager.cpp" line="673"/> <source>Could not execute final updating steps as administrator. Updater startup timed out.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="677"/> + <location filename="../services/updatemanager.cpp" line="679"/> <source>Could not execute final updating steps as administrator. Updater operation timed out.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="694"/> + <location filename="../services/updatemanager.cpp" line="696"/> <source>Could not clean up temporary directory %1. You can delete it manually at any time.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="730"/> + <location filename="../services/updatemanager.cpp" line="732"/> <source>Could not run new version for continuing update.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="815"/> + <location filename="../services/updatemanager.cpp" line="817"/> <source>Package not in tar.gz format, cannot install: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="822"/> + <location filename="../services/updatemanager.cpp" line="824"/> <source>Package %1 cannot be installed, because cannot move it to directory: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="831"/> + <location filename="../services/updatemanager.cpp" line="833"/> <source>Package %1 cannot be installed, because cannot unpack it: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="850"/> + <location filename="../services/updatemanager.cpp" line="852"/> <source>Package not in zip format, cannot install: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="857"/> + <location filename="../services/updatemanager.cpp" line="859"/> <source>Package %1 cannot be installed, because cannot unzip it to directory %2: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="871"/> + <location filename="../services/updatemanager.cpp" line="873"/> <source>Package %1 cannot be installed, because cannot unzip it to directory: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="921"/> - <location filename="../services/updatemanager.cpp" line="930"/> + <location filename="../services/updatemanager.cpp" line="923"/> + <location filename="../services/updatemanager.cpp" line="932"/> <source>Could not rename directory %1 to %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="943"/> + <location filename="../services/updatemanager.cpp" line="945"/> <source>Could not delete directory %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="959"/> + <location filename="../services/updatemanager.cpp" line="961"/> <source>Error executing update command: %1 Error message: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="1026"/> + <location filename="../services/updatemanager.cpp" line="1028"/> <source>An error occurred while downloading updates: %1. Updating aborted.</source> <translation type="unfinished"></translation> </message> diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.ts index 9545030..054d1dc 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.ts +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.ts @@ -147,30 +147,30 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="134"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="138"/> <source>Database %1 could not be updated, because of an error: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="308"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="337"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="312"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="341"/> <source>Database file doesn't exist.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="310"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="339"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="314"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="343"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="565"/> <source>No supporting plugin loaded.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="413"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="484"/> <source>Database could not be initialized.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="423"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> <source>No suitable database driver plugin found.</source> <translation type="unfinished"></translation> </message> @@ -427,36 +427,36 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="93"/> + <location filename="../importworker.cpp" line="94"/> <source>Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="98"/> + <location filename="../importworker.cpp" line="99"/> <source>Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="116"/> + <location filename="../importworker.cpp" line="117"/> <source>Could not create table to import to: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="162"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="163"/> + <location filename="../importworker.cpp" line="170"/> <source>Error while importing data: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="170"/> <source>Interrupted.</source> <comment>import process status update</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="157"/> + <location filename="../importworker.cpp" line="158"/> <source>Could not import data row number %1. The row was ignored. Problem details: %2</source> <translation type="unfinished"></translation> </message> @@ -464,33 +464,33 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PluginManagerImpl</name> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="541"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="543"/> <source>Cannot load plugin %1, because it's in conflict with plugin %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="552"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="554"/> <source>Cannot load plugin %1, because its dependency was not loaded: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="561"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="563"/> <source>Cannot load plugin %1. Error details: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="577"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="579"/> <source>Cannot load plugin %1 (error while initializing plugin).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="730"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="732"/> <source>min: %1</source> <comment>plugin dependency version</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="731"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="733"/> <source>max: %1</source> <comment>plugin dependency version</comment> <translation type="unfinished"></translation> @@ -568,7 +568,7 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PopulateManager</name> <message> - <location filename="../services/populatemanager.cpp" line="88"/> + <location filename="../services/populatemanager.cpp" line="89"/> <source>Table '%1' populated successfully.</source> <translation type="unfinished"></translation> </message> @@ -750,12 +750,12 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../populateworker.cpp" line="56"/> + <location filename="../populateworker.cpp" line="63"/> <source>Error while populating table: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../populateworker.cpp" line="65"/> + <location filename="../populateworker.cpp" line="74"/> <source>Could not commit transaction after table populating. Error details: %1</source> <translation type="unfinished"></translation> </message> @@ -769,8 +769,8 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../db/abstractdb2.h" line="796"/> - <location filename="../db/abstractdb3.h" line="1092"/> + <location filename="../db/abstractdb2.h" line="803"/> + <location filename="../db/abstractdb3.h" line="1100"/> <source>Result set expired or no row available.</source> <translation type="unfinished"></translation> </message> @@ -910,43 +910,43 @@ Error details: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="288"/> + <location filename="../sqlitestudio.cpp" line="291"/> <source>General purpose</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="289"/> + <location filename="../sqlitestudio.cpp" line="292"/> <source>Database support</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="290"/> + <location filename="../sqlitestudio.cpp" line="293"/> <source>Code formatter</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="291"/> + <location filename="../sqlitestudio.cpp" line="294"/> <source>Scripting languages</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="292"/> + <location filename="../sqlitestudio.cpp" line="295"/> <source>Exporting</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="293"/> + <location filename="../sqlitestudio.cpp" line="296"/> <source>Importing</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="294"/> + <location filename="../sqlitestudio.cpp" line="297"/> <source>Table populating</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> @@ -1008,7 +1008,7 @@ The view will remain as it is.</source> <context> <name>QueryExecutor</name> <message> - <location filename="../db/queryexecutor.cpp" line="132"/> + <location filename="../db/queryexecutor.cpp" line="133"/> <source>Execution interrupted.</source> <translation type="unfinished"></translation> </message> @@ -1083,199 +1083,199 @@ The view will remain as it is.</source> <context> <name>UpdateManager</name> <message> - <location filename="../services/updatemanager.cpp" line="129"/> + <location filename="../services/updatemanager.cpp" line="131"/> <source>An error occurred while checking for updates: %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="142"/> + <location filename="../services/updatemanager.cpp" line="144"/> <source>Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="173"/> + <location filename="../services/updatemanager.cpp" line="175"/> <source>An error occurred while reading updates metadata: %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="186"/> + <location filename="../services/updatemanager.cpp" line="188"/> <source>Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="193"/> + <location filename="../services/updatemanager.cpp" line="195"/> <source>Could not create temporary directory for downloading the update. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="204"/> + <location filename="../services/updatemanager.cpp" line="206"/> <source>There was no updates to download. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="239"/> + <location filename="../services/updatemanager.cpp" line="241"/> <source>Downloading: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="245"/> + <location filename="../services/updatemanager.cpp" line="247"/> <source>Could not determinate file name from update URL: %1. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="253"/> + <location filename="../services/updatemanager.cpp" line="255"/> <source>Failed to open file '%1' for writting: %2. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="274"/> + <location filename="../services/updatemanager.cpp" line="276"/> <source>Installing updates.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="285"/> + <location filename="../services/updatemanager.cpp" line="287"/> <source>Could not copy current application directory into %1 directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="338"/> + <location filename="../services/updatemanager.cpp" line="340"/> <source>Could not create directory %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="346"/> + <location filename="../services/updatemanager.cpp" line="348"/> <source>Could not rename directory %1 to %2. Details: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="350"/> + <location filename="../services/updatemanager.cpp" line="352"/> <source>Cannot not rename directory %1 to %2. Details: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="358"/> + <location filename="../services/updatemanager.cpp" line="360"/> <source>Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="363"/> + <location filename="../services/updatemanager.cpp" line="365"/> <source>Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="442"/> + <location filename="../services/updatemanager.cpp" line="444"/> <source>Could not unpack component %1 into %2 directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="553"/> + <location filename="../services/updatemanager.cpp" line="555"/> <source>Could not find permissions elevator application to run update as a root. Looked for: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="560"/> + <location filename="../services/updatemanager.cpp" line="562"/> <source>Could not execute final updating steps as root: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> - <location filename="../services/updatemanager.cpp" line="598"/> - <location filename="../services/updatemanager.cpp" line="611"/> - <location filename="../services/updatemanager.cpp" line="621"/> + <location filename="../services/updatemanager.cpp" line="591"/> + <location filename="../services/updatemanager.cpp" line="600"/> + <location filename="../services/updatemanager.cpp" line="613"/> + <location filename="../services/updatemanager.cpp" line="623"/> <source>Could not execute final updating steps as admin: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> + <location filename="../services/updatemanager.cpp" line="591"/> <source>Cannot create temporary directory for updater.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="598"/> + <location filename="../services/updatemanager.cpp" line="600"/> <source>Cannot create updater script file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="631"/> + <location filename="../services/updatemanager.cpp" line="633"/> <source>Updating canceled.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="659"/> + <location filename="../services/updatemanager.cpp" line="661"/> <source>Could not execute final updating steps as administrator.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="671"/> + <location filename="../services/updatemanager.cpp" line="673"/> <source>Could not execute final updating steps as administrator. Updater startup timed out.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="677"/> + <location filename="../services/updatemanager.cpp" line="679"/> <source>Could not execute final updating steps as administrator. Updater operation timed out.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="694"/> + <location filename="../services/updatemanager.cpp" line="696"/> <source>Could not clean up temporary directory %1. You can delete it manually at any time.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="730"/> + <location filename="../services/updatemanager.cpp" line="732"/> <source>Could not run new version for continuing update.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="815"/> + <location filename="../services/updatemanager.cpp" line="817"/> <source>Package not in tar.gz format, cannot install: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="822"/> + <location filename="../services/updatemanager.cpp" line="824"/> <source>Package %1 cannot be installed, because cannot move it to directory: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="831"/> + <location filename="../services/updatemanager.cpp" line="833"/> <source>Package %1 cannot be installed, because cannot unpack it: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="850"/> + <location filename="../services/updatemanager.cpp" line="852"/> <source>Package not in zip format, cannot install: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="857"/> + <location filename="../services/updatemanager.cpp" line="859"/> <source>Package %1 cannot be installed, because cannot unzip it to directory %2: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="871"/> + <location filename="../services/updatemanager.cpp" line="873"/> <source>Package %1 cannot be installed, because cannot unzip it to directory: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="921"/> - <location filename="../services/updatemanager.cpp" line="930"/> + <location filename="../services/updatemanager.cpp" line="923"/> + <location filename="../services/updatemanager.cpp" line="932"/> <source>Could not rename directory %1 to %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="943"/> + <location filename="../services/updatemanager.cpp" line="945"/> <source>Could not delete directory %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="959"/> + <location filename="../services/updatemanager.cpp" line="961"/> <source>Error executing update command: %1 Error message: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="1026"/> + <location filename="../services/updatemanager.cpp" line="1028"/> <source>An error occurred while downloading updates: %1. Updating aborted.</source> <translation type="unfinished"></translation> </message> diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.ts index 6e53771..2931eff 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.ts +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.ts @@ -147,30 +147,30 @@ <translation>Impossible d'ajouter une base de données %1: %2</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="134"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="138"/> <source>Database %1 could not be updated, because of an error: %2</source> <translation>La base de données %1 ne peut ëtre mise à jour à cause de l'erreur: %2</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="308"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="337"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="312"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="341"/> <source>Database file doesn't exist.</source> <translation>Le fichier de la base de données n'existe pas.</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="310"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="339"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="314"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="343"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="565"/> <source>No supporting plugin loaded.</source> <translation>Aucun plugin supporté chargé.</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="413"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="484"/> <source>Database could not be initialized.</source> <translation>La base de données ne peut être initialisée.</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="423"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> <source>No suitable database driver plugin found.</source> <translation>Aucun pilote de base de données approprié trouvé.</translation> </message> @@ -428,36 +428,36 @@ Tables, index, déclencheurs et vues copiés de la base de données %3 seront ma <translation>Impossible d'enregistrer la transaction d'import de données: %1</translation> </message> <message> - <location filename="../importworker.cpp" line="93"/> + <location filename="../importworker.cpp" line="94"/> <source>Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source> <translation>La table %1 a moins de colonnes que de données à importer. Les colonnes supplèmentaires seront ignorées.</translation> </message> <message> - <location filename="../importworker.cpp" line="98"/> + <location filename="../importworker.cpp" line="99"/> <source>Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source> <translation>La table %1 a plus de colonnes que de colonnes de données à importer. Certaines colonnes de la table seront vides.</translation> </message> <message> - <location filename="../importworker.cpp" line="116"/> + <location filename="../importworker.cpp" line="117"/> <source>Could not create table to import to: %1</source> <translation>Impossible de créer la table d'import: %1</translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="162"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="163"/> + <location filename="../importworker.cpp" line="170"/> <source>Error while importing data: %1</source> <translation>Erreur lors de l'import des données: %1</translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="170"/> <source>Interrupted.</source> <comment>import process status update</comment> <translation>Transaction interrompue.</translation> </message> <message> - <location filename="../importworker.cpp" line="157"/> + <location filename="../importworker.cpp" line="158"/> <source>Could not import data row number %1. The row was ignored. Problem details: %2</source> <translation type="unfinished"></translation> </message> @@ -465,33 +465,33 @@ Tables, index, déclencheurs et vues copiés de la base de données %3 seront ma <context> <name>PluginManagerImpl</name> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="541"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="543"/> <source>Cannot load plugin %1, because it's in conflict with plugin %2.</source> <translation>Chargement impossible du plugin %1 celui-ci est en conflit avec le plugin %2.</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="552"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="554"/> <source>Cannot load plugin %1, because its dependency was not loaded: %2.</source> <translation>Chargement impossible du plugin %1, les dépendances n'ont pa été chargées: %2.</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="561"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="563"/> <source>Cannot load plugin %1. Error details: %2</source> <translation>Chargement impossible du plugin %1, Détails de l'erreur: %2</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="577"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="579"/> <source>Cannot load plugin %1 (error while initializing plugin).</source> <translation>Chargement impossible du plugin %1 (erreur à initialisation du plugin).</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="730"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="732"/> <source>min: %1</source> <comment>plugin dependency version</comment> <translation>min %1</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="731"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="733"/> <source>max: %1</source> <comment>plugin dependency version</comment> <translation>max %1</translation> @@ -569,7 +569,7 @@ Tables, index, déclencheurs et vues copiés de la base de données %3 seront ma <context> <name>PopulateManager</name> <message> - <location filename="../services/populatemanager.cpp" line="88"/> + <location filename="../services/populatemanager.cpp" line="89"/> <source>Table '%1' populated successfully.</source> <translation>Table '%1' remplie avec succès.</translation> </message> @@ -751,12 +751,12 @@ Tables, index, déclencheurs et vues copiés de la base de données %3 seront ma <translation>Impossible d'initialiser la transaction pour remplir la table.Détails de l'erreur %1</translation> </message> <message> - <location filename="../populateworker.cpp" line="56"/> + <location filename="../populateworker.cpp" line="63"/> <source>Error while populating table: %1</source> <translation>Erreur lors du remplissage de la table: %1</translation> </message> <message> - <location filename="../populateworker.cpp" line="65"/> + <location filename="../populateworker.cpp" line="74"/> <source>Could not commit transaction after table populating. Error details: %1</source> <translation>Impossible d'enregistrer la transaction après le remplissage de la table. Erreur %1</translation> </message> @@ -770,8 +770,8 @@ Tables, index, déclencheurs et vues copiés de la base de données %3 seront ma <translation>Impossible d'ouvrir la base de données: %1</translation> </message> <message> - <location filename="../db/abstractdb2.h" line="796"/> - <location filename="../db/abstractdb3.h" line="1092"/> + <location filename="../db/abstractdb2.h" line="803"/> + <location filename="../db/abstractdb3.h" line="1100"/> <source>Result set expired or no row available.</source> <translation>Terminé ou aucune ligne valide.</translation> </message> @@ -912,43 +912,43 @@ Détails erreur: %2</translation> <translation>Impossible d'initialiser le fichier de configuration. Aucune modification et les requêtes seront perdues après redémarrage. Essayez d'initialiser le fichier avec cette localisation: %1.</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="288"/> + <location filename="../sqlitestudio.cpp" line="291"/> <source>General purpose</source> <comment>plugin category name</comment> <translation>Objectif général</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="289"/> + <location filename="../sqlitestudio.cpp" line="292"/> <source>Database support</source> <comment>plugin category name</comment> <translation>Support base de données</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="290"/> + <location filename="../sqlitestudio.cpp" line="293"/> <source>Code formatter</source> <comment>plugin category name</comment> <translation>Format code</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="291"/> + <location filename="../sqlitestudio.cpp" line="294"/> <source>Scripting languages</source> <comment>plugin category name</comment> <translation>Langages script</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="292"/> + <location filename="../sqlitestudio.cpp" line="295"/> <source>Exporting</source> <comment>plugin category name</comment> <translation>Export</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="293"/> + <location filename="../sqlitestudio.cpp" line="296"/> <source>Importing</source> <comment>plugin category name</comment> <translation>Import</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="294"/> + <location filename="../sqlitestudio.cpp" line="297"/> <source>Table populating</source> <comment>plugin category name</comment> <translation>Peuplement de la table</translation> @@ -1015,7 +1015,7 @@ La vue restera telque.</translation> <context> <name>QueryExecutor</name> <message> - <location filename="../db/queryexecutor.cpp" line="132"/> + <location filename="../db/queryexecutor.cpp" line="133"/> <source>Execution interrupted.</source> <translation>Exécution interrompue.</translation> </message> @@ -1090,201 +1090,201 @@ La vue restera telque.</translation> <context> <name>UpdateManager</name> <message> - <location filename="../services/updatemanager.cpp" line="129"/> + <location filename="../services/updatemanager.cpp" line="131"/> <source>An error occurred while checking for updates: %1.</source> <translation>Une erreur est apparue lors du contrôle pour la mise à jour:%1. </translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="142"/> + <location filename="../services/updatemanager.cpp" line="144"/> <source>Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning.</source> <translation>Impossible de vérifier la mise à jour, car le serveur a répondu avec un message invalide. Il est possible d'ignorer le warning.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="173"/> + <location filename="../services/updatemanager.cpp" line="175"/> <source>An error occurred while reading updates metadata: %1.</source> <translation>Erreur lors de la lecture de mise des méta données: %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="186"/> + <location filename="../services/updatemanager.cpp" line="188"/> <source>Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details.</source> <translation>Impossibles de télécharger les mises à jour, car le serveur répond avec un format de message invalide. Vous pover essayer plus tard ou télécharger et mettre à jour manuellement. Voir <a href="%1">User Manual</a> for details.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="193"/> + <location filename="../services/updatemanager.cpp" line="195"/> <source>Could not create temporary directory for downloading the update. Updating aborted.</source> <translation>Impossible de créer un répertoire temporaire pour télécharger la mise à jour. Mise à jour abandonnée.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="204"/> + <location filename="../services/updatemanager.cpp" line="206"/> <source>There was no updates to download. Updating aborted.</source> <translation>Il n'y a aucune mise à jour à télécharger. Mise à jour abandonnée.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="239"/> + <location filename="../services/updatemanager.cpp" line="241"/> <source>Downloading: %1</source> <translation>Téléchargement: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="245"/> + <location filename="../services/updatemanager.cpp" line="247"/> <source>Could not determinate file name from update URL: %1. Updating aborted.</source> <translation>Impossible de déterminer le fichier de mise à jour URL: %1.Mise à jour abandonnée.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="253"/> + <location filename="../services/updatemanager.cpp" line="255"/> <source>Failed to open file '%1' for writting: %2. Updating aborted.</source> <translation>Erreur à l'ouverture du fichier %1 pour l'écriture: %2. Mise à jour abandonnée.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="274"/> + <location filename="../services/updatemanager.cpp" line="276"/> <source>Installing updates.</source> <translation>Installation des mises jour.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="285"/> + <location filename="../services/updatemanager.cpp" line="287"/> <source>Could not copy current application directory into %1 directory.</source> <translation>Impossible de copier le répertoire de l'application courante dans %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="338"/> + <location filename="../services/updatemanager.cpp" line="340"/> <source>Could not create directory %1.</source> <translation>Impossible de créer le répertoire: %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="346"/> + <location filename="../services/updatemanager.cpp" line="348"/> <source>Could not rename directory %1 to %2. Details: %3</source> <translation>Impossible de renommer le répertoire %1 en %2. Détails: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="350"/> + <location filename="../services/updatemanager.cpp" line="352"/> <source>Cannot not rename directory %1 to %2. Details: %3</source> <translation>Impossible de renommer le répertoire %1 en %2.Détails: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="358"/> + <location filename="../services/updatemanager.cpp" line="360"/> <source>Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3</source> <translation>Impossible de déplacer le répertoire %1 vers %2 d'où l'impossibilité de restaurer le répertoire original. SQLiteStudio est maintenant localisé: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="363"/> + <location filename="../services/updatemanager.cpp" line="365"/> <source>Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version.</source> <translation>Impossible de renommer le répertoire %1 en %2, retour vers la version originale SQLiteStudio.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="442"/> + <location filename="../services/updatemanager.cpp" line="444"/> <source>Could not unpack component %1 into %2 directory.</source> <translation>Impossible d'extraire le composant %1 dans le répertoire %2.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="553"/> + <location filename="../services/updatemanager.cpp" line="555"/> <source>Could not find permissions elevator application to run update as a root. Looked for: %1</source> <translation>Impossible d'élever les autorisations pour lancer la mise à jour en tantque root. Bloqué: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="560"/> + <location filename="../services/updatemanager.cpp" line="562"/> <source>Could not execute final updating steps as root: %1</source> <translation>Impossible de finaliser la mis à jour en tant que root: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> - <location filename="../services/updatemanager.cpp" line="598"/> - <location filename="../services/updatemanager.cpp" line="611"/> - <location filename="../services/updatemanager.cpp" line="621"/> + <location filename="../services/updatemanager.cpp" line="591"/> + <location filename="../services/updatemanager.cpp" line="600"/> + <location filename="../services/updatemanager.cpp" line="613"/> + <location filename="../services/updatemanager.cpp" line="623"/> <source>Could not execute final updating steps as admin: %1</source> <translation>Impossible de finaliser la mis à jour en tant que admin: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> + <location filename="../services/updatemanager.cpp" line="591"/> <source>Cannot create temporary directory for updater.</source> <translation>Impossible de créer un répertoire temporaire pour la mise à jour.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="598"/> + <location filename="../services/updatemanager.cpp" line="600"/> <source>Cannot create updater script file.</source> <translation>impossible de créer le fichier du scripte de mise à jour.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="631"/> + <location filename="../services/updatemanager.cpp" line="633"/> <source>Updating canceled.</source> <translation>Mise à jour suspendue.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="659"/> + <location filename="../services/updatemanager.cpp" line="661"/> <source>Could not execute final updating steps as administrator.</source> <translation>Impossible de finaliser la mis à jour en tant qu'administrateur.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="671"/> + <location filename="../services/updatemanager.cpp" line="673"/> <source>Could not execute final updating steps as administrator. Updater startup timed out.</source> <translation>Impossible de finaliser la mis à jour en tant qu'administrateur. Délai d'attente de lancement dépassé.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="677"/> + <location filename="../services/updatemanager.cpp" line="679"/> <source>Could not execute final updating steps as administrator. Updater operation timed out.</source> <translation>Impossible de finaliser la mis à jour en tant qu'administrateur. Délai d'attente d'opération dépassé.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="694"/> + <location filename="../services/updatemanager.cpp" line="696"/> <source>Could not clean up temporary directory %1. You can delete it manually at any time.</source> <translation>Impossible de nettoyer le répertoire temporaire %1. Vous pouver le supprimer manuellement plutard.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="730"/> + <location filename="../services/updatemanager.cpp" line="732"/> <source>Could not run new version for continuing update.</source> <translation>Impossible de lancer la nouvelle version afin de continuer la mise à jour.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="815"/> + <location filename="../services/updatemanager.cpp" line="817"/> <source>Package not in tar.gz format, cannot install: %1</source> <translation>Installation impossible un paquet n'est pas au format tar.zg: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="822"/> + <location filename="../services/updatemanager.cpp" line="824"/> <source>Package %1 cannot be installed, because cannot move it to directory: %2</source> <translation>Le paquet %1 ne peut être installé, celui-ci ne pouvant déplacé dans le répertoire: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="831"/> + <location filename="../services/updatemanager.cpp" line="833"/> <source>Package %1 cannot be installed, because cannot unpack it: %2</source> <translation>Le paquet %1 ne peut être installé, celui-ci ne pouvant décompressé: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="850"/> + <location filename="../services/updatemanager.cpp" line="852"/> <source>Package not in zip format, cannot install: %1</source> <translation>Installation impossible, un paquet est manquant: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="857"/> + <location filename="../services/updatemanager.cpp" line="859"/> <source>Package %1 cannot be installed, because cannot unzip it to directory %2: %3</source> <translation>Le paquet %1 ne peut être installé, celui-ci ne pouvant décompressé dans le répertoire %2: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="871"/> + <location filename="../services/updatemanager.cpp" line="873"/> <source>Package %1 cannot be installed, because cannot unzip it to directory: %2</source> <translation>Le paquet %1 ne peut être installé, celui-ci ne pouvant décompressé dans le répertoire: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="921"/> - <location filename="../services/updatemanager.cpp" line="930"/> + <location filename="../services/updatemanager.cpp" line="923"/> + <location filename="../services/updatemanager.cpp" line="932"/> <source>Could not rename directory %1 to %2.</source> <translation>Impossible de renommer le répertoire %1 en %2.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="943"/> + <location filename="../services/updatemanager.cpp" line="945"/> <source>Could not delete directory %1.</source> <translation>Impossible de supprimer le répertoire %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="959"/> + <location filename="../services/updatemanager.cpp" line="961"/> <source>Error executing update command: %1 Error message: %2</source> <translation>Erreur d'exécution de la commande de mise à jour: %1 Message d'erreur: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="1026"/> + <location filename="../services/updatemanager.cpp" line="1028"/> <source>An error occurred while downloading updates: %1. Updating aborted.</source> <translation>Erreur lors du téléchargement de la mise à jour: %1. Mise à jour abandonnée.</translation> </message> diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.ts index 7c061e5..85cfca2 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.ts +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.ts @@ -147,30 +147,30 @@ <translation>Nie udało się dodać bazę danych %1: %2</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="134"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="138"/> <source>Database %1 could not be updated, because of an error: %2</source> <translation>Nie udało się zaktualizować baza danych %1 z powodu błędu: %2</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="308"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="337"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="312"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="341"/> <source>Database file doesn't exist.</source> <translation>Plik bazy danych nie istnieje.</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="310"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="339"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="314"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="343"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="565"/> <source>No supporting plugin loaded.</source> <translation>Nie załadowano obsługującej wtyczki.</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="413"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="484"/> <source>Database could not be initialized.</source> <translation>Nie udało się zainicjalizować bazy danych.</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="423"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> <source>No suitable database driver plugin found.</source> <translation>Nie znaleziono odpowiedniej wtyczki sterownika.</translation> </message> @@ -436,36 +436,36 @@ Tabele, indeksy, wyzwalacze i widoki skopiowane do bazy danych %3 pozostaną na <translation>Nie udało się zatwierdzić transakcji w celu zaimportowania danych: %1</translation> </message> <message> - <location filename="../importworker.cpp" line="93"/> + <location filename="../importworker.cpp" line="94"/> <source>Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source> <translation>Tabela '%1' ma mniej kolumn, niż jest kolumn w danych do importu. Nadmiarowe kolumny zostaną zignorowane.</translation> </message> <message> - <location filename="../importworker.cpp" line="98"/> + <location filename="../importworker.cpp" line="99"/> <source>Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source> <translation>Tabela '%1' ma więcej kolumn, niż jest kolumn w danych do importu. Część kolumn w tabeli będzie pozostawiona pusta.</translation> </message> <message> - <location filename="../importworker.cpp" line="116"/> + <location filename="../importworker.cpp" line="117"/> <source>Could not create table to import to: %1</source> <translation>Nie udało się stworzyć tabeli do zaimportowania: %1</translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="162"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="163"/> + <location filename="../importworker.cpp" line="170"/> <source>Error while importing data: %1</source> <translation>Błąd podczas importowania danych: %1</translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="170"/> <source>Interrupted.</source> <comment>import process status update</comment> <translation>Przerwano.</translation> </message> <message> - <location filename="../importworker.cpp" line="157"/> + <location filename="../importworker.cpp" line="158"/> <source>Could not import data row number %1. The row was ignored. Problem details: %2</source> <translation>Nie udało się zaimportować wiersza danych numer %1. Wiersz ten został zignorowany. Szczegóły problemu: %2</translation> </message> @@ -473,33 +473,33 @@ Tabele, indeksy, wyzwalacze i widoki skopiowane do bazy danych %3 pozostaną na <context> <name>PluginManagerImpl</name> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="541"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="543"/> <source>Cannot load plugin %1, because it's in conflict with plugin %2.</source> <translation>Nie udało się załadować wtyczki %1, ponieważ jest ona w konflikcie z wtyczką %2.</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="552"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="554"/> <source>Cannot load plugin %1, because its dependency was not loaded: %2.</source> <translation>Nie udało się załadować wtyczki %1, ponieważ jej zależność nie została załadowana: %2</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="561"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="563"/> <source>Cannot load plugin %1. Error details: %2</source> <translation>Nie udało się załadować wtyczki %1. Szczegóły błędu: %2</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="577"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="579"/> <source>Cannot load plugin %1 (error while initializing plugin).</source> <translation>Nie udało się załadować wtyczki %1 (błąd podczas inicjalizacji wtyczki).</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="730"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="732"/> <source>min: %1</source> <comment>plugin dependency version</comment> <translation>min: %1</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="731"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="733"/> <source>max: %1</source> <comment>plugin dependency version</comment> <translation>maks: %1</translation> @@ -577,7 +577,7 @@ Tabele, indeksy, wyzwalacze i widoki skopiowane do bazy danych %3 pozostaną na <context> <name>PopulateManager</name> <message> - <location filename="../services/populatemanager.cpp" line="88"/> + <location filename="../services/populatemanager.cpp" line="89"/> <source>Table '%1' populated successfully.</source> <translation>Zaludnianie tabeli '%1' przebiegło pomyślnie.</translation> </message> @@ -759,12 +759,12 @@ Tabele, indeksy, wyzwalacze i widoki skopiowane do bazy danych %3 pozostaną na <translation>Nie udało się rozpocząć transakcji w celu zaludnienia tabeli. Szczegóły błędu: %1</translation> </message> <message> - <location filename="../populateworker.cpp" line="56"/> + <location filename="../populateworker.cpp" line="63"/> <source>Error while populating table: %1</source> <translation>Błąd podczas zaludniania tabeli: %2</translation> </message> <message> - <location filename="../populateworker.cpp" line="65"/> + <location filename="../populateworker.cpp" line="74"/> <source>Could not commit transaction after table populating. Error details: %1</source> <translation>Nie udało się zatwierdzić transakcji po zaludnieniu tabeli. Szczegóły błędy: %1</translation> </message> @@ -907,43 +907,43 @@ Szczegóły błędu: %2</translation> <translation>Nie udało się zainicjalizować pliku konfiguracyjnego. Jakiekolwiek zmiany w konfiguracji i historia zapytań będą utracone po zrestartowaniu aplikacji. Próbowano zainicjalizować plik konfiguracyjny w następujących lokalizacjach: %1.</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="288"/> + <location filename="../sqlitestudio.cpp" line="291"/> <source>General purpose</source> <comment>plugin category name</comment> <translation>Ogólne</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="289"/> + <location filename="../sqlitestudio.cpp" line="292"/> <source>Database support</source> <comment>plugin category name</comment> <translation>Wsparcie baz danych</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="290"/> + <location filename="../sqlitestudio.cpp" line="293"/> <source>Code formatter</source> <comment>plugin category name</comment> <translation>Formatowanie kodu</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="291"/> + <location filename="../sqlitestudio.cpp" line="294"/> <source>Scripting languages</source> <comment>plugin category name</comment> <translation>Języki skryptowe</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="292"/> + <location filename="../sqlitestudio.cpp" line="295"/> <source>Exporting</source> <comment>plugin category name</comment> <translation>Eksportowanie</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="293"/> + <location filename="../sqlitestudio.cpp" line="296"/> <source>Importing</source> <comment>plugin category name</comment> <translation>Importowanie</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="294"/> + <location filename="../sqlitestudio.cpp" line="297"/> <source>Table populating</source> <comment>plugin category name</comment> <translation>Zaludnianie tabel</translation> @@ -1018,8 +1018,8 @@ Widok pozostanie nienaruszony.</translation> <translation>Nie udało się zamknąć bazy danych: %1</translation> </message> <message> - <location filename="../db/abstractdb2.h" line="796"/> - <location filename="../db/abstractdb3.h" line="1092"/> + <location filename="../db/abstractdb2.h" line="803"/> + <location filename="../db/abstractdb3.h" line="1100"/> <source>Result set expired or no row available.</source> <translation>Wyniki zapytania są nieaktualne, lub nie ma dostępnych wierszy.</translation> </message> @@ -1034,7 +1034,7 @@ Widok pozostanie nienaruszony.</translation> <context> <name>QueryExecutor</name> <message> - <location filename="../db/queryexecutor.cpp" line="132"/> + <location filename="../db/queryexecutor.cpp" line="133"/> <source>Execution interrupted.</source> <translation>Wykonywanie przerwane.</translation> </message> @@ -1109,202 +1109,202 @@ Widok pozostanie nienaruszony.</translation> <context> <name>UpdateManager</name> <message> - <location filename="../services/updatemanager.cpp" line="129"/> + <location filename="../services/updatemanager.cpp" line="131"/> <source>An error occurred while checking for updates: %1.</source> <translation>Wystąpił błąd podczas sprawdzania aktualizacji: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="142"/> + <location filename="../services/updatemanager.cpp" line="144"/> <source>Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning.</source> <translation>Nie udało się sprawdzić aktualizacji, ponieważ serwer odpowiedział wiadomością w niepoprawnym formacie. Możesz spokojnie zignorować tą informację.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="173"/> + <location filename="../services/updatemanager.cpp" line="175"/> <source>An error occurred while reading updates metadata: %1.</source> <translation>Wystąpił błąd podczas odczytu metadanych aktualizacji: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="186"/> + <location filename="../services/updatemanager.cpp" line="188"/> <source>Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details.</source> <translation>Nie udało się ściągnąć aktualizacji, ponieważ serwer odpowiedział wiadomością w niepoprawnym formacie. Możesz spróbować jeszcze raz później, lub ściągnąć i stainstalować aktualizację ręcznie. Szczegóły: <a href="%1">Podręcznik użytkownika</a>.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="193"/> + <location filename="../services/updatemanager.cpp" line="195"/> <source>Could not create temporary directory for downloading the update. Updating aborted.</source> <translation>Nie udało się stworzyć katalogu tymczasowego w celu pobrania aktualizacji. Aktualizacja została przerwana.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="204"/> + <location filename="../services/updatemanager.cpp" line="206"/> <source>There was no updates to download. Updating aborted.</source> <translation>Nie znaleziono aktualizacji do pobrania. Aktualizacja przerwana.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="239"/> + <location filename="../services/updatemanager.cpp" line="241"/> <source>Downloading: %1</source> <translation>Pobieranie: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="245"/> + <location filename="../services/updatemanager.cpp" line="247"/> <source>Could not determinate file name from update URL: %1. Updating aborted.</source> <translation>Nie udało się określić nazwy pliku z URL aktualizacji: %1. Aktualizacja przerwana.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="253"/> + <location filename="../services/updatemanager.cpp" line="255"/> <source>Failed to open file '%1' for writting: %2. Updating aborted.</source> <translation>Nie udało się otworzyć pliku '%1' do zapisu: %2. Aktualizacja przerwana.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="274"/> + <location filename="../services/updatemanager.cpp" line="276"/> <source>Installing updates.</source> <translation>Instalowanie aktualizacji.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="285"/> + <location filename="../services/updatemanager.cpp" line="287"/> <source>Could not copy current application directory into %1 directory.</source> <translation>Nie udało się skopiować bieżącego katalogu aplikacji do katalogu %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="338"/> + <location filename="../services/updatemanager.cpp" line="340"/> <source>Could not create directory %1.</source> <translation>Nie udało się stworzyć katalogu %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="346"/> + <location filename="../services/updatemanager.cpp" line="348"/> <source>Could not rename directory %1 to %2. Details: %3</source> <translation>Nie udało się zmienić nazwy katalogu %1 na %2. Szczegóły: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="350"/> + <location filename="../services/updatemanager.cpp" line="352"/> <source>Cannot not rename directory %1 to %2. Details: %3</source> <translation>Nie można zmienić nazwy katalogu %1 na %2. Szczegóły: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="358"/> + <location filename="../services/updatemanager.cpp" line="360"/> <source>Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3</source> <translation>Nie udało się przenieść katalogu %1 do %2, oraz nie udało się przywrócić originalnego katalog, więc originalny katalog SQLiteStudio jest mieści się teraz w: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="363"/> + <location filename="../services/updatemanager.cpp" line="365"/> <source>Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version.</source> <translation>Nie udało się zmienić nazwy katalogu %1 na %2. Przywrócono originalną wersję SQLiteStudio.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="442"/> + <location filename="../services/updatemanager.cpp" line="444"/> <source>Could not unpack component %1 into %2 directory.</source> <translation>Nie udało się rozpakować komponentu %1 do katalogu %2.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="553"/> + <location filename="../services/updatemanager.cpp" line="555"/> <source>Could not find permissions elevator application to run update as a root. Looked for: %1</source> <translation>Nie udało się znaleźć narzędzia do podnoszenia uprawnień aplikacji, aby uruchomić aktualizację jako administrator. Szukano następujących: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="560"/> + <location filename="../services/updatemanager.cpp" line="562"/> <source>Could not execute final updating steps as root: %1</source> <translation>Nie udało się wykonać ostatnich kroków jako administrator: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> - <location filename="../services/updatemanager.cpp" line="598"/> - <location filename="../services/updatemanager.cpp" line="611"/> - <location filename="../services/updatemanager.cpp" line="621"/> + <location filename="../services/updatemanager.cpp" line="591"/> + <location filename="../services/updatemanager.cpp" line="600"/> + <location filename="../services/updatemanager.cpp" line="613"/> + <location filename="../services/updatemanager.cpp" line="623"/> <source>Could not execute final updating steps as admin: %1</source> <translation>Nie udało się wykonać ostatnich kroków jako administrator: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> + <location filename="../services/updatemanager.cpp" line="591"/> <source>Cannot create temporary directory for updater.</source> <translation>Nie można stworzyć tymczasowego katalogu dla aktualizacji.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="598"/> + <location filename="../services/updatemanager.cpp" line="600"/> <source>Cannot create updater script file.</source> <translation>Nie można utworzyć skryptu aktualizacji.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="631"/> + <location filename="../services/updatemanager.cpp" line="633"/> <source>Updating canceled.</source> <translation>Aktualizacja wycofana.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="659"/> + <location filename="../services/updatemanager.cpp" line="661"/> <source>Could not execute final updating steps as administrator.</source> <translation>Nie udało się wykonać ostatich kroków aktualizacji jako administrator.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="671"/> + <location filename="../services/updatemanager.cpp" line="673"/> <source>Could not execute final updating steps as administrator. Updater startup timed out.</source> <translation>Nie udało się wykonać ostatich kroków aktualizacji jako administrator. Przekroczono limit czasu oczekiwania.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="677"/> + <location filename="../services/updatemanager.cpp" line="679"/> <source>Could not execute final updating steps as administrator. Updater operation timed out.</source> <translation>Nie udało się wykonać ostatich kroków aktualizacji jako administrator. Przekroczono limit czasu oczekiwania.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="694"/> + <location filename="../services/updatemanager.cpp" line="696"/> <source>Could not clean up temporary directory %1. You can delete it manually at any time.</source> <translation>Nie udało się wyczyścić katalogu tymczasowego %1. Możesz go usunąć ręcznie w dowolnym momencie.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="730"/> + <location filename="../services/updatemanager.cpp" line="732"/> <source>Could not run new version for continuing update.</source> <translation>Nie udało się uruchomić nowej wersji w celu kontynuowania aktualizacji.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="815"/> + <location filename="../services/updatemanager.cpp" line="817"/> <source>Package not in tar.gz format, cannot install: %1</source> <translation>Paczka nie jest w formacie tar.gz, nie można zainstalować: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="822"/> + <location filename="../services/updatemanager.cpp" line="824"/> <source>Package %1 cannot be installed, because cannot move it to directory: %2</source> <translation>Paczka %1 nie może być zainstalowana, ponieważ nie można przenieść jej do katalogu: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="831"/> + <location filename="../services/updatemanager.cpp" line="833"/> <source>Package %1 cannot be installed, because cannot unpack it: %2</source> <translation>Paczka %1 nie może być zainstalowana, ponieważ nie można jej rozpakować: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="850"/> + <location filename="../services/updatemanager.cpp" line="852"/> <source>Package not in zip format, cannot install: %1</source> <translation>Paczka nie jest w formacie zip, nie można zainstalować: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="857"/> + <location filename="../services/updatemanager.cpp" line="859"/> <source>Package %1 cannot be installed, because cannot unzip it to directory %2: %3</source> <translation>Paczka %1 nie może być zainstalowana, ponieważ nie można jej rozpakować do katalogu %2: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="871"/> + <location filename="../services/updatemanager.cpp" line="873"/> <source>Package %1 cannot be installed, because cannot unzip it to directory: %2</source> <translation>Paczka %1 nie może być zainstalowana, ponieważ nie można jej rozpakować do katalogu %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="921"/> - <location filename="../services/updatemanager.cpp" line="930"/> + <location filename="../services/updatemanager.cpp" line="923"/> + <location filename="../services/updatemanager.cpp" line="932"/> <source>Could not rename directory %1 to %2.</source> <translation>Nie udało się zmienić nazwy katalogu %1 na %2.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="943"/> + <location filename="../services/updatemanager.cpp" line="945"/> <source>Could not delete directory %1.</source> <translation>Nie udało się skasować katalogu %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="959"/> + <location filename="../services/updatemanager.cpp" line="961"/> <source>Error executing update command: %1 Error message: %2</source> <translation>Błąd podczas wykonywania polecenia aktualizacji: %1 Treść błędu: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="1026"/> + <location filename="../services/updatemanager.cpp" line="1028"/> <source>An error occurred while downloading updates: %1. Updating aborted.</source> <translation>Wystąpił błąd podczas pobierania aktualizacji: %1. Aktualizacja przerwana.</translation> </message> diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.ts index d22af44..64f66a5 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.ts +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.ts @@ -147,30 +147,30 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="134"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="138"/> <source>Database %1 could not be updated, because of an error: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="308"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="337"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="312"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="341"/> <source>Database file doesn't exist.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="310"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="339"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="314"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="343"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="565"/> <source>No supporting plugin loaded.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="413"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="484"/> <source>Database could not be initialized.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="423"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> <source>No suitable database driver plugin found.</source> <translation type="unfinished"></translation> </message> @@ -427,36 +427,36 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="93"/> + <location filename="../importworker.cpp" line="94"/> <source>Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="98"/> + <location filename="../importworker.cpp" line="99"/> <source>Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="116"/> + <location filename="../importworker.cpp" line="117"/> <source>Could not create table to import to: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="162"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="163"/> + <location filename="../importworker.cpp" line="170"/> <source>Error while importing data: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="170"/> <source>Interrupted.</source> <comment>import process status update</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="157"/> + <location filename="../importworker.cpp" line="158"/> <source>Could not import data row number %1. The row was ignored. Problem details: %2</source> <translation type="unfinished"></translation> </message> @@ -464,33 +464,33 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PluginManagerImpl</name> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="541"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="543"/> <source>Cannot load plugin %1, because it's in conflict with plugin %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="552"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="554"/> <source>Cannot load plugin %1, because its dependency was not loaded: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="561"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="563"/> <source>Cannot load plugin %1. Error details: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="577"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="579"/> <source>Cannot load plugin %1 (error while initializing plugin).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="730"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="732"/> <source>min: %1</source> <comment>plugin dependency version</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="731"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="733"/> <source>max: %1</source> <comment>plugin dependency version</comment> <translation type="unfinished"></translation> @@ -568,7 +568,7 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PopulateManager</name> <message> - <location filename="../services/populatemanager.cpp" line="88"/> + <location filename="../services/populatemanager.cpp" line="89"/> <source>Table '%1' populated successfully.</source> <translation type="unfinished"></translation> </message> @@ -750,12 +750,12 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../populateworker.cpp" line="56"/> + <location filename="../populateworker.cpp" line="63"/> <source>Error while populating table: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../populateworker.cpp" line="65"/> + <location filename="../populateworker.cpp" line="74"/> <source>Could not commit transaction after table populating. Error details: %1</source> <translation type="unfinished"></translation> </message> @@ -769,8 +769,8 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../db/abstractdb2.h" line="796"/> - <location filename="../db/abstractdb3.h" line="1092"/> + <location filename="../db/abstractdb2.h" line="803"/> + <location filename="../db/abstractdb3.h" line="1100"/> <source>Result set expired or no row available.</source> <translation type="unfinished"></translation> </message> @@ -910,43 +910,43 @@ Error details: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="288"/> + <location filename="../sqlitestudio.cpp" line="291"/> <source>General purpose</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="289"/> + <location filename="../sqlitestudio.cpp" line="292"/> <source>Database support</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="290"/> + <location filename="../sqlitestudio.cpp" line="293"/> <source>Code formatter</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="291"/> + <location filename="../sqlitestudio.cpp" line="294"/> <source>Scripting languages</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="292"/> + <location filename="../sqlitestudio.cpp" line="295"/> <source>Exporting</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="293"/> + <location filename="../sqlitestudio.cpp" line="296"/> <source>Importing</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="294"/> + <location filename="../sqlitestudio.cpp" line="297"/> <source>Table populating</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> @@ -1008,7 +1008,7 @@ The view will remain as it is.</source> <context> <name>QueryExecutor</name> <message> - <location filename="../db/queryexecutor.cpp" line="132"/> + <location filename="../db/queryexecutor.cpp" line="133"/> <source>Execution interrupted.</source> <translation type="unfinished"></translation> </message> @@ -1083,199 +1083,199 @@ The view will remain as it is.</source> <context> <name>UpdateManager</name> <message> - <location filename="../services/updatemanager.cpp" line="129"/> + <location filename="../services/updatemanager.cpp" line="131"/> <source>An error occurred while checking for updates: %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="142"/> + <location filename="../services/updatemanager.cpp" line="144"/> <source>Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="173"/> + <location filename="../services/updatemanager.cpp" line="175"/> <source>An error occurred while reading updates metadata: %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="186"/> + <location filename="../services/updatemanager.cpp" line="188"/> <source>Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="193"/> + <location filename="../services/updatemanager.cpp" line="195"/> <source>Could not create temporary directory for downloading the update. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="204"/> + <location filename="../services/updatemanager.cpp" line="206"/> <source>There was no updates to download. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="239"/> + <location filename="../services/updatemanager.cpp" line="241"/> <source>Downloading: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="245"/> + <location filename="../services/updatemanager.cpp" line="247"/> <source>Could not determinate file name from update URL: %1. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="253"/> + <location filename="../services/updatemanager.cpp" line="255"/> <source>Failed to open file '%1' for writting: %2. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="274"/> + <location filename="../services/updatemanager.cpp" line="276"/> <source>Installing updates.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="285"/> + <location filename="../services/updatemanager.cpp" line="287"/> <source>Could not copy current application directory into %1 directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="338"/> + <location filename="../services/updatemanager.cpp" line="340"/> <source>Could not create directory %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="346"/> + <location filename="../services/updatemanager.cpp" line="348"/> <source>Could not rename directory %1 to %2. Details: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="350"/> + <location filename="../services/updatemanager.cpp" line="352"/> <source>Cannot not rename directory %1 to %2. Details: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="358"/> + <location filename="../services/updatemanager.cpp" line="360"/> <source>Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="363"/> + <location filename="../services/updatemanager.cpp" line="365"/> <source>Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="442"/> + <location filename="../services/updatemanager.cpp" line="444"/> <source>Could not unpack component %1 into %2 directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="553"/> + <location filename="../services/updatemanager.cpp" line="555"/> <source>Could not find permissions elevator application to run update as a root. Looked for: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="560"/> + <location filename="../services/updatemanager.cpp" line="562"/> <source>Could not execute final updating steps as root: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> - <location filename="../services/updatemanager.cpp" line="598"/> - <location filename="../services/updatemanager.cpp" line="611"/> - <location filename="../services/updatemanager.cpp" line="621"/> + <location filename="../services/updatemanager.cpp" line="591"/> + <location filename="../services/updatemanager.cpp" line="600"/> + <location filename="../services/updatemanager.cpp" line="613"/> + <location filename="../services/updatemanager.cpp" line="623"/> <source>Could not execute final updating steps as admin: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> + <location filename="../services/updatemanager.cpp" line="591"/> <source>Cannot create temporary directory for updater.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="598"/> + <location filename="../services/updatemanager.cpp" line="600"/> <source>Cannot create updater script file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="631"/> + <location filename="../services/updatemanager.cpp" line="633"/> <source>Updating canceled.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="659"/> + <location filename="../services/updatemanager.cpp" line="661"/> <source>Could not execute final updating steps as administrator.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="671"/> + <location filename="../services/updatemanager.cpp" line="673"/> <source>Could not execute final updating steps as administrator. Updater startup timed out.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="677"/> + <location filename="../services/updatemanager.cpp" line="679"/> <source>Could not execute final updating steps as administrator. Updater operation timed out.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="694"/> + <location filename="../services/updatemanager.cpp" line="696"/> <source>Could not clean up temporary directory %1. You can delete it manually at any time.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="730"/> + <location filename="../services/updatemanager.cpp" line="732"/> <source>Could not run new version for continuing update.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="815"/> + <location filename="../services/updatemanager.cpp" line="817"/> <source>Package not in tar.gz format, cannot install: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="822"/> + <location filename="../services/updatemanager.cpp" line="824"/> <source>Package %1 cannot be installed, because cannot move it to directory: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="831"/> + <location filename="../services/updatemanager.cpp" line="833"/> <source>Package %1 cannot be installed, because cannot unpack it: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="850"/> + <location filename="../services/updatemanager.cpp" line="852"/> <source>Package not in zip format, cannot install: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="857"/> + <location filename="../services/updatemanager.cpp" line="859"/> <source>Package %1 cannot be installed, because cannot unzip it to directory %2: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="871"/> + <location filename="../services/updatemanager.cpp" line="873"/> <source>Package %1 cannot be installed, because cannot unzip it to directory: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="921"/> - <location filename="../services/updatemanager.cpp" line="930"/> + <location filename="../services/updatemanager.cpp" line="923"/> + <location filename="../services/updatemanager.cpp" line="932"/> <source>Could not rename directory %1 to %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="943"/> + <location filename="../services/updatemanager.cpp" line="945"/> <source>Could not delete directory %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="959"/> + <location filename="../services/updatemanager.cpp" line="961"/> <source>Error executing update command: %1 Error message: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="1026"/> + <location filename="../services/updatemanager.cpp" line="1028"/> <source>An error occurred while downloading updates: %1. Updating aborted.</source> <translation type="unfinished"></translation> </message> diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.ts index ca7fc68..8bbab69 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.ts +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.ts @@ -147,31 +147,31 @@ <translation>Не удалось добавить базу данных %1: %2</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="134"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="138"/> <source>Database %1 could not be updated, because of an error: %2</source> <translation>Невозможно обновить базу данных %1 из-за ошибки: %2</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="308"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="337"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="312"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="341"/> <source>Database file doesn't exist.</source> <translation>Файл базы данных не существует.</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="310"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="339"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="314"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="343"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="565"/> <source>No supporting plugin loaded.</source> <translatorcomment>Unclear error string. Checking the source didn't help.</translatorcomment> <translation>Модуль поддержки не загружен.</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="413"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="484"/> <source>Database could not be initialized.</source> <translation>Невозможно инициализировать базу данных.</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="423"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> <source>No suitable database driver plugin found.</source> <translation>Не найден подходящий драйвер базы данных.</translation> </message> @@ -429,36 +429,36 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation>Невозможно завершить транзакцию для импортированных данных: %1</translation> </message> <message> - <location filename="../importworker.cpp" line="93"/> + <location filename="../importworker.cpp" line="94"/> <source>Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source> <translation>В таблице '%1' столбцов меньше, чем в импортируемых данных. Лишние столбцы будут проигнорированы.</translation> </message> <message> - <location filename="../importworker.cpp" line="98"/> + <location filename="../importworker.cpp" line="99"/> <source>Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source> <translation>В таблице '%1' столбцов больше, чем в импортируемых данных. Недостающие столбцы будут оставлены пустыми.</translation> </message> <message> - <location filename="../importworker.cpp" line="116"/> + <location filename="../importworker.cpp" line="117"/> <source>Could not create table to import to: %1</source> <translation>Невозможно создать таблицу для импорта: %1</translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="162"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="163"/> + <location filename="../importworker.cpp" line="170"/> <source>Error while importing data: %1</source> <translation>Ошибка при импорте данных: %1</translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="170"/> <source>Interrupted.</source> <comment>import process status update</comment> <translation>Прервано.</translation> </message> <message> - <location filename="../importworker.cpp" line="157"/> + <location filename="../importworker.cpp" line="158"/> <source>Could not import data row number %1. The row was ignored. Problem details: %2</source> <translation>Невозможно импортировать строку данных № %1. Строка пропущена. Подробности проблемы: %2</translation> </message> @@ -466,33 +466,33 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PluginManagerImpl</name> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="541"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="543"/> <source>Cannot load plugin %1, because it's in conflict with plugin %2.</source> <translation>Невозможно загрузить модуль %1, так как он конфликтует с модулем %2.</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="552"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="554"/> <source>Cannot load plugin %1, because its dependency was not loaded: %2.</source> <translation>Невозможно загрузить модуль %1, так как не загружен необходимый ему модуль: %2.</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="561"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="563"/> <source>Cannot load plugin %1. Error details: %2</source> <translation>Невозможно загрузить модуль %1. Подробности ошибки: %2</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="577"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="579"/> <source>Cannot load plugin %1 (error while initializing plugin).</source> <translation>Невозможно загрузить модуль %1 (ошибка при инициализации модуля).</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="730"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="732"/> <source>min: %1</source> <comment>plugin dependency version</comment> <translation>минимальная: %1</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="731"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="733"/> <source>max: %1</source> <comment>plugin dependency version</comment> <translation>максимальная: %1</translation> @@ -570,7 +570,7 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PopulateManager</name> <message> - <location filename="../services/populatemanager.cpp" line="88"/> + <location filename="../services/populatemanager.cpp" line="89"/> <source>Table '%1' populated successfully.</source> <translation>Таблица '%1' успешно заполнена.</translation> </message> @@ -752,12 +752,12 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation>Невозможно начать транзакцию для заполнения таблицы. Подробности ошибки: %1</translation> </message> <message> - <location filename="../populateworker.cpp" line="56"/> + <location filename="../populateworker.cpp" line="63"/> <source>Error while populating table: %1</source> <translation>Ошибка при заполнении таблицы: %1</translation> </message> <message> - <location filename="../populateworker.cpp" line="65"/> + <location filename="../populateworker.cpp" line="74"/> <source>Could not commit transaction after table populating. Error details: %1</source> <translation>Невозможно завершить транзакцию после заполнения таблицы. Подробности ошибки: %1</translation> </message> @@ -771,8 +771,8 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation>Невозможно открыть базу данных: %1</translation> </message> <message> - <location filename="../db/abstractdb2.h" line="796"/> - <location filename="../db/abstractdb3.h" line="1092"/> + <location filename="../db/abstractdb2.h" line="803"/> + <location filename="../db/abstractdb3.h" line="1100"/> <source>Result set expired or no row available.</source> <translation>Результирующая выборка устарела или ни одна строка не доступна.</translation> </message> @@ -912,43 +912,43 @@ Error details: %2</source> <translation>Невозможно инициализировать файл конфигурации. Любые изменения конфигурации и история запросов будут утеряны после перезапуска приложения. Попытки инициализации файла предпринимались в следующих местах: %1.</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="288"/> + <location filename="../sqlitestudio.cpp" line="291"/> <source>General purpose</source> <comment>plugin category name</comment> <translation>Общего назначения</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="289"/> + <location filename="../sqlitestudio.cpp" line="292"/> <source>Database support</source> <comment>plugin category name</comment> <translation>Поддержка баз данных</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="290"/> + <location filename="../sqlitestudio.cpp" line="293"/> <source>Code formatter</source> <comment>plugin category name</comment> <translation>Форматирование кода</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="291"/> + <location filename="../sqlitestudio.cpp" line="294"/> <source>Scripting languages</source> <comment>plugin category name</comment> <translation>Скриптовые языки</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="292"/> + <location filename="../sqlitestudio.cpp" line="295"/> <source>Exporting</source> <comment>plugin category name</comment> <translation>Экспорт</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="293"/> + <location filename="../sqlitestudio.cpp" line="296"/> <source>Importing</source> <comment>plugin category name</comment> <translation>Импорт</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="294"/> + <location filename="../sqlitestudio.cpp" line="297"/> <source>Table populating</source> <comment>plugin category name</comment> <translation>Заполнение таблиц</translation> @@ -1015,7 +1015,7 @@ The view will remain as it is.</source> <context> <name>QueryExecutor</name> <message> - <location filename="../db/queryexecutor.cpp" line="132"/> + <location filename="../db/queryexecutor.cpp" line="133"/> <source>Execution interrupted.</source> <translation>Выполнение прервано.</translation> </message> @@ -1090,202 +1090,202 @@ The view will remain as it is.</source> <context> <name>UpdateManager</name> <message> - <location filename="../services/updatemanager.cpp" line="129"/> + <location filename="../services/updatemanager.cpp" line="131"/> <source>An error occurred while checking for updates: %1.</source> <translation>При проверке обновлений возникла ошибка: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="142"/> + <location filename="../services/updatemanager.cpp" line="144"/> <source>Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning.</source> <translation>Невозможно проверить наличие обновлений, так как ответ сервера имеет некорректный формат. Это предупреждение можно проигнорировать.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="173"/> + <location filename="../services/updatemanager.cpp" line="175"/> <source>An error occurred while reading updates metadata: %1.</source> <translation>При чтении метаданных об обновлениях возникла ошибка: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="186"/> + <location filename="../services/updatemanager.cpp" line="188"/> <source>Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details.</source> <translation>Невозможно загрузить обновления, так как ответ сервера имеет некорректный формат. Вы можете попробовать снова позже или скачать и установить обновления вручную. Подробности смотрите в <a href="%1">Руководстве пользователя</a>.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="193"/> + <location filename="../services/updatemanager.cpp" line="195"/> <source>Could not create temporary directory for downloading the update. Updating aborted.</source> <translation>Невозможно создать временный каталог для загрузки обновления. Обновление прервано.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="204"/> + <location filename="../services/updatemanager.cpp" line="206"/> <source>There was no updates to download. Updating aborted.</source> <translation>Нет обновлений для загрузки. Обновление прервано.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="239"/> + <location filename="../services/updatemanager.cpp" line="241"/> <source>Downloading: %1</source> <translation>Загрузка: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="245"/> + <location filename="../services/updatemanager.cpp" line="247"/> <source>Could not determinate file name from update URL: %1. Updating aborted.</source> <translation>Невозможно определить имя файла из URL обновления. Обновление прервано.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="253"/> + <location filename="../services/updatemanager.cpp" line="255"/> <source>Failed to open file '%1' for writting: %2. Updating aborted.</source> <translation>Не удалось открыть файл %1 для записи: %2. Обновление прервано.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="274"/> + <location filename="../services/updatemanager.cpp" line="276"/> <source>Installing updates.</source> <translation>Установка обновлений.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="285"/> + <location filename="../services/updatemanager.cpp" line="287"/> <source>Could not copy current application directory into %1 directory.</source> <translation>Невозможно скопировать текущий каталог приложения в каталог %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="338"/> + <location filename="../services/updatemanager.cpp" line="340"/> <source>Could not create directory %1.</source> <translation>Невозможно создать каталог %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="346"/> + <location filename="../services/updatemanager.cpp" line="348"/> <source>Could not rename directory %1 to %2. Details: %3</source> <translation>Невозможно переименовать каталог %1 в %2. Подробности: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="350"/> + <location filename="../services/updatemanager.cpp" line="352"/> <source>Cannot not rename directory %1 to %2. Details: %3</source> <translation>Невозможно переименовать каталог %1 в %2. Подробности: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="358"/> + <location filename="../services/updatemanager.cpp" line="360"/> <source>Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3</source> <translation>Невозможно переместить каталог %1 в %2, а также не удалось восстановить оригинальный каталог, поэтому оригинальный каталог SQLiteStudio теперь расположен в: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="363"/> + <location filename="../services/updatemanager.cpp" line="365"/> <source>Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version.</source> <translation>Невозможно переименовать каталог %1 в %2. Восстановлена изначальная версия SQLiteStudio.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="442"/> + <location filename="../services/updatemanager.cpp" line="444"/> <source>Could not unpack component %1 into %2 directory.</source> <translation>Невозможно распаковать компонент %1 в каталог %2.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="553"/> + <location filename="../services/updatemanager.cpp" line="555"/> <source>Could not find permissions elevator application to run update as a root. Looked for: %1</source> <translation>Невозможно найти приложение повышения привилегий для запуска обновления с правами root. Были испробованы: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="560"/> + <location filename="../services/updatemanager.cpp" line="562"/> <source>Could not execute final updating steps as root: %1</source> <translation>Невозможно выполнить финальные шаги обновления с правами root: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> - <location filename="../services/updatemanager.cpp" line="598"/> - <location filename="../services/updatemanager.cpp" line="611"/> - <location filename="../services/updatemanager.cpp" line="621"/> + <location filename="../services/updatemanager.cpp" line="591"/> + <location filename="../services/updatemanager.cpp" line="600"/> + <location filename="../services/updatemanager.cpp" line="613"/> + <location filename="../services/updatemanager.cpp" line="623"/> <source>Could not execute final updating steps as admin: %1</source> <translation>Невозможно выполнить финальные шаги обновления с правами администратора: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> + <location filename="../services/updatemanager.cpp" line="591"/> <source>Cannot create temporary directory for updater.</source> <translation>Невозможно создать временный каталог для установщика обновлений.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="598"/> + <location filename="../services/updatemanager.cpp" line="600"/> <source>Cannot create updater script file.</source> <translation>Невозможно создать файл скрипта обновления.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="631"/> + <location filename="../services/updatemanager.cpp" line="633"/> <source>Updating canceled.</source> <translation>Обновление отменено.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="659"/> + <location filename="../services/updatemanager.cpp" line="661"/> <source>Could not execute final updating steps as administrator.</source> <translation>Невозможно выполнить финальные шаги обновления с правами администратора.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="671"/> + <location filename="../services/updatemanager.cpp" line="673"/> <source>Could not execute final updating steps as administrator. Updater startup timed out.</source> <translation>Невозможно выполнить финальные шаги обновления с правами администратора. Превышен тайм-аут запуска программы обновления.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="677"/> + <location filename="../services/updatemanager.cpp" line="679"/> <source>Could not execute final updating steps as administrator. Updater operation timed out.</source> <translation>Невозможно выполнить финальные шаги обновления с правами администратора. Превышен тайм-аут операции программы обновления.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="694"/> + <location filename="../services/updatemanager.cpp" line="696"/> <source>Could not clean up temporary directory %1. You can delete it manually at any time.</source> <translation>Невозможно очистить временный каталог %1. Вы можете удалить его вручную в любое время.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="730"/> + <location filename="../services/updatemanager.cpp" line="732"/> <source>Could not run new version for continuing update.</source> <translation>Невозможно запустить новую версию приложения для продолжения обновления.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="815"/> + <location filename="../services/updatemanager.cpp" line="817"/> <source>Package not in tar.gz format, cannot install: %1</source> <translation>Пакет не в формате tar.gz, установка невозможна: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="822"/> + <location filename="../services/updatemanager.cpp" line="824"/> <source>Package %1 cannot be installed, because cannot move it to directory: %2</source> <translation>Пакет %1 не может быть установлен, так как невозможно перенести его в каталог: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="831"/> + <location filename="../services/updatemanager.cpp" line="833"/> <source>Package %1 cannot be installed, because cannot unpack it: %2</source> <translation>Пакет %1 не может быть установлен, так как его невозможно распаковать: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="850"/> + <location filename="../services/updatemanager.cpp" line="852"/> <source>Package not in zip format, cannot install: %1</source> <translation>Пакет не в формате zip, установка невозможна: %1</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="857"/> + <location filename="../services/updatemanager.cpp" line="859"/> <source>Package %1 cannot be installed, because cannot unzip it to directory %2: %3</source> <translation>Пакет %1 не может быть установлен, так как его невозможно распаковать в каталог %2: %3</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="871"/> + <location filename="../services/updatemanager.cpp" line="873"/> <source>Package %1 cannot be installed, because cannot unzip it to directory: %2</source> <translation>Пакет %1 не может быть установлен, так как его невозможно распаковать в каталог: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="921"/> - <location filename="../services/updatemanager.cpp" line="930"/> + <location filename="../services/updatemanager.cpp" line="923"/> + <location filename="../services/updatemanager.cpp" line="932"/> <source>Could not rename directory %1 to %2.</source> <translation>Невозможно переименовать каталог %1 в %2.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="943"/> + <location filename="../services/updatemanager.cpp" line="945"/> <source>Could not delete directory %1.</source> <translation>Невозможно удалить каталог %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="959"/> + <location filename="../services/updatemanager.cpp" line="961"/> <source>Error executing update command: %1 Error message: %2</source> <translation>Ошибка при выполнении команды обновления: %1 Сообщение об ошибке: %2</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="1026"/> + <location filename="../services/updatemanager.cpp" line="1028"/> <source>An error occurred while downloading updates: %1. Updating aborted.</source> <translation>При загрузке обновлений произошла ошибка: %1. Обновление прервано.</translation> </message> diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qm b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qm Binary files differindex e857185..6dae38a 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qm +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qm diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.ts index 74fb84c..e953940 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.ts +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.ts @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.0" language="sk_SK"> +<TS version="2.1" language="sk_SK"> <context> <name>AbstractDb</name> <message> @@ -147,30 +147,30 @@ <translation>Nemôžem pridať databázu %1: %2</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="134"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="138"/> <source>Database %1 could not be updated, because of an error: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="308"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="337"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="312"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="341"/> <source>Database file doesn't exist.</source> <translation>Databázový súbor neexistuje.</translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="310"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="339"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="314"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="343"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="565"/> <source>No supporting plugin loaded.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="413"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="484"/> <source>Database could not be initialized.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="423"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> <source>No suitable database driver plugin found.</source> <translation type="unfinished"></translation> </message> @@ -427,36 +427,36 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="93"/> + <location filename="../importworker.cpp" line="94"/> <source>Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="98"/> + <location filename="../importworker.cpp" line="99"/> <source>Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="116"/> + <location filename="../importworker.cpp" line="117"/> <source>Could not create table to import to: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="162"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="163"/> + <location filename="../importworker.cpp" line="170"/> <source>Error while importing data: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="170"/> <source>Interrupted.</source> <comment>import process status update</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="157"/> + <location filename="../importworker.cpp" line="158"/> <source>Could not import data row number %1. The row was ignored. Problem details: %2</source> <translation type="unfinished"></translation> </message> @@ -464,33 +464,33 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PluginManagerImpl</name> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="541"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="543"/> <source>Cannot load plugin %1, because it's in conflict with plugin %2.</source> <translation>Nemôžem načítať plugin %1, pretože je v konflikte s pluginom %2.</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="552"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="554"/> <source>Cannot load plugin %1, because its dependency was not loaded: %2.</source> <translation>Nemôžem načítať plugin %1, pretože neboli načítané jeho závislosti %2.</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="561"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="563"/> <source>Cannot load plugin %1. Error details: %2</source> <translation>Nemôžem načítať plugin %1. Detaily chyby %2</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="577"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="579"/> <source>Cannot load plugin %1 (error while initializing plugin).</source> <translation>Nemôžem načítať plugin %1 (nastala chyba pri jeho inicializácii).</translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="730"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="732"/> <source>min: %1</source> <comment>plugin dependency version</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="731"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="733"/> <source>max: %1</source> <comment>plugin dependency version</comment> <translation type="unfinished"></translation> @@ -568,7 +568,7 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PopulateManager</name> <message> - <location filename="../services/populatemanager.cpp" line="88"/> + <location filename="../services/populatemanager.cpp" line="89"/> <source>Table '%1' populated successfully.</source> <translation>Tabuľka %1 úspešne naplnená.</translation> </message> @@ -750,12 +750,12 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../populateworker.cpp" line="56"/> + <location filename="../populateworker.cpp" line="63"/> <source>Error while populating table: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../populateworker.cpp" line="65"/> + <location filename="../populateworker.cpp" line="74"/> <source>Could not commit transaction after table populating. Error details: %1</source> <translation type="unfinished"></translation> </message> @@ -769,8 +769,8 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../db/abstractdb2.h" line="796"/> - <location filename="../db/abstractdb3.h" line="1092"/> + <location filename="../db/abstractdb2.h" line="803"/> + <location filename="../db/abstractdb3.h" line="1100"/> <source>Result set expired or no row available.</source> <translation type="unfinished"></translation> </message> @@ -910,43 +910,43 @@ Error details: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="288"/> + <location filename="../sqlitestudio.cpp" line="291"/> <source>General purpose</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="289"/> + <location filename="../sqlitestudio.cpp" line="292"/> <source>Database support</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="290"/> + <location filename="../sqlitestudio.cpp" line="293"/> <source>Code formatter</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="291"/> + <location filename="../sqlitestudio.cpp" line="294"/> <source>Scripting languages</source> <comment>plugin category name</comment> <translation>Skriptovacie jazyky</translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="292"/> + <location filename="../sqlitestudio.cpp" line="295"/> <source>Exporting</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="293"/> + <location filename="../sqlitestudio.cpp" line="296"/> <source>Importing</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="294"/> + <location filename="../sqlitestudio.cpp" line="297"/> <source>Table populating</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> @@ -1008,7 +1008,7 @@ The view will remain as it is.</source> <context> <name>QueryExecutor</name> <message> - <location filename="../db/queryexecutor.cpp" line="132"/> + <location filename="../db/queryexecutor.cpp" line="133"/> <source>Execution interrupted.</source> <translation type="unfinished"></translation> </message> @@ -1084,199 +1084,199 @@ The view will remain as it is.</source> <context> <name>UpdateManager</name> <message> - <location filename="../services/updatemanager.cpp" line="129"/> + <location filename="../services/updatemanager.cpp" line="131"/> <source>An error occurred while checking for updates: %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="142"/> + <location filename="../services/updatemanager.cpp" line="144"/> <source>Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="173"/> + <location filename="../services/updatemanager.cpp" line="175"/> <source>An error occurred while reading updates metadata: %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="186"/> + <location filename="../services/updatemanager.cpp" line="188"/> <source>Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="193"/> + <location filename="../services/updatemanager.cpp" line="195"/> <source>Could not create temporary directory for downloading the update. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="204"/> + <location filename="../services/updatemanager.cpp" line="206"/> <source>There was no updates to download. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="239"/> + <location filename="../services/updatemanager.cpp" line="241"/> <source>Downloading: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="245"/> + <location filename="../services/updatemanager.cpp" line="247"/> <source>Could not determinate file name from update URL: %1. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="253"/> + <location filename="../services/updatemanager.cpp" line="255"/> <source>Failed to open file '%1' for writting: %2. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="274"/> + <location filename="../services/updatemanager.cpp" line="276"/> <source>Installing updates.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="285"/> + <location filename="../services/updatemanager.cpp" line="287"/> <source>Could not copy current application directory into %1 directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="338"/> + <location filename="../services/updatemanager.cpp" line="340"/> <source>Could not create directory %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="346"/> + <location filename="../services/updatemanager.cpp" line="348"/> <source>Could not rename directory %1 to %2. Details: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="350"/> + <location filename="../services/updatemanager.cpp" line="352"/> <source>Cannot not rename directory %1 to %2. Details: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="358"/> + <location filename="../services/updatemanager.cpp" line="360"/> <source>Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="363"/> + <location filename="../services/updatemanager.cpp" line="365"/> <source>Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="442"/> + <location filename="../services/updatemanager.cpp" line="444"/> <source>Could not unpack component %1 into %2 directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="553"/> + <location filename="../services/updatemanager.cpp" line="555"/> <source>Could not find permissions elevator application to run update as a root. Looked for: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="560"/> + <location filename="../services/updatemanager.cpp" line="562"/> <source>Could not execute final updating steps as root: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> - <location filename="../services/updatemanager.cpp" line="598"/> - <location filename="../services/updatemanager.cpp" line="611"/> - <location filename="../services/updatemanager.cpp" line="621"/> + <location filename="../services/updatemanager.cpp" line="591"/> + <location filename="../services/updatemanager.cpp" line="600"/> + <location filename="../services/updatemanager.cpp" line="613"/> + <location filename="../services/updatemanager.cpp" line="623"/> <source>Could not execute final updating steps as admin: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> + <location filename="../services/updatemanager.cpp" line="591"/> <source>Cannot create temporary directory for updater.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="598"/> + <location filename="../services/updatemanager.cpp" line="600"/> <source>Cannot create updater script file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="631"/> + <location filename="../services/updatemanager.cpp" line="633"/> <source>Updating canceled.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="659"/> + <location filename="../services/updatemanager.cpp" line="661"/> <source>Could not execute final updating steps as administrator.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="671"/> + <location filename="../services/updatemanager.cpp" line="673"/> <source>Could not execute final updating steps as administrator. Updater startup timed out.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="677"/> + <location filename="../services/updatemanager.cpp" line="679"/> <source>Could not execute final updating steps as administrator. Updater operation timed out.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="694"/> + <location filename="../services/updatemanager.cpp" line="696"/> <source>Could not clean up temporary directory %1. You can delete it manually at any time.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="730"/> + <location filename="../services/updatemanager.cpp" line="732"/> <source>Could not run new version for continuing update.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="815"/> + <location filename="../services/updatemanager.cpp" line="817"/> <source>Package not in tar.gz format, cannot install: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="822"/> + <location filename="../services/updatemanager.cpp" line="824"/> <source>Package %1 cannot be installed, because cannot move it to directory: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="831"/> + <location filename="../services/updatemanager.cpp" line="833"/> <source>Package %1 cannot be installed, because cannot unpack it: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="850"/> + <location filename="../services/updatemanager.cpp" line="852"/> <source>Package not in zip format, cannot install: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="857"/> + <location filename="../services/updatemanager.cpp" line="859"/> <source>Package %1 cannot be installed, because cannot unzip it to directory %2: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="871"/> + <location filename="../services/updatemanager.cpp" line="873"/> <source>Package %1 cannot be installed, because cannot unzip it to directory: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="921"/> - <location filename="../services/updatemanager.cpp" line="930"/> + <location filename="../services/updatemanager.cpp" line="923"/> + <location filename="../services/updatemanager.cpp" line="932"/> <source>Could not rename directory %1 to %2.</source> <translation>Nemôžem premenovať adresár %1na %2.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="943"/> + <location filename="../services/updatemanager.cpp" line="945"/> <source>Could not delete directory %1.</source> <translation>Nemôžem vymazať adresár %1.</translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="959"/> + <location filename="../services/updatemanager.cpp" line="961"/> <source>Error executing update command: %1 Error message: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="1026"/> + <location filename="../services/updatemanager.cpp" line="1028"/> <source>An error occurred while downloading updates: %1. Updating aborted.</source> <translation type="unfinished"></translation> </message> diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_zh_CN.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_zh_CN.ts index 1c95d67..32cf3b8 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_zh_CN.ts +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_zh_CN.ts @@ -147,30 +147,30 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="134"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="138"/> <source>Database %1 could not be updated, because of an error: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="308"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="337"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="312"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="341"/> <source>Database file doesn't exist.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="310"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="339"/> - <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="314"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="343"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="565"/> <source>No supporting plugin loaded.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="413"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="484"/> <source>Database could not be initialized.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/dbmanagerimpl.cpp" line="423"/> + <location filename="../services/impl/dbmanagerimpl.cpp" line="494"/> <source>No suitable database driver plugin found.</source> <translation type="unfinished"></translation> </message> @@ -427,36 +427,36 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="93"/> + <location filename="../importworker.cpp" line="94"/> <source>Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="98"/> + <location filename="../importworker.cpp" line="99"/> <source>Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="116"/> + <location filename="../importworker.cpp" line="117"/> <source>Could not create table to import to: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="162"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="163"/> + <location filename="../importworker.cpp" line="170"/> <source>Error while importing data: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="125"/> - <location filename="../importworker.cpp" line="169"/> + <location filename="../importworker.cpp" line="126"/> + <location filename="../importworker.cpp" line="170"/> <source>Interrupted.</source> <comment>import process status update</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../importworker.cpp" line="157"/> + <location filename="../importworker.cpp" line="158"/> <source>Could not import data row number %1. The row was ignored. Problem details: %2</source> <translation type="unfinished"></translation> </message> @@ -464,33 +464,33 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PluginManagerImpl</name> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="541"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="543"/> <source>Cannot load plugin %1, because it's in conflict with plugin %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="552"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="554"/> <source>Cannot load plugin %1, because its dependency was not loaded: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="561"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="563"/> <source>Cannot load plugin %1. Error details: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="577"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="579"/> <source>Cannot load plugin %1 (error while initializing plugin).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="730"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="732"/> <source>min: %1</source> <comment>plugin dependency version</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/impl/pluginmanagerimpl.cpp" line="731"/> + <location filename="../services/impl/pluginmanagerimpl.cpp" line="733"/> <source>max: %1</source> <comment>plugin dependency version</comment> <translation type="unfinished"></translation> @@ -568,7 +568,7 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <context> <name>PopulateManager</name> <message> - <location filename="../services/populatemanager.cpp" line="88"/> + <location filename="../services/populatemanager.cpp" line="89"/> <source>Table '%1' populated successfully.</source> <translation type="unfinished"></translation> </message> @@ -750,12 +750,12 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../populateworker.cpp" line="56"/> + <location filename="../populateworker.cpp" line="63"/> <source>Error while populating table: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../populateworker.cpp" line="65"/> + <location filename="../populateworker.cpp" line="74"/> <source>Could not commit transaction after table populating. Error details: %1</source> <translation type="unfinished"></translation> </message> @@ -769,8 +769,8 @@ Tables, indexes, triggers and views copied to database %3 will remain.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../db/abstractdb2.h" line="796"/> - <location filename="../db/abstractdb3.h" line="1092"/> + <location filename="../db/abstractdb2.h" line="803"/> + <location filename="../db/abstractdb3.h" line="1100"/> <source>Result set expired or no row available.</source> <translation type="unfinished"></translation> </message> @@ -910,43 +910,43 @@ Error details: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="288"/> + <location filename="../sqlitestudio.cpp" line="291"/> <source>General purpose</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="289"/> + <location filename="../sqlitestudio.cpp" line="292"/> <source>Database support</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="290"/> + <location filename="../sqlitestudio.cpp" line="293"/> <source>Code formatter</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="291"/> + <location filename="../sqlitestudio.cpp" line="294"/> <source>Scripting languages</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="292"/> + <location filename="../sqlitestudio.cpp" line="295"/> <source>Exporting</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="293"/> + <location filename="../sqlitestudio.cpp" line="296"/> <source>Importing</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../sqlitestudio.cpp" line="294"/> + <location filename="../sqlitestudio.cpp" line="297"/> <source>Table populating</source> <comment>plugin category name</comment> <translation type="unfinished"></translation> @@ -1008,7 +1008,7 @@ The view will remain as it is.</source> <context> <name>QueryExecutor</name> <message> - <location filename="../db/queryexecutor.cpp" line="132"/> + <location filename="../db/queryexecutor.cpp" line="133"/> <source>Execution interrupted.</source> <translation type="unfinished"></translation> </message> @@ -1083,199 +1083,199 @@ The view will remain as it is.</source> <context> <name>UpdateManager</name> <message> - <location filename="../services/updatemanager.cpp" line="129"/> + <location filename="../services/updatemanager.cpp" line="131"/> <source>An error occurred while checking for updates: %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="142"/> + <location filename="../services/updatemanager.cpp" line="144"/> <source>Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="173"/> + <location filename="../services/updatemanager.cpp" line="175"/> <source>An error occurred while reading updates metadata: %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="186"/> + <location filename="../services/updatemanager.cpp" line="188"/> <source>Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="193"/> + <location filename="../services/updatemanager.cpp" line="195"/> <source>Could not create temporary directory for downloading the update. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="204"/> + <location filename="../services/updatemanager.cpp" line="206"/> <source>There was no updates to download. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="239"/> + <location filename="../services/updatemanager.cpp" line="241"/> <source>Downloading: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="245"/> + <location filename="../services/updatemanager.cpp" line="247"/> <source>Could not determinate file name from update URL: %1. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="253"/> + <location filename="../services/updatemanager.cpp" line="255"/> <source>Failed to open file '%1' for writting: %2. Updating aborted.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="274"/> + <location filename="../services/updatemanager.cpp" line="276"/> <source>Installing updates.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="285"/> + <location filename="../services/updatemanager.cpp" line="287"/> <source>Could not copy current application directory into %1 directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="338"/> + <location filename="../services/updatemanager.cpp" line="340"/> <source>Could not create directory %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="346"/> + <location filename="../services/updatemanager.cpp" line="348"/> <source>Could not rename directory %1 to %2. Details: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="350"/> + <location filename="../services/updatemanager.cpp" line="352"/> <source>Cannot not rename directory %1 to %2. Details: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="358"/> + <location filename="../services/updatemanager.cpp" line="360"/> <source>Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="363"/> + <location filename="../services/updatemanager.cpp" line="365"/> <source>Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="442"/> + <location filename="../services/updatemanager.cpp" line="444"/> <source>Could not unpack component %1 into %2 directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="553"/> + <location filename="../services/updatemanager.cpp" line="555"/> <source>Could not find permissions elevator application to run update as a root. Looked for: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="560"/> + <location filename="../services/updatemanager.cpp" line="562"/> <source>Could not execute final updating steps as root: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> - <location filename="../services/updatemanager.cpp" line="598"/> - <location filename="../services/updatemanager.cpp" line="611"/> - <location filename="../services/updatemanager.cpp" line="621"/> + <location filename="../services/updatemanager.cpp" line="591"/> + <location filename="../services/updatemanager.cpp" line="600"/> + <location filename="../services/updatemanager.cpp" line="613"/> + <location filename="../services/updatemanager.cpp" line="623"/> <source>Could not execute final updating steps as admin: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="589"/> + <location filename="../services/updatemanager.cpp" line="591"/> <source>Cannot create temporary directory for updater.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="598"/> + <location filename="../services/updatemanager.cpp" line="600"/> <source>Cannot create updater script file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="631"/> + <location filename="../services/updatemanager.cpp" line="633"/> <source>Updating canceled.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="659"/> + <location filename="../services/updatemanager.cpp" line="661"/> <source>Could not execute final updating steps as administrator.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="671"/> + <location filename="../services/updatemanager.cpp" line="673"/> <source>Could not execute final updating steps as administrator. Updater startup timed out.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="677"/> + <location filename="../services/updatemanager.cpp" line="679"/> <source>Could not execute final updating steps as administrator. Updater operation timed out.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="694"/> + <location filename="../services/updatemanager.cpp" line="696"/> <source>Could not clean up temporary directory %1. You can delete it manually at any time.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="730"/> + <location filename="../services/updatemanager.cpp" line="732"/> <source>Could not run new version for continuing update.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="815"/> + <location filename="../services/updatemanager.cpp" line="817"/> <source>Package not in tar.gz format, cannot install: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="822"/> + <location filename="../services/updatemanager.cpp" line="824"/> <source>Package %1 cannot be installed, because cannot move it to directory: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="831"/> + <location filename="../services/updatemanager.cpp" line="833"/> <source>Package %1 cannot be installed, because cannot unpack it: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="850"/> + <location filename="../services/updatemanager.cpp" line="852"/> <source>Package not in zip format, cannot install: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="857"/> + <location filename="../services/updatemanager.cpp" line="859"/> <source>Package %1 cannot be installed, because cannot unzip it to directory %2: %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="871"/> + <location filename="../services/updatemanager.cpp" line="873"/> <source>Package %1 cannot be installed, because cannot unzip it to directory: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="921"/> - <location filename="../services/updatemanager.cpp" line="930"/> + <location filename="../services/updatemanager.cpp" line="923"/> + <location filename="../services/updatemanager.cpp" line="932"/> <source>Could not rename directory %1 to %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="943"/> + <location filename="../services/updatemanager.cpp" line="945"/> <source>Could not delete directory %1.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="959"/> + <location filename="../services/updatemanager.cpp" line="961"/> <source>Error executing update command: %1 Error message: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../services/updatemanager.cpp" line="1026"/> + <location filename="../services/updatemanager.cpp" line="1028"/> <source>An error occurred while downloading updates: %1. Updating aborted.</source> <translation type="unfinished"></translation> </message> |
