aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Unit 193 <unit193@ubuntu.com>2015-05-12 16:19:47 -0400
committerLibravatar Unit 193 <unit193@ubuntu.com>2015-05-12 16:19:47 -0400
commit6ce5ee411d1e6093b68b1b4eca5dc6c12b927a96 (patch)
tree1a98416041b39765c1c42ffbeab6da9fd40e181b
parent1fc9d1a4a1af320e39810cee21bed1201e2bddfd (diff)
parent9618f0ebbf4b88045247c01ce8c8f58203508ebf (diff)
downloadsqlitestudio-6ce5ee411d1e6093b68b1b4eca5dc6c12b927a96.tar.bz2
sqlitestudio-6ce5ee411d1e6093b68b1b4eca5dc6c12b927a96.tar.xz
sqlitestudio-6ce5ee411d1e6093b68b1b4eca5dc6c12b927a96.tar.zst
Merge tag 'upstream/3.0.6'
Upstream version 3.0.6 # gpg: Signature made Tue 12 May 2015 04:19:45 PM EDT using RSA key ID EBE9BD91 # gpg: Good signature from "Unit 193 <unit193@gmail.com>" # gpg: aka "Unit 193 <unit193@ninthfloor.org>" # gpg: aka "Unit 193 <unit193@ubuntu.com>" # gpg: aka "Unit 193 <unit193@ninthfloor.com>"
-rw-r--r--Plugins/CsvExport/CsvExport_sk.ts2
-rw-r--r--Plugins/CsvExport/csvexport.json2
-rw-r--r--Plugins/CsvImport/CsvImport_sk.ts2
-rw-r--r--Plugins/CsvImport/csvimport.json2
-rw-r--r--Plugins/DbSqlite2/dbsqlite2.json2
-rw-r--r--Plugins/DbSqlite2/dbsqlite2instance.cpp5
-rw-r--r--Plugins/DbSqlite2/dbsqlite2instance.h2
-rw-r--r--Plugins/HtmlExport/HtmlExport_sk.ts2
-rw-r--r--Plugins/JsonExport/JsonExport_sk.ts2
-rw-r--r--Plugins/PdfExport/PdfExport_sk.ts2
-rw-r--r--SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp9
-rw-r--r--SQLiteStudio3/Tests/TestUtils/dbmanagermock.cpp4
-rw-r--r--SQLiteStudio3/Tests/TestUtils/dbmanagermock.h1
-rw-r--r--SQLiteStudio3/UpdateSQLiteStudio/UpdateSQLiteStudio.pro2
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/ChangeLog.txt27
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/TODO.txt29
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/common/utils_sql.cpp2
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/csvformat.cpp5
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/csvformat.h3
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/csvserializer.cpp54
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/datatype.cpp4
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/db/abstractdb2.h3
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/db/abstractdb3.h4
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.cpp18
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.h2
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.cpp40
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.h4
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorexecute.cpp28
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorexecute.h3
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorreplaceviews.cpp7
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/db/stdsqlite3driver.h1
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/importworker.cpp2
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteexpr.cpp2
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterollback.cpp3
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/selectresolver.cpp42
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/selectresolver.h2
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp51
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h2
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/impl/dbmanagerimpl.cpp42
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp4
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/updatemanager.cpp14
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/updatemanager.h7
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/sqlitestudio.cpp8
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/sqlitestudio.h6
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/tablemodifier.cpp9
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.ts156
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.ts156
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.ts156
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.ts156
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.ts156
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.ts156
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qmbin3538 -> 4601 bytes
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.ts158
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_zh_CN.ts156
-rw-r--r--SQLiteStudio3/create_win32_portable.bat4
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp30
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h3
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.cpp8
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h1
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/configmapper.cpp12
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.cpp30
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.h1
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dataview.cpp47
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dataview.h6
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.cpp3
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.ui6
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp10
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp29
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.h2
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.ui523
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.cpp50
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.h32
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.ui67
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/dbdialog.cpp3
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/importdialog.cpp11
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/importdialog.h1
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/indexdialog.cpp3
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp4
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.h3
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/searchtextdialog.cpp9
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/searchtextdialog.h1
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/formview.cpp20
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/general.css15
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.pro18
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.qrc3
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/iconmanager.h2
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/icons.qrc2
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/img/dock_layout_horizontal.pngbin0 -> 399 bytes
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/img/dock_layout_vertical.pngbin0 -> 386 bytes
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp66
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/mainwindow.h14
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/mainwindow.ui15
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp18
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h2
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/sqleditor.cpp44
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/sqleditor.h4
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/statusfield.cpp3
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/statusfield.ui3
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/themetuner.cpp125
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/themetuner.h43
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.ts1050
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.ts1050
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.qmbin144539 -> 142714 bytes
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.ts1075
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.qmbin140919 -> 139196 bytes
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.ts1075
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.ts1050
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.qmbin143567 -> 148822 bytes
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.ts1067
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.qmbin80073 -> 95716 bytes
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.ts1241
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.qmbin33741 -> 33797 bytes
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.ts1054
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/uiconfig.h10
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/windows/collationseditor.ui57
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/windows/editorwindow.cpp8
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/windows/editorwindow.ui3
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/windows/functionseditor.ui82
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.cpp15
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.ui10
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/windows/viewwindow.cpp8
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/windows/viewwindow.ui4
-rw-r--r--SQLiteStudio3/sqlitestudio/main.cpp5
-rw-r--r--SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.ts28
-rw-r--r--SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.ts28
-rw-r--r--SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.ts28
-rw-r--r--SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.ts28
-rw-r--r--SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.ts28
-rw-r--r--SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.ts28
-rw-r--r--SQLiteStudio3/sqlitestudio/translations/sqlitestudio_zh_CN.ts28
-rw-r--r--SQLiteStudio3/sqlitestudiocli/main.cpp2
131 files changed, 6992 insertions, 5083 deletions
diff --git a/Plugins/CsvExport/CsvExport_sk.ts b/Plugins/CsvExport/CsvExport_sk.ts
index 54ab016..e283fc3 100644
--- a/Plugins/CsvExport/CsvExport_sk.ts
+++ b/Plugins/CsvExport/CsvExport_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>CsvExport</name>
<message>
diff --git a/Plugins/CsvExport/csvexport.json b/Plugins/CsvExport/csvexport.json
index face150..cbb0ea7 100644
--- a/Plugins/CsvExport/csvexport.json
+++ b/Plugins/CsvExport/csvexport.json
@@ -2,6 +2,6 @@
"type": "ExportPlugin",
"title": "CSV export",
"description": "Provides CSV format for exporting",
- "version": 10002,
+ "version": 10003,
"author": "SalSoft"
}
diff --git a/Plugins/CsvImport/CsvImport_sk.ts b/Plugins/CsvImport/CsvImport_sk.ts
index 5d915ac..3120bf9 100644
--- a/Plugins/CsvImport/CsvImport_sk.ts
+++ b/Plugins/CsvImport/CsvImport_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>CsvImport</name>
<message>
diff --git a/Plugins/CsvImport/csvimport.json b/Plugins/CsvImport/csvimport.json
index 64f8e18..05d8b5d 100644
--- a/Plugins/CsvImport/csvimport.json
+++ b/Plugins/CsvImport/csvimport.json
@@ -2,6 +2,6 @@
"type": "ImportPlugin",
"title": "CSV import",
"description": "CSV format support for importing data",
- "version": 10003,
+ "version": 10004,
"author": "SalSoft"
}
diff --git a/Plugins/DbSqlite2/dbsqlite2.json b/Plugins/DbSqlite2/dbsqlite2.json
index c1e1817..59a17e1 100644
--- a/Plugins/DbSqlite2/dbsqlite2.json
+++ b/Plugins/DbSqlite2/dbsqlite2.json
@@ -2,6 +2,6 @@
"type": "DbPlugin",
"title": "SQLite 2",
"description": "Provides support for SQLite 2.* databases",
- "version": 10003,
+ "version": 10005,
"author": "SalSoft"
}
diff --git a/Plugins/DbSqlite2/dbsqlite2instance.cpp b/Plugins/DbSqlite2/dbsqlite2instance.cpp
index 905f6fe..35f1f9f 100644
--- a/Plugins/DbSqlite2/dbsqlite2instance.cpp
+++ b/Plugins/DbSqlite2/dbsqlite2instance.cpp
@@ -5,3 +5,8 @@ DbSqlite2Instance::DbSqlite2Instance(const QString& name, const QString& path, c
{
}
+
+QString DbSqlite2Instance::getEncoding()
+{
+ return "UTF-8";
+}
diff --git a/Plugins/DbSqlite2/dbsqlite2instance.h b/Plugins/DbSqlite2/dbsqlite2instance.h
index 83c54d3..08ea368 100644
--- a/Plugins/DbSqlite2/dbsqlite2instance.h
+++ b/Plugins/DbSqlite2/dbsqlite2instance.h
@@ -22,6 +22,8 @@ class DbSqlite2Instance : public AbstractDb2<Sqlite2>
* All values from this constructor are just passed to AbstractDb2 constructor.
*/
DbSqlite2Instance(const QString& name, const QString& path, const QHash<QString, QVariant>& connOptions);
+
+ QString getEncoding();
};
#endif // DBSQLITE2INSTANCE_H
diff --git a/Plugins/HtmlExport/HtmlExport_sk.ts b/Plugins/HtmlExport/HtmlExport_sk.ts
index 55dedbe..edcf4cc 100644
--- a/Plugins/HtmlExport/HtmlExport_sk.ts
+++ b/Plugins/HtmlExport/HtmlExport_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>HtmlExport</name>
<message>
diff --git a/Plugins/JsonExport/JsonExport_sk.ts b/Plugins/JsonExport/JsonExport_sk.ts
index caade25..9049c29 100644
--- a/Plugins/JsonExport/JsonExport_sk.ts
+++ b/Plugins/JsonExport/JsonExport_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>JsonExportConfig</name>
<message>
diff --git a/Plugins/PdfExport/PdfExport_sk.ts b/Plugins/PdfExport/PdfExport_sk.ts
index 9a8f3e2..6684b8b 100644
--- a/Plugins/PdfExport/PdfExport_sk.ts
+++ b/Plugins/PdfExport/PdfExport_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>PdfExport</name>
<message>
diff --git a/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp b/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
index be0204c..bd55d53 100644
--- a/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
+++ b/SQLiteStudio3/Tests/DsvFormatsTest/tst_dsvformatstesttest.cpp
@@ -26,6 +26,7 @@ class DsvFormatsTestTest : public QObject
void cleanupTestCase();
void testTsv1();
void testTsv2();
+ void testCsv1();
};
DsvFormatsTestTest::DsvFormatsTestTest()
@@ -96,6 +97,14 @@ void DsvFormatsTestTest::testTsv2()
QVERIFY2(result == sampleDeserializedData, QString("Sample: %1\nGot: %2").arg(toString(sampleDeserializedData), toString(result)).toLocal8Bit().data());
}
+void DsvFormatsTestTest::testCsv1()
+{
+ QList<QStringList> result = CsvSerializer::deserialize(QString("a,\"\""), CsvFormat::DEFAULT);
+
+ QVERIFY(result.size() == 1);
+ QVERIFY(result.first().size() == 2);
+}
+
QTEST_APPLESS_MAIN(DsvFormatsTestTest)
#include "tst_dsvformatstesttest.moc"
diff --git a/SQLiteStudio3/Tests/TestUtils/dbmanagermock.cpp b/SQLiteStudio3/Tests/TestUtils/dbmanagermock.cpp
index 1bc5f7d..7d286c4 100644
--- a/SQLiteStudio3/Tests/TestUtils/dbmanagermock.cpp
+++ b/SQLiteStudio3/Tests/TestUtils/dbmanagermock.cpp
@@ -79,3 +79,7 @@ void DbManagerMock::notifyDatabasesAreLoaded()
void DbManagerMock::scanForNewDatabasesInConfig()
{
}
+
+void DbManagerMock::rescanInvalidDatabasesForPlugin(DbPlugin*)
+{
+}
diff --git a/SQLiteStudio3/Tests/TestUtils/dbmanagermock.h b/SQLiteStudio3/Tests/TestUtils/dbmanagermock.h
index 2f28487..045991e 100644
--- a/SQLiteStudio3/Tests/TestUtils/dbmanagermock.h
+++ b/SQLiteStudio3/Tests/TestUtils/dbmanagermock.h
@@ -25,6 +25,7 @@ class DbManagerMock : public DbManager
public slots:
void notifyDatabasesAreLoaded();
void scanForNewDatabasesInConfig();
+ void rescanInvalidDatabasesForPlugin(DbPlugin*);
};
#endif // DBMANAGERMOCK_H
diff --git a/SQLiteStudio3/UpdateSQLiteStudio/UpdateSQLiteStudio.pro b/SQLiteStudio3/UpdateSQLiteStudio/UpdateSQLiteStudio.pro
index 93a7a59..81819af 100644
--- a/SQLiteStudio3/UpdateSQLiteStudio/UpdateSQLiteStudio.pro
+++ b/SQLiteStudio3/UpdateSQLiteStudio/UpdateSQLiteStudio.pro
@@ -21,6 +21,8 @@ LIBS += -lcoreSQLiteStudio
TEMPLATE = app
+DEFINES += PORTABLE_CONFIG
+
linux|portable {
QMAKE_LFLAGS += -Wl,-rpath,./lib
}
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&apos;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 &apos;%1&apos; 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 &apos;%1&apos; 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&apos;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 &apos;%1&apos; 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 &lt;a href=&quot;%1&quot;&gt;User Manual&lt;/a&gt; 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 &apos;%1&apos; 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&apos;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 &apos;%1&apos; 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 &apos;%1&apos; 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&apos;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 &apos;%1&apos; 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 &lt;a href=&quot;%1&quot;&gt;User Manual&lt;/a&gt; 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 &apos;%1&apos; 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&apos;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&apos;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&apos;t exist.</source>
<translation>Le fichier de la base de données n&apos;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&apos;enregistrer la transaction d&apos;import de données: %1</translation>
</message>
<message>
- <location filename="../importworker.cpp" line="93"/>
+ <location filename="../importworker.cpp" line="94"/>
<source>Table &apos;%1&apos; 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 &apos;%1&apos; 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&apos;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&apos;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&apos;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&apos;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&apos;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 &apos;%1&apos; populated successfully.</source>
<translation>Table &apos;%1&apos; 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&apos;initialiser la transaction pour remplir la table.Détails de l&apos;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&apos;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&apos;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&apos;initialiser le fichier de configuration. Aucune modification et les requêtes seront perdues après redémarrage. Essayez d&apos;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&apos;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 &lt;a href=&quot;%1&quot;&gt;User Manual&lt;/a&gt; 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 &lt;a href=&quot;%1&quot;&gt;User Manual&lt;/a&gt; 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&apos;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 &apos;%1&apos; for writting: %2. Updating aborted.</source>
<translation>Erreur à l&apos;ouverture du fichier %1 pour l&apos;é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&apos;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&apos;où l&apos;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&apos;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&apos;é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&apos;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&apos;administrateur. Délai d&apos;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&apos;administrateur. Délai d&apos;attente d&apos;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&apos;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&apos;exécution de la commande de mise à jour: %1
Message d&apos;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&apos;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 &apos;%1&apos; has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source>
<translation>Tabela &apos;%1&apos; 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 &apos;%1&apos; 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 &apos;%1&apos; 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&apos;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 &apos;%1&apos; populated successfully.</source>
<translation>Zaludnianie tabeli &apos;%1&apos; 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 &lt;a href=&quot;%1&quot;&gt;User Manual&lt;/a&gt; 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: &lt;a href=&quot;%1&quot;&gt;Podręcznik użytkownika&lt;/a&gt;.</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 &apos;%1&apos; for writting: %2. Updating aborted.</source>
<translation>Nie udało się otworzyć pliku &apos;%1&apos; 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&apos;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 &apos;%1&apos; 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 &apos;%1&apos; 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&apos;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 &apos;%1&apos; 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 &lt;a href=&quot;%1&quot;&gt;User Manual&lt;/a&gt; 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 &apos;%1&apos; 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&apos;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&apos;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 &apos;%1&apos; has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source>
<translation>В таблице &apos;%1&apos; столбцов меньше, чем в импортируемых данных. Лишние столбцы будут проигнорированы.</translation>
</message>
<message>
- <location filename="../importworker.cpp" line="98"/>
+ <location filename="../importworker.cpp" line="99"/>
<source>Table &apos;%1&apos; has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source>
<translation>В таблице &apos;%1&apos; столбцов больше, чем в импортируемых данных. Недостающие столбцы будут оставлены пустыми.</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&apos;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 &apos;%1&apos; populated successfully.</source>
<translation>Таблица &apos;%1&apos; успешно заполнена.</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 &lt;a href=&quot;%1&quot;&gt;User Manual&lt;/a&gt; for details.</source>
<translation>Невозможно загрузить обновления, так как ответ сервера имеет некорректный формат. Вы можете попробовать снова позже или скачать и установить обновления вручную. Подробности смотрите в &lt;a href=&quot;%1&quot;&gt;Руководстве пользователя&lt;/a&gt;.</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 &apos;%1&apos; 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
index e857185..6dae38a 100644
--- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qm
+++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qm
Binary files differ
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&apos;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 &apos;%1&apos; 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 &apos;%1&apos; 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&apos;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 &apos;%1&apos; 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 &lt;a href=&quot;%1&quot;&gt;User Manual&lt;/a&gt; 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 &apos;%1&apos; 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&apos;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 &apos;%1&apos; 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 &apos;%1&apos; 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&apos;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 &apos;%1&apos; 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 &lt;a href=&quot;%1&quot;&gt;User Manual&lt;/a&gt; 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 &apos;%1&apos; 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/create_win32_portable.bat b/SQLiteStudio3/create_win32_portable.bat
index 5602947..c688dc0 100644
--- a/SQLiteStudio3/create_win32_portable.bat
+++ b/SQLiteStudio3/create_win32_portable.bat
@@ -1,6 +1,6 @@
@echo off
-set QT_DIR=c:\Qt\5.3\mingw482_32\bin
+set QT_DIR=c:\Qt\5.4\mingw491_32\bin
set ZIP="c:\Program Files (x86)\7-Zip\7z.exe"
set QMAKE=%QT_DIR%\qmake.exe
@@ -44,7 +44,7 @@ cd plugins
del /q *.a
rem Copy Qt files
cd %QT_DIR%
-set QT_LIB_LIST=Qt5Core Qt5Gui Qt5Network Qt5PrintSupport Qt5Script Qt5Svg Qt5Widgets Qt5Xml icudt52 icuin52 icuuc52 libgcc_s_dw2-1 libstdc++-6 libwinpthread-1
+set QT_LIB_LIST=Qt5Core Qt5Gui Qt5Network Qt5PrintSupport Qt5Script Qt5Svg Qt5Widgets Qt5Xml icudt53 icuin53 icuuc53 libgcc_s_dw2-1 libstdc++-6 libwinpthread-1
for %%i in (%QT_LIB_LIST%) do (
copy "%%i.dll" %PORTABLE% > nul
)
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp
index 9d983a8..8aaeefd 100644
--- a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp
@@ -96,19 +96,16 @@ void ExtActionContainer::attachActionInMenu(int parentAction, QAction* childActi
void ExtActionContainer::attachActionInMenu(QAction* parentAction, QAction* childAction, QToolBar* toolbar)
{
- QToolButton* button = dynamic_cast<QToolButton*>(toolbar->widgetForAction(parentAction));
- QMenu* menu = button->menu();
-
- if (!menu)
- {
- menu = new QMenu(button);
- button->setMenu(menu);
- button->setPopupMode(QToolButton::MenuButtonPopup);
- }
-
+ QMenu* menu = getMenuForAction(parentAction, toolbar);
menu->addAction(childAction);
}
+void ExtActionContainer::addSeparatorInMenu(QAction *parentAction, QToolBar* toolbar)
+{
+ QMenu* menu = getMenuForAction(parentAction, toolbar);
+ menu->addSeparator();
+}
+
void ExtActionContainer::updateShortcutTips()
{
}
@@ -262,6 +259,19 @@ void ExtActionContainer::handleExtraActions()
}
}
+QMenu *ExtActionContainer::getMenuForAction(QAction *parentAction, QToolBar* toolbar)
+{
+ QToolButton* button = dynamic_cast<QToolButton*>(toolbar->widgetForAction(parentAction));
+ QMenu* menu = button->menu();
+ if (!menu)
+ {
+ menu = new QMenu(button);
+ button->setMenu(menu);
+ button->setPopupMode(QToolButton::MenuButtonPopup);
+ }
+ return menu;
+}
+
ExtActionContainer::ActionDetails::ActionDetails()
{
}
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h
index b9dadb9..0c860f7 100644
--- a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h
+++ b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h
@@ -17,6 +17,7 @@ class QWidget;
class QActionGroup;
class QToolBar;
class QSignalMapper;
+class QMenu;
#define CFG_SHORTCUTS_METANAME "Shortcuts"
@@ -134,6 +135,7 @@ class GUI_API_EXPORT ExtActionContainer
void attachActionInMenu(int parentAction, int childAction, QToolBar* toolbar);
void attachActionInMenu(int parentAction, QAction* childAction, QToolBar* toolbar);
void attachActionInMenu(QAction* parentAction, QAction* childAction, QToolBar* toolbar);
+ void addSeparatorInMenu(QAction* parentAction, QToolBar *toolbar);
void updateShortcutTips();
/**
@@ -166,6 +168,7 @@ class GUI_API_EXPORT ExtActionContainer
void deleteActions();
void createAction(int action, QAction* qAction, const QObject* receiver, const char* slot, QWidget* container, QWidget* owner);
void handleExtraActions();
+ QMenu* getMenuForAction(QAction* parentAction, QToolBar *toolbar);
template <class T>
static QList<T*> getInstances();
diff --git a/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.cpp b/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.cpp
index 544adca..87ad64c 100644
--- a/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.cpp
@@ -227,3 +227,11 @@ void CompleterWindow::currentRowChanged(const QModelIndex& current, const QModel
UNUSED(previous);
ui->status->showMessage(getStatusMsg(current));
}
+
+void CompleterWindow::showEvent(QShowEvent*e)
+{
+ QDialog::showEvent(e);
+
+ // A hack for Gnome3 to give this widget a focus. Harmless for others.
+ ui->list->activateWindow();
+}
diff --git a/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h b/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h
index 7c933c8..ec7256c 100644
--- a/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h
+++ b/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h
@@ -35,6 +35,7 @@ class GUI_API_EXPORT CompleterWindow : public QDialog
protected:
void changeEvent(QEvent *e);
void keyPressEvent(QKeyEvent* e);
+ void showEvent(QShowEvent* e);
private:
void updateCurrent();
diff --git a/SQLiteStudio3/guiSQLiteStudio/configmapper.cpp b/SQLiteStudio3/guiSQLiteStudio/configmapper.cpp
index 255b5cd..da1ff44 100644
--- a/SQLiteStudio3/guiSQLiteStudio/configmapper.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/configmapper.cpp
@@ -72,6 +72,16 @@
if (qobject_cast<WidgetType*>(Widget) && qobject_cast<WidgetType*>(Widget)->ExtraConditionMethod())\
return qobject_cast<WidgetType*>(Widget)->Method();
+#define GET_CFG_VALUE_COND_OK(Widget, Key, WidgetType, Method, ExtraConditionMethod, Ok, DefaultValue) \
+ if (qobject_cast<WidgetType*>(Widget))\
+ {\
+ if (qobject_cast<WidgetType*>(Widget)->ExtraConditionMethod())\
+ return qobject_cast<WidgetType*>(Widget)->Method();\
+ \
+ Ok = false;\
+ return DefaultValue;\
+ }
+
ConfigMapper::ConfigMapper(CfgMain* cfgMain)
{
this->cfgMainList << cfgMain;
@@ -168,7 +178,7 @@ QVariant ConfigMapper::getCommonConfigValueFromWidget(QWidget* widget, CfgEntry*
GET_CFG_VALUE(widget, key, FileEdit, getFile);
GET_CFG_VALUE(widget, key, QKeySequenceEdit, keySequence().toString);
GET_CFG_VALUE(widget, key, ColorButton, getColor);
- GET_CFG_VALUE_COND(widget, key, ConfigRadioButton, getAssignedValue, isChecked);
+ GET_CFG_VALUE_COND_OK(widget, key, ConfigRadioButton, getAssignedValue, isChecked, ok, QVariant());
GET_CFG_VALUE_COND(widget, key, QGroupBox, isChecked, isCheckable);
if (key->get().type() == QVariant::Int)
{
diff --git a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.cpp b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.cpp
index ac97283..bb3a711 100644
--- a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.cpp
@@ -1420,14 +1420,28 @@ void SqlQueryModel::recalculateRowsAndPages(int rowsDelta)
reload();
}
-void SqlQueryModel::addNewRow()
+int SqlQueryModel::getInsertRowIndex()
{
+ Cfg::InsertRowPlacement placement = static_cast<Cfg::InsertRowPlacement>(CFG_UI.General.InsertRowPlacement.get());
+
int row = rowCount();
+ if (placement == Cfg::AT_THE_END)
+ return row;
+
SqlQueryItem* currentItem = view->getCurrentItem();
- if (currentItem)
- row = currentItem->index().row();
+ if (!currentItem)
+ return row;
- addNewRowInternal(row);
+ row = currentItem->index().row();
+ if (placement == Cfg::AFTER_CURRENT)
+ row++;
+
+ return row;
+}
+
+void SqlQueryModel::addNewRow()
+{
+ addNewRowInternal(getInsertRowIndex());
emit commitStatusChanged(true);
}
@@ -1439,13 +1453,9 @@ void SqlQueryModel::addMultipleRows()
if (!ok)
return;
- int row = rowCount();
- SqlQueryItem* currentItem = view->getCurrentItem();
- if (currentItem)
- row = currentItem->index().row();
-
+ int row = getInsertRowIndex();
for (int i = 0; i < rows; i++)
- addNewRowInternal(row);
+ addNewRowInternal(row++);
emit commitStatusChanged(true);
}
diff --git a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.h b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.h
index 062af95..a4e7898 100644
--- a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.h
+++ b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.h
@@ -259,6 +259,7 @@ class GUI_API_EXPORT SqlQueryModel : public QStandardItemModel
void detachDatabases();
QString getDatabaseForCommit(const QString& database);
void recalculateRowsAndPages(int rowsDelta);
+ int getInsertRowIndex();
QString query;
bool explain = false;
diff --git a/SQLiteStudio3/guiSQLiteStudio/dataview.cpp b/SQLiteStudio3/guiSQLiteStudio/dataview.cpp
index 32efae4..f2aba69 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dataview.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dataview.cpp
@@ -9,6 +9,7 @@
#include "common/intvalidator.h"
#include "common/extaction.h"
#include "iconmanager.h"
+#include "themetuner.h"
#include "uiconfig.h"
#include "datagrid/sqlqueryitem.h"
#include "common/widgetcover.h"
@@ -117,6 +118,11 @@ void DataView::createContents()
gridWidget->layout()->addWidget(gridToolBar);
formWidget->layout()->addWidget(formToolBar);
+ THEME_TUNER->manageCompactLayout({
+ gridWidget,
+ formWidget
+ });
+
#ifdef Q_OS_MACX
QStyle *fusion = QStyleFactory::create("Fusion");
gridToolBar->setStyle(fusion);
@@ -162,6 +168,9 @@ void DataView::createActions()
{
gridToolBar->addAction(gridView->getAction(SqlQueryView::INSERT_ROW));
attachActionInMenu(gridView->getAction(SqlQueryView::INSERT_ROW), gridView->getAction(SqlQueryView::INSERT_MULTIPLE_ROWS), gridToolBar);
+ addSeparatorInMenu(gridView->getAction(SqlQueryView::INSERT_ROW), gridToolBar);
+ for (Action act : {INSERT_ROW_BEFORE, INSERT_ROW_AFTER, INSERT_ROW_AT_END})
+ attachActionInMenu(gridView->getAction(SqlQueryView::INSERT_ROW), staticActions[act], gridToolBar);
}
if (rowDeleting)
@@ -324,6 +333,44 @@ void DataView::createStaticActions()
else
staticActions[TABS_AT_BOTTOM]->setChecked(true);
+ // Insert row positioning
+ staticActions[INSERT_ROW_BEFORE] = new ExtAction(tr("Place new rows above selected row", "data view"), MainWindow::getInstance());
+ staticActions[INSERT_ROW_AFTER] = new ExtAction(tr("Place new rows below selected row", "data view"), MainWindow::getInstance());
+ staticActions[INSERT_ROW_AT_END] = new ExtAction(tr("Place new rows at the end of the data view", "data view"), MainWindow::getInstance());
+
+ staticActionGroups[ActionGroup::INSERT_ROW_POSITIONING] = new QActionGroup(MainWindow::getInstance());
+ staticActionGroups[ActionGroup::INSERT_ROW_POSITIONING]->addAction(staticActions[INSERT_ROW_BEFORE]);
+ staticActionGroups[ActionGroup::INSERT_ROW_POSITIONING]->addAction(staticActions[INSERT_ROW_AFTER]);
+ staticActionGroups[ActionGroup::INSERT_ROW_POSITIONING]->addAction(staticActions[INSERT_ROW_AT_END]);
+
+ connect(staticActions[INSERT_ROW_BEFORE], &QAction::triggered, [=]()
+ {
+ CFG_UI.General.InsertRowPlacement.set(Cfg::BEFORE_CURRENT);
+ });
+ connect(staticActions[INSERT_ROW_AFTER], &QAction::triggered, [=]()
+ {
+ CFG_UI.General.InsertRowPlacement.set(Cfg::AFTER_CURRENT);
+ });
+ connect(staticActions[INSERT_ROW_AT_END], &QAction::triggered, [=]()
+ {
+ CFG_UI.General.InsertRowPlacement.set(Cfg::AT_THE_END);
+ });
+
+ staticActions[INSERT_ROW_BEFORE]->setCheckable(true);
+ staticActions[INSERT_ROW_AFTER]->setCheckable(true);
+ staticActions[INSERT_ROW_AT_END]->setCheckable(true);
+ switch (static_cast<Cfg::InsertRowPlacement>(CFG_UI.General.InsertRowPlacement.get()))
+ {
+ case Cfg::BEFORE_CURRENT:
+ staticActions[INSERT_ROW_BEFORE]->setChecked(true);
+ break;
+ case Cfg::AFTER_CURRENT:
+ staticActions[INSERT_ROW_AFTER]->setChecked(true);
+ break;
+ case Cfg::AT_THE_END:
+ staticActions[INSERT_ROW_AT_END]->setChecked(true);
+ break;
+ }
}
void DataView::loadTabsMode()
diff --git a/SQLiteStudio3/guiSQLiteStudio/dataview.h b/SQLiteStudio3/guiSQLiteStudio/dataview.h
index 64bbb07..ce1b982 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dataview.h
+++ b/SQLiteStudio3/guiSQLiteStudio/dataview.h
@@ -48,6 +48,9 @@ class GUI_API_EXPORT DataView : public QTabWidget, public ExtActionContainer
GRID_TOTAL_ROWS,
SELECTIVE_COMMIT,
SELECTIVE_ROLLBACK,
+ INSERT_ROW_BEFORE,
+ INSERT_ROW_AFTER,
+ INSERT_ROW_AT_END,
// Form view
FORM_TOTAL_ROWS,
FORM_CURRENT_ROW
@@ -56,7 +59,8 @@ class GUI_API_EXPORT DataView : public QTabWidget, public ExtActionContainer
enum class ActionGroup
{
FILTER_MODE,
- TABS_POSITION
+ TABS_POSITION,
+ INSERT_ROW_POSITIONING
};
enum ToolBar
diff --git a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.cpp b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.cpp
index 1aeff0f..62d7368 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.cpp
@@ -34,6 +34,7 @@
#include <QDebug>
#include <QKeyEvent>
#include <QMimeData>
+#include <themetuner.h>
#include <dialogs/dbconverterdialog.h>
CFG_KEYS_DEFINE(DbTree)
@@ -63,6 +64,8 @@ void DbTree::init()
ui->setupUi(this);
initDndTypes();
+ THEME_TUNER->manageCompactLayout(widget());
+
ui->nameFilter->setClearButtonEnabled(true);
widgetCover = new WidgetCover(this);
diff --git a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.ui b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.ui
index 755c9b0..687415d 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.ui
+++ b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.ui
@@ -24,6 +24,12 @@
</property>
<widget class="QWidget" name="dockWidgetContents">
<layout class="QGridLayout" name="gridLayout">
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="verticalSpacing">
+ <number>0</number>
+ </property>
<item row="1" column="0">
<widget class="DbTreeView" name="treeView">
<property name="sizePolicy">
diff --git a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp
index 78f0db8..c0f527f 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp
@@ -534,7 +534,7 @@ QList<QStandardItem *> DbTreeModel::refreshSchemaTables(const QStringList &table
{
QStringList sortedTables = tables;
if (sort)
- qSort(sortedTables);
+ sortedTables.sort(Qt::CaseInsensitive);
QList<QStandardItem *> items;
foreach (const QString& table, sortedTables)
@@ -573,7 +573,7 @@ StrHash<QList<QStandardItem *> > DbTreeModel::refreshSchemaIndexes(const StrHash
{
sortedIndexes = indexes[key];
if (sort)
- qSort(sortedIndexes);
+ sortedIndexes.sort(Qt::CaseInsensitive);
for (const QString& index : sortedIndexes)
items[key] += DbTreeItemFactory::createIndex(index, this);
@@ -589,7 +589,7 @@ StrHash<QList<QStandardItem*>> DbTreeModel::refreshSchemaTriggers(const StrHash<
{
sortedTriggers = triggers[key];
if (sort)
- qSort(sortedTriggers);
+ sortedTriggers.sort(Qt::CaseInsensitive);
for (const QString& trigger : sortedTriggers)
items[key] += DbTreeItemFactory::createTrigger(trigger, this);
@@ -601,10 +601,10 @@ QList<QStandardItem *> DbTreeModel::refreshSchemaViews(const QStringList &views,
{
QStringList sortedViews = views;
if (sort)
- qSort(sortedViews);
+ sortedViews.sort(Qt::CaseInsensitive);
QList<QStandardItem *> items;
- foreach (const QString& view, views)
+ foreach (const QString& view, sortedViews)
items += DbTreeItemFactory::createView(view, this);
return items;
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp
index 1ff053f..627e2c1 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp
@@ -38,6 +38,7 @@
#include <QtUiTools/QUiLoader>
#include <QKeySequenceEdit>
#include <plugins/uiconfiguredplugin.h>
+#include <dbtree/dbtree.h>
#define GET_FILTER_STRING(Widget, WidgetType, Method) \
if (qobject_cast<WidgetType*>(Widget))\
@@ -195,13 +196,24 @@ void ConfigDialog::init()
connect(ui->buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply()));
connect(ui->hideBuiltInPluginsCheck, SIGNAL(toggled(bool)), this, SLOT(updateBuiltInPluginsVisibility()));
+ QList<CfgEntry*> entries;
+ entries << CFG_UI.General.SortObjects
+ << CFG_UI.General.SortColumns
+ << CFG_UI.General.ShowDbTreeLabels
+ << CFG_UI.General.ShowRegularTableLabels
+ << CFG_UI.General.ShowSystemObjects
+ << CFG_UI.General.ShowVirtualTableLabels;
+
+ for (CfgEntry* cfg : entries)
+ connect(cfg, &CfgEntry::changed, this, &ConfigDialog::markRequiresSchemasRefresh);
+
ui->activeStyleCombo->addItems(QStyleFactory::keys());
connect(ui->stackedWidget, SIGNAL(currentChanged(int)), this, SLOT(pageSwitched()));
ui->hideBuiltInPluginsCheck->setChecked(true);
-#ifdef NO_AUTO_UPDATES
+#ifndef PORTABLE_CONFIG
ui->updatesGroup->setVisible(false);
#endif
@@ -219,7 +231,8 @@ void ConfigDialog::load()
void ConfigDialog::save()
{
- MainWindow::getInstance()->setStyle(ui->activeStyleCombo->currentText());
+ if (MainWindow::getInstance()->currentStyle().compare(ui->activeStyleCombo->currentText(), Qt::CaseInsensitive) != 0)
+ MainWindow::getInstance()->setStyle(ui->activeStyleCombo->currentText());
QString loadedPlugins = collectLoadedPlugins();
storeSelectedFormatters();
@@ -228,6 +241,13 @@ void ConfigDialog::save()
configMapper->saveFromWidget(ui->stackedWidget, true);
commitPluginConfigs();
CFG->commitMassSave();
+
+ if (requiresSchemasRefresh)
+ {
+ requiresSchemasRefresh = false;
+ DBTREE->refreshSchemas();
+ }
+ MainWindow::getInstance()->updateCornerDocking();
}
void ConfigDialog::storeSelectedFormatters()
@@ -927,6 +947,11 @@ void ConfigDialog::applyShortcutsFilter(const QString &filter)
}
}
+void ConfigDialog::markRequiresSchemasRefresh()
+{
+ requiresSchemasRefresh = true;
+}
+
void ConfigDialog::updatePluginCategoriesVisibility(QTreeWidgetItem* categoryItem)
{
categoryItem->setHidden(categoryItem->childCount() == 0);
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.h b/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.h
index 5661c1a..ae2f3a7 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.h
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.h
@@ -100,6 +100,7 @@ class GUI_API_EXPORT ConfigDialog : public QDialog
bool updatingDataEditorItem = false;
bool modifiedFlag = false;
QList<ConfigNotifiablePlugin*> notifiablePlugins;
+ bool requiresSchemasRefresh = false;
private slots:
void refreshFormattersPage();
@@ -134,6 +135,7 @@ class GUI_API_EXPORT ConfigDialog : public QDialog
void updatePluginCategoriesVisibility();
void updateBuiltInPluginsVisibility();
void applyShortcutsFilter(const QString& filter);
+ void markRequiresSchemasRefresh();
public slots:
void accept();
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.ui b/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.ui
index 966ebca..1c5515d 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.ui
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.ui
@@ -227,7 +227,7 @@
</sizepolicy>
</property>
<property name="currentIndex">
- <number>6</number>
+ <number>0</number>
</property>
<widget class="QWidget" name="dataBrowsingPage">
<layout class="QVBoxLayout" name="verticalLayout_21">
@@ -296,6 +296,57 @@
</widget>
</item>
<item>
+ <widget class="QGroupBox" name="insertRowPlacementGroup">
+ <property name="title">
+ <string>Inserting new row in data grid</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_33">
+ <item>
+ <widget class="ConfigRadioButton" name="insertRowBeforeRadio">
+ <property name="text">
+ <string>Before currently selected row</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="assignedValue" stdset="0">
+ <number>0</number>
+ </property>
+ <property name="cfg" stdset="0">
+ <string>General.InsertRowPlacement</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="ConfigRadioButton" name="insertRowAfterRadio">
+ <property name="text">
+ <string>After currently selected row</string>
+ </property>
+ <property name="assignedValue" stdset="0">
+ <number>1</number>
+ </property>
+ <property name="cfg" stdset="0">
+ <string>General.InsertRowPlacement</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="ConfigRadioButton" name="insertRowAtEndRadio">
+ <property name="text">
+ <string>At the end of data view</string>
+ </property>
+ <property name="assignedValue" stdset="0">
+ <number>2</number>
+ </property>
+ <property name="cfg" stdset="0">
+ <string>General.InsertRowPlacement</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -594,7 +645,7 @@
<bool>false</bool>
</property>
<property name="selectionMode">
- <enum>QAbstractItemView::SingleSelection</enum>
+ <enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="indentation">
<number>0</number>
@@ -651,197 +702,274 @@
<number>0</number>
</property>
<item>
- <widget class="QGroupBox" name="langGroup">
- <property name="title">
- <string>Language</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_30">
- <item>
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Changing language requires application restart to take effect.</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="langCombo">
- <property name="cfg" stdset="0">
- <string notr="true">General.Language</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="dbListGroup">
- <property name="title">
- <string>Database list</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="4" column="0">
- <widget class="QCheckBox" name="sortColumns">
- <property name="toolTip">
- <string>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</string>
- </property>
- <property name="text">
- <string>Sort table columns alphabetically</string>
- </property>
- <property name="cfg" stdset="0">
- <string notr="true">General.SortColumns</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QCheckBox" name="expandTablesCheck">
- <property name="text">
- <string>Expand tables node when connected to a database</string>
- </property>
- <property name="cfg" stdset="0">
- <string notr="true">General.ExpandTables</string>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QGroupBox" name="addLabelsGroup">
- <property name="toolTip">
- <string>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</string>
- </property>
- <property name="title">
- <string>Display additional labels on the list</string>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="checked">
- <bool>false</bool>
- </property>
- <property name="cfg" stdset="0">
- <string notr="true">General.ShowDbTreeLabels</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_20">
- <item>
- <widget class="QCheckBox" name="regularTableLabelsCheck">
- <property name="toolTip">
- <string>For regular tables labels will show number of columns, indexes and triggers for each of tables.</string>
- </property>
- <property name="text">
- <string>Display labels for regular tables</string>
- </property>
- <property name="cfg" stdset="0">
- <string notr="true">General.ShowRegularTableLabels</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="virtTableLabelsCheck">
- <property name="toolTip">
- <string>Virtual tables will be marked with a 'virtual' label.</string>
- </property>
- <property name="text">
- <string>Display labels for virtual tables</string>
- </property>
- <property name="cfg" stdset="0">
- <string notr="true">General.ShowVirtualTableLabels</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QCheckBox" name="expandViewsCheck">
- <property name="text">
- <string>Expand views node when connected to a database</string>
- </property>
- <property name="cfg" stdset="0">
- <string notr="true">General.ExpandViews</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QCheckBox" name="sortObjects">
- <property name="toolTip">
- <string>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</string>
- </property>
- <property name="text">
- <string>Sort objects (tables, indexes, triggers and views) alphabetically</string>
- </property>
- <property name="cfg" stdset="0">
- <string notr="true">General.SortObjects</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QCheckBox" name="dispSysTableCheck">
- <property name="text">
- <string>Display system tables and indexes on the list</string>
- </property>
- <property name="cfg" stdset="0">
- <string notr="true">General.ShowSystemObjects</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="tableWinGroup">
- <property name="title">
- <string>Table windows</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_18">
- <item>
- <widget class="QCheckBox" name="openTablesOnDataCheck">
- <property name="toolTip">
- <string>When enabled, Table Windows will show up with the data tab, instead of the structure tab.</string>
- </property>
- <property name="text">
- <string>Open Table Windows with the data tab for start</string>
- </property>
- <property name="cfg" stdset="0">
- <string notr="true">General.OpenTablesOnData</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="viewWinGroup">
- <property name="title">
- <string>View windows</string>
+ <widget class="QScrollArea" name="lookAndFeelScroll">
+ <property name="widgetResizable">
+ <bool>true</bool>
</property>
- <layout class="QVBoxLayout" name="verticalLayout_19">
- <item>
- <widget class="QCheckBox" name="openViewsOnDataCheck">
- <property name="toolTip">
- <string>When enabled, View Windows will show up with the data tab, instead of the structure tab.</string>
- </property>
- <property name="text">
- <string>Open View Windows with the data tab for start</string>
- </property>
- <property name="cfg" stdset="0">
- <string notr="true">General.OpenViewsOnData</string>
- </property>
- </widget>
- </item>
- </layout>
+ <widget class="QWidget" name="lookAndFeelScrollWidget">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>456</width>
+ <height>608</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_31">
+ <item>
+ <widget class="QGroupBox" name="langGroup">
+ <property name="title">
+ <string>Language</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_30">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Changing language requires application restart to take effect.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="langCombo">
+ <property name="cfg" stdset="0">
+ <string notr="true">General.Language</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="compactLayoutGroup">
+ <property name="title">
+ <string>Compact layout</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_32">
+ <item>
+ <widget class="QCheckBox" name="compactLayoutCheck">
+ <property name="toolTip">
+ <string>&lt;p&gt;Compact layout reduces all margins and spacing on the UI to minimum, making space for displaying more data. It makes the interface a little bit less aesthetic, but allows to display more data at once.&lt;/p&gt;</string>
+ </property>
+ <property name="text">
+ <string>Use compact layout</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="cfg" stdset="0">
+ <string>General.CompactLayout</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="dbListGroup">
+ <property name="title">
+ <string>Database list</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="4" column="0">
+ <widget class="QCheckBox" name="sortColumns">
+ <property name="toolTip">
+ <string>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</string>
+ </property>
+ <property name="text">
+ <string>Sort table columns alphabetically</string>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.SortColumns</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="expandTablesCheck">
+ <property name="text">
+ <string>Expand tables node when connected to a database</string>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.ExpandTables</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QGroupBox" name="addLabelsGroup">
+ <property name="toolTip">
+ <string>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</string>
+ </property>
+ <property name="title">
+ <string>Display additional labels on the list</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.ShowDbTreeLabels</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_20">
+ <item>
+ <widget class="QCheckBox" name="regularTableLabelsCheck">
+ <property name="toolTip">
+ <string>For regular tables labels will show number of columns, indexes and triggers for each of tables.</string>
+ </property>
+ <property name="text">
+ <string>Display labels for regular tables</string>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.ShowRegularTableLabels</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="virtTableLabelsCheck">
+ <property name="toolTip">
+ <string>Virtual tables will be marked with a 'virtual' label.</string>
+ </property>
+ <property name="text">
+ <string>Display labels for virtual tables</string>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.ShowVirtualTableLabels</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="expandViewsCheck">
+ <property name="text">
+ <string>Expand views node when connected to a database</string>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.ExpandViews</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="sortObjects">
+ <property name="toolTip">
+ <string>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</string>
+ </property>
+ <property name="text">
+ <string>Sort objects (tables, indexes, triggers and views) alphabetically</string>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.SortObjects</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QCheckBox" name="dispSysTableCheck">
+ <property name="text">
+ <string>Display system tables and indexes on the list</string>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.ShowSystemObjects</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="tableWinGroup">
+ <property name="title">
+ <string>Table windows</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_18">
+ <item>
+ <widget class="QCheckBox" name="openTablesOnDataCheck">
+ <property name="toolTip">
+ <string>When enabled, Table Windows will show up with the data tab, instead of the structure tab.</string>
+ </property>
+ <property name="text">
+ <string>Open Table Windows with the data tab for start</string>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.OpenTablesOnData</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="viewWinGroup">
+ <property name="title">
+ <string>View windows</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_19">
+ <item>
+ <widget class="QCheckBox" name="openViewsOnDataCheck">
+ <property name="toolTip">
+ <string>When enabled, View Windows will show up with the data tab, instead of the structure tab.</string>
+ </property>
+ <property name="text">
+ <string>Open View Windows with the data tab for start</string>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.OpenViewsOnData</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="dockLayoutGroup">
+ <property name="title">
+ <string>Main window dock areas</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_13">
+ <item row="0" column="0">
+ <widget class="ConfigRadioButton" name="dockLayoutVertical">
+ <property name="text">
+ <string>Left and right areas occupy corners</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../icons.qrc">
+ <normaloff>:/icons/img/dock_layout_vertical.png</normaloff>:/icons/img/dock_layout_vertical.png</iconset>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.DockLayout</string>
+ </property>
+ <property name="assignedValue" stdset="0">
+ <string notr="true">vertical</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="ConfigRadioButton" name="dockLeyoutHorizontal">
+ <property name="text">
+ <string>Top and bottom areas occupy corners</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../icons.qrc">
+ <normaloff>:/icons/img/dock_layout_horizontal.png</normaloff>:/icons/img/dock_layout_horizontal.png</iconset>
+ </property>
+ <property name="cfg" stdset="0">
+ <string notr="true">General.DockLayout</string>
+ </property>
+ <property name="assignedValue" stdset="0">
+ <string notr="true">horizontal</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
</widget>
</item>
- <item>
- <spacer name="verticalSpacer_5">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
</layout>
</widget>
<widget class="QWidget" name="pluginsPage">
@@ -1147,7 +1275,7 @@
<string notr="true">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'.Helvetica Neue DeskInterface'; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt;&quot;&gt;Abcdefgh&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
@@ -1238,8 +1366,8 @@ p, li { white-space: pre-wrap; }
<rect>
<x>0</x>
<y>0</y>
- <width>258</width>
- <height>286</height>
+ <width>249</width>
+ <height>322</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_9">
@@ -1360,8 +1488,8 @@ p, li { white-space: pre-wrap; }
<rect>
<x>0</x>
<y>0</y>
- <width>307</width>
- <height>666</height>
+ <width>329</width>
+ <height>813</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_12">
@@ -1909,6 +2037,11 @@ p, li { white-space: pre-wrap; }
<header>common/fontedit.h</header>
<container>1</container>
</customwidget>
+ <customwidget>
+ <class>ConfigRadioButton</class>
+ <extends>QRadioButton</extends>
+ <header>common/configradiobutton.h</header>
+ </customwidget>
</customwidgets>
<tabstops>
<tabstop>categoriesFilter</tabstop>
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.cpp
new file mode 100644
index 0000000..99439e8
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.cpp
@@ -0,0 +1,50 @@
+#include "cssdebugdialog.h"
+#include "ui_cssdebugdialog.h"
+#include "mainwindow.h"
+#include "themetuner.h"
+#include <QApplication>
+#include <QPushButton>
+
+CssDebugDialog::CssDebugDialog(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::CssDebugDialog)
+{
+ ui->setupUi(this);
+ connect(ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonClicked(QAbstractButton*)));
+
+ appliedCss = MAINWINDOW->styleSheet();
+ ui->cssEdit->setPlainText(appliedCss);
+ updateState();
+
+ connect(ui->cssEdit, SIGNAL(textChanged()), this, SLOT(updateState()));
+}
+
+CssDebugDialog::~CssDebugDialog()
+{
+ delete ui;
+}
+
+void CssDebugDialog::buttonClicked(QAbstractButton* button)
+{
+ if (ui->buttonBox->standardButton(button) == QDialogButtonBox::RestoreDefaults)
+ {
+ ui->cssEdit->setPlainText(THEME_TUNER->getDefaultCss());
+ }
+ else if (ui->buttonBox->buttonRole(button) == QDialogButtonBox::ApplyRole)
+ {
+ appliedCss = ui->cssEdit->toPlainText();
+ MAINWINDOW->setStyleSheet(appliedCss);
+ }
+
+ updateState();
+}
+
+void CssDebugDialog::updateState()
+{
+ ui->buttonBox->button(QDialogButtonBox::Apply)->setEnabled(ui->cssEdit->toPlainText() != appliedCss);
+}
+
+void CssDebugDialog::closeEvent(QCloseEvent*)
+{
+ deleteLater();
+}
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.h b/SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.h
new file mode 100644
index 0000000..d22dd74
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.h
@@ -0,0 +1,32 @@
+#ifndef CSSDEBUGDIALOG_H
+#define CSSDEBUGDIALOG_H
+
+#include <QDialog>
+
+namespace Ui {
+ class CssDebugDialog;
+}
+
+class QAbstractButton;
+
+class CssDebugDialog : public QDialog
+{
+ Q_OBJECT
+
+ public:
+ explicit CssDebugDialog(QWidget *parent = 0);
+ ~CssDebugDialog();
+
+ protected:
+ void closeEvent(QCloseEvent*);
+
+ private:
+ Ui::CssDebugDialog *ui;
+ QString appliedCss;
+
+ private slots:
+ void buttonClicked(QAbstractButton* button);
+ void updateState();
+};
+
+#endif // CSSDEBUGDIALOG_H
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.ui b/SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.ui
new file mode 100644
index 0000000..e619940
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/cssdebugdialog.ui
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>CssDebugDialog</class>
+ <widget class="QDialog" name="CssDebugDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>620</width>
+ <height>423</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>SQLiteStudio CSS console</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QPlainTextEdit" name="cssEdit"/>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Apply|QDialogButtonBox::Close|QDialogButtonBox::RestoreDefaults</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>CssDebugDialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>CssDebugDialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/dbdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/dbdialog.cpp
index ac7cd8a..a3d0e65 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/dbdialog.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/dbdialog.cpp
@@ -9,6 +9,7 @@
#include "common/global.h"
#include "iconmanager.h"
#include "common/unused.h"
+#include "db/sqlquery.h"
#include <QDateTimeEdit>
#include <QSpinBox>
#include <QDebug>
@@ -464,7 +465,7 @@ bool DbDialog::testDatabase()
{
if (testDb->openForProbing())
{
- res = !testDb->getEncoding().isEmpty();
+ res = !testDb->exec("SELECT sqlite_version();")->getSingleCell().toString().isEmpty();
testDb->closeQuiet();
}
delete testDb;
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/importdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/importdialog.cpp
index c16b90e..2f52396 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/importdialog.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/importdialog.cpp
@@ -17,6 +17,7 @@
#include <QDir>
#include <QDebug>
#include <QFileDialog>
+#include <QKeyEvent>
ImportDialog::ImportDialog(QWidget *parent) :
QWizard(parent),
@@ -369,3 +370,13 @@ void ImportDialog::showEvent(QShowEvent* e)
QWizard::showEvent(e);
ui->tableNameCombo->setFocus();
}
+
+void ImportDialog::keyPressEvent(QKeyEvent* e)
+{
+ if ((e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return) && QApplication::focusWidget() == ui->tableNameCombo)
+ {
+ next();
+ return;
+ }
+ QWizard::keyPressEvent(e);
+}
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/importdialog.h b/SQLiteStudio3/guiSQLiteStudio/dialogs/importdialog.h
index c50703f..b4c2883 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/importdialog.h
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/importdialog.h
@@ -29,6 +29,7 @@ class GUI_API_EXPORT ImportDialog : public QWizard
protected:
void showEvent(QShowEvent* e);
+ void keyPressEvent(QKeyEvent* e);
private:
void init();
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/indexdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/indexdialog.cpp
index efb2e6c..cdae91d 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/indexdialog.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/indexdialog.cpp
@@ -333,6 +333,7 @@ void IndexDialog::rebuildCreateIndex()
createIndex->uniqueKw = ui->uniqueCheck->isChecked();
+ Dialect dialect = db->getDialect();
SqliteIndexedColumn* idxCol = nullptr;
int i = -1;
for (const QString& column : tableColumns)
@@ -343,7 +344,7 @@ void IndexDialog::rebuildCreateIndex()
continue;
idxCol = addIndexedColumn(column);
- if (!collateComboBoxes[i]->currentText().isEmpty())
+ if (dialect == Dialect::Sqlite3 && !collateComboBoxes[i]->currentText().isEmpty())
idxCol->collate = collateComboBoxes[i]->currentText();
if (sortComboBoxes[i]->currentIndex() > 0)
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp
index 1c73de0..d0976a3 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.cpp
@@ -1,3 +1,5 @@
+#ifdef PORTABLE_CONFIG
+
#include "newversiondialog.h"
#include "services/pluginmanager.h"
#include "sqlitestudio.h"
@@ -66,3 +68,5 @@ void NewVersionDialog::showEvent(QShowEvent*)
{
ui->checkOnStartupCheck->setChecked(CFG_CORE.General.CheckUpdatesOnStartup.get());
}
+
+#endif // PORTABLE_CONFIG
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.h b/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.h
index 784c6cf..fc62d6d 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.h
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/newversiondialog.h
@@ -1,6 +1,8 @@
#ifndef NEWVERSIONDIALOG_H
#define NEWVERSIONDIALOG_H
+#ifdef PORTABLE_CONFIG
+
#include "services/updatemanager.h"
#include "guiSQLiteStudio_global.h"
#include <QDialog>
@@ -31,4 +33,5 @@ class GUI_API_EXPORT NewVersionDialog : public QDialog
void installUpdates();
};
+#endif // PORTABLE_CONFIG
#endif // NEWVERSIONDIALOG_H
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/searchtextdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/searchtextdialog.cpp
index 87a6d88..578a253 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/searchtextdialog.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/searchtextdialog.cpp
@@ -9,6 +9,10 @@ SearchTextDialog::SearchTextDialog(SearchTextLocator* textLocator, QWidget *pare
{
ui->setupUi(this);
connect(textLocator, SIGNAL(replaceAvailable(bool)), this, SLOT(setReplaceAvailable(bool)));
+ connect(ui->findEdit, SIGNAL(textChanged(QString)), this, SLOT(markModifiedState()));
+ connect(ui->caseSensitiveCheck, SIGNAL(toggled(bool)), this, SLOT(markModifiedState()));
+ connect(ui->backwardsCheck, SIGNAL(toggled(bool)), this, SLOT(markModifiedState()));
+ connect(ui->regExpCheck, SIGNAL(toggled(bool)), this, SLOT(markModifiedState()));
}
SearchTextDialog::~SearchTextDialog()
@@ -73,3 +77,8 @@ void SearchTextDialog::on_replaceAllButton_clicked()
textLocator->setReplaceString(ui->replaceEdit->text());
textLocator->replaceAll();
}
+
+void SearchTextDialog::markModifiedState()
+{
+ configModifiedState = true;
+}
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/searchtextdialog.h b/SQLiteStudio3/guiSQLiteStudio/dialogs/searchtextdialog.h
index 54f6f72..ae33856 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/searchtextdialog.h
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/searchtextdialog.h
@@ -34,6 +34,7 @@ class GUI_API_EXPORT SearchTextDialog : public QDialog
void on_findButton_clicked();
void on_replaceButton_clicked();
void on_replaceAllButton_clicked();
+ void markModifiedState();
};
#endif // SEARCHTEXTDIALOG_H
diff --git a/SQLiteStudio3/guiSQLiteStudio/formview.cpp b/SQLiteStudio3/guiSQLiteStudio/formview.cpp
index ab51f3e..6e62786 100644
--- a/SQLiteStudio3/guiSQLiteStudio/formview.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/formview.cpp
@@ -113,26 +113,14 @@ void FormView::addColumn(int colIdx, const QString& name, const DataType& dataTy
if (!dataType.toString().isEmpty())
groupLabel += " (" + dataType.toString() + ")";
- QGroupBox* group = new QGroupBox(groupLabel);
- QFont font = group->font();
- font.setBold(true);
- group->setFont(font);
-
- QVBoxLayout *vbox = new QVBoxLayout();
- vbox->setSpacing(spacing);
- vbox->setMargin(margins);
- group->setLayout(vbox);
-
// MultiEditor
MultiEditor* multiEditor = new MultiEditor();
- font.setBold(false);
- multiEditor->setFont(font);
multiEditor->setReadOnly(readOnly);
+ multiEditor->setCornerLabel(groupLabel);
dataMapper->addMapping(multiEditor, colIdx, "value");
- vbox->addWidget(multiEditor);
- widgets << group;
+ widgets << multiEditor;
editors << multiEditor;
- contents->layout()->addWidget(group);
+ contents->layout()->addWidget(multiEditor);
this->readOnly << readOnly;
connect(multiEditor, SIGNAL(modified()), this, SLOT(editorValueModified()));
@@ -142,7 +130,7 @@ void FormView::addColumn(int colIdx, const QString& name, const DataType& dataTy
// Resizer
WidgetResizer* resizer = new WidgetResizer(Qt::Vertical);
- resizer->setWidget(group);
+ resizer->setWidget(multiEditor);
resizer->setWidgetMinimumSize(0, minimumFieldHeight);
widgets << resizer;
contents->layout()->addWidget(resizer);
diff --git a/SQLiteStudio3/guiSQLiteStudio/general.css b/SQLiteStudio3/guiSQLiteStudio/general.css
new file mode 100644
index 0000000..93b351c
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/general.css
@@ -0,0 +1,15 @@
+QToolBar {
+ margin: 0px;
+ padding: 0px;
+}
+
+QToolBar > QToolButton {
+ padding: 0px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+}
+
+QToolBar > QToolButton[popupMode="1"] {
+ padding-right: 6px;
+ padding-left: 6px;
+}
diff --git a/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.pro b/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.pro
index e32aff5..3010dca 100644
--- a/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.pro
+++ b/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.pro
@@ -19,6 +19,10 @@ linux: {
}
}
+portable: {
+ DEFINES += PORTABLE_CONFIG
+}
+
TARGET = guiSQLiteStudio
TEMPLATE = lib
@@ -175,7 +179,9 @@ SOURCES +=\
dialogs/quitconfirmdialog.cpp \
common/datawidgetmapper.cpp \
dialogs/languagedialog.cpp \
- common/ipvalidator.cpp
+ common/ipvalidator.cpp \
+ dialogs/cssdebugdialog.cpp \
+ themetuner.cpp
HEADERS += mainwindow.h \
iconmanager.h \
@@ -320,7 +326,9 @@ HEADERS += mainwindow.h \
dialogs/quitconfirmdialog.h \
common/datawidgetmapper.h \
dialogs/languagedialog.h \
- common/ipvalidator.h
+ common/ipvalidator.h \
+ dialogs/cssdebugdialog.h \
+ themetuner.h
FORMS += mainwindow.ui \
dbtree/dbtree.ui \
@@ -368,7 +376,8 @@ FORMS += mainwindow.ui \
windows/bugreporthistorywindow.ui \
dialogs/newversiondialog.ui \
dialogs/quitconfirmdialog.ui \
- dialogs/languagedialog.ui
+ dialogs/languagedialog.ui \
+ dialogs/cssdebugdialog.ui
RESOURCES += \
icons.qrc \
@@ -383,6 +392,9 @@ unix: {
LIBS += -lcoreSQLiteStudio
+DISTFILES += \
+ general.css
+
diff --git a/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.qrc b/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.qrc
index 4f33880..97ed77f 100644
--- a/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.qrc
+++ b/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.qrc
@@ -6,4 +6,7 @@
<file>translations/guiSQLiteStudio_sk.qm</file>
<file>translations/guiSQLiteStudio_zh_CN.qm</file>
</qresource>
+ <qresource prefix="/css">
+ <file>general.css</file>
+ </qresource>
</RCC>
diff --git a/SQLiteStudio3/guiSQLiteStudio/iconmanager.h b/SQLiteStudio3/guiSQLiteStudio/iconmanager.h
index 940c869..648e173 100644
--- a/SQLiteStudio3/guiSQLiteStudio/iconmanager.h
+++ b/SQLiteStudio3/guiSQLiteStudio/iconmanager.h
@@ -104,6 +104,8 @@ class GUI_API_EXPORT IconManager : public QObject
DEF_ICON(DIRECTORY_OPEN, "directory_open")
DEF_ICON(DIRECTORY_OPEN_WITH_DB, "directory_open_with_db")
DEF_ICON(DIRECTORY_WITH_DB, "directory_with_db")
+ DEF_ICON(DOCK_LAYOUT_HORIZONTAL, "dock_layout_horizontal")
+ DEF_ICON(DOCK_LAYOUT_VERTICAL, "dock_layout_vertical")
DEF_ICON(ERASE, "erase")
DEF_ICON(ERASE_TABLE_DATA, "erase_table_data")
DEF_ICON(EXEC_QUERY, "exec_query")
diff --git a/SQLiteStudio3/guiSQLiteStudio/icons.qrc b/SQLiteStudio3/guiSQLiteStudio/icons.qrc
index 9cf981d..015e68a 100644
--- a/SQLiteStudio3/guiSQLiteStudio/icons.qrc
+++ b/SQLiteStudio3/guiSQLiteStudio/icons.qrc
@@ -193,5 +193,7 @@
<file>img/plus.png</file>
<file>img/erase_table_data.png</file>
<file>img/delete.png</file>
+ <file>img/dock_layout_horizontal.png</file>
+ <file>img/dock_layout_vertical.png</file>
</qresource>
</RCC>
diff --git a/SQLiteStudio3/guiSQLiteStudio/img/dock_layout_horizontal.png b/SQLiteStudio3/guiSQLiteStudio/img/dock_layout_horizontal.png
new file mode 100644
index 0000000..2b69105
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/img/dock_layout_horizontal.png
Binary files differ
diff --git a/SQLiteStudio3/guiSQLiteStudio/img/dock_layout_vertical.png b/SQLiteStudio3/guiSQLiteStudio/img/dock_layout_vertical.png
new file mode 100644
index 0000000..7279961
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/img/dock_layout_vertical.png
Binary files differ
diff --git a/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp b/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp
index 373b21d..4691dda 100644
--- a/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp
@@ -37,6 +37,8 @@
#include "dialogs/newversiondialog.h"
#include "dialogs/quitconfirmdialog.h"
#include "common/widgetcover.h"
+#include "dialogs/cssdebugdialog.h"
+#include "themetuner.h"
#include <QMdiSubWindow>
#include <QDebug>
#include <QStyleFactory>
@@ -77,6 +79,7 @@ void MainWindow::init()
#endif
Committable::init(MainWindow::confirmQuit);
+ updateCornerDocking();
DbTreeModel::staticInit();
dbTree = new DbTree(this);
@@ -120,8 +123,10 @@ void MainWindow::init()
notifyInfo(tr("Running in debug mode. Debug messages are printed to the standard output."));
}
+#ifdef PORTABLE_CONFIG
connect(UPDATES, SIGNAL(updatesAvailable(QList<UpdateManager::UpdateEntry>)), this, SLOT(updatesAvailable(QList<UpdateManager::UpdateEntry>)));
connect(UPDATES, SIGNAL(noUpdatesAvailable()), this, SLOT(noUpdatesAvailable()));
+#endif
connect(statusField, SIGNAL(linkActivated(QString)), this, SLOT(statusFieldLinkClicked(QString)));
// Widget cover
@@ -145,8 +150,10 @@ void MainWindow::init()
widgetCover->getContainerLayout()->addWidget(updatingLabel, 0, 0);
widgetCover->getContainerLayout()->addWidget(updatingBusyBar, 1, 0);
widgetCover->getContainerLayout()->addWidget(updatingSubBar, 2, 0);
+#ifdef PORTABLE_CONFIG
connect(UPDATES, SIGNAL(updatingProgress(QString,int,int)), this, SLOT(handleUpdatingProgress(QString,int,int)));
connect(UPDATES, SIGNAL(updatingError(QString)), this, SLOT(handleUpdatingError()));
+#endif
connect(CFG_CORE.General.Language, SIGNAL(changed(QVariant)), this, SLOT(notifyAboutLanguageChange()));
}
@@ -167,6 +174,8 @@ void MainWindow::cleanUp()
delete ui;
+ ThemeTuner::cleanUp();
+
safe_delete(formManager);
}
@@ -266,6 +275,7 @@ void MainWindow::createActions()
createAction(RENAME_WINDOW, ICONS.WIN_RENAME, tr("Rename selected window"), this, SLOT(renameWindow()), this);
createAction(OPEN_DEBUG_CONSOLE, tr("Open Debug Console"), this, SLOT(openDebugConsole()), this);
+ createAction(OPEN_CSS_CONSOLE, tr("Open CSS Console"), this, SLOT(openCssConsole()), this);
createAction(REPORT_BUG, ICONS.BUG, tr("Report a bug"), this, SLOT(reportBug()), this);
createAction(FEATURE_REQUEST, ICONS.FEATURE_REQUEST, tr("Propose a new feature"), this, SLOT(requestFeature()), this);
createAction(ABOUT, ICONS.SQLITESTUDIO_APP16, tr("About"), this, SLOT(aboutSqlitestudio()), this);
@@ -275,7 +285,9 @@ void MainWindow::createActions()
createAction(USER_MANUAL, ICONS.USER_MANUAL, tr("User Manual"), this, SLOT(userManual()), this);
createAction(SQLITE_DOCS, ICONS.SQLITE_DOCS, tr("SQLite documentation"), this, SLOT(sqliteDocs()), this);
createAction(BUG_REPORT_HISTORY, ICONS.BUG_LIST, tr("Report history"), this, SLOT(reportHistory()), this);
+#ifdef PORTABLE_CONFIG
createAction(CHECK_FOR_UPDATES, ICONS.GET_UPDATE, tr("Check for updates"), this, SLOT(checkForUpdates()), this);
+#endif
actionMap[ABOUT]->setMenuRole(QAction::AboutRole);
actionMap[OPEN_CONFIG]->setMenuRole(QAction::PreferencesRole);
@@ -404,11 +416,13 @@ void MainWindow::initMenuBar()
sqlitestudioMenu->addAction(actionMap[HOMEPAGE]);
sqlitestudioMenu->addAction(actionMap[FORUM]);
sqlitestudioMenu->addSeparator();
+#ifdef PORTABLE_CONFIG
if (UPDATES->isPlatformEligibleForUpdate())
{
sqlitestudioMenu->addAction(actionMap[CHECK_FOR_UPDATES]);
sqlitestudioMenu->addSeparator();
}
+#endif
sqlitestudioMenu->addAction(actionMap[REPORT_BUG]);
sqlitestudioMenu->addAction(actionMap[FEATURE_REQUEST]);
sqlitestudioMenu->addAction(actionMap[BUG_REPORT_HISTORY]);
@@ -453,10 +467,15 @@ void MainWindow::restoreSession()
{
QHash<QString,QVariant> sessionValue = CFG_UI.General.Session.get();
if (sessionValue.size() == 0)
+ {
+ THEME_TUNER->tuneCurrentTheme();
return;
+ }
if (sessionValue.contains("style"))
setStyle(sessionValue["style"].toString());
+ else
+ THEME_TUNER->tuneCurrentTheme();
if (sessionValue.contains("geometry"))
restoreGeometry(sessionValue["geometry"].toByteArray());
@@ -484,6 +503,7 @@ void MainWindow::restoreSession()
if (statusField->hasMessages())
statusField->setVisible(true);
+ updateCornerDocking();
updateWindowActions();
}
@@ -550,6 +570,7 @@ void MainWindow::setStyle(const QString& styleName)
return;
}
QApplication::setStyle(style);
+ THEME_TUNER->tuneTheme(styleName);
}
QString MainWindow::currentStyle() const
@@ -680,6 +701,12 @@ void MainWindow::openDebugConsole()
showUiDebugConsole();
}
+void MainWindow::openCssConsole()
+{
+ CssDebugDialog* dialog = new CssDebugDialog;
+ dialog->show();
+}
+
void MainWindow::reportBug()
{
BugDialog dialog(this);
@@ -730,6 +757,18 @@ void MainWindow::reportHistory()
openReportHistory();
}
+void MainWindow::statusFieldLinkClicked(const QString& link)
+{
+#ifdef PORTABLE_CONFIG
+ if (link == openUpdatesUrl && newVersionDialog)
+ {
+ newVersionDialog->exec();
+ return;
+ }
+#endif
+}
+
+#ifdef PORTABLE_CONFIG
void MainWindow::updatesAvailable(const QList<UpdateManager::UpdateEntry>& updates)
{
manualUpdatesChecking = false;
@@ -747,19 +786,10 @@ void MainWindow::noUpdatesAvailable()
manualUpdatesChecking = false;
}
-void MainWindow::statusFieldLinkClicked(const QString& link)
-{
- if (link == openUpdatesUrl && newVersionDialog)
- {
- newVersionDialog->exec();
- return;
- }
-}
-
void MainWindow::checkForUpdates()
{
manualUpdatesChecking = true;
- UPDATES->checkForUpdates();
+ UPDATES->checkForUpdates(true);
}
void MainWindow::handleUpdatingProgress(const QString& jobTitle, int jobPercent, int totalPercent)
@@ -776,6 +806,22 @@ void MainWindow::handleUpdatingError()
{
widgetCover->hide();
}
+#endif
+
+void MainWindow::updateCornerDocking()
+{
+ if (CFG_UI.General.DockLayout.get() == "vertical") {
+ setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
+ setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
+ setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea);
+ setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
+ } else {
+ setCorner(Qt::TopLeftCorner, Qt::TopDockWidgetArea);
+ setCorner(Qt::TopRightCorner, Qt::TopDockWidgetArea);
+ setCorner(Qt::BottomLeftCorner, Qt::BottomDockWidgetArea);
+ setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea);
+ }
+}
DdlHistoryWindow* MainWindow::openDdlHistory()
{
diff --git a/SQLiteStudio3/guiSQLiteStudio/mainwindow.h b/SQLiteStudio3/guiSQLiteStudio/mainwindow.h
index 4e9f5c0..46c729b 100644
--- a/SQLiteStudio3/guiSQLiteStudio/mainwindow.h
+++ b/SQLiteStudio3/guiSQLiteStudio/mainwindow.h
@@ -30,6 +30,7 @@ class Committable;
class WidgetCover;
class QProgressBar;
class QLabel;
+class ThemeTuner;
#ifdef Q_OS_MACX
#define PREV_TASK_KEY_SEQ Qt::CTRL + Qt::ALT + Qt::Key_Left
@@ -46,6 +47,7 @@ CFG_KEY_LIST(MainWindow, QObject::tr("Main window"),
CFG_KEY_ENTRY(HIDE_STATUS_FIELD, Qt::Key_Escape, QObject::tr("Hide status area"))
CFG_KEY_ENTRY(OPEN_CONFIG, Qt::Key_F2, QObject::tr("Open configuration dialog"))
CFG_KEY_ENTRY(OPEN_DEBUG_CONSOLE, Qt::Key_F12, QObject::tr("Open Debug Console"))
+ CFG_KEY_ENTRY(OPEN_CSS_CONSOLE, Qt::Key_F11, QObject::tr("Open CSS Console"))
)
class GUI_API_EXPORT MainWindow : public QMainWindow, public ExtActionContainer
@@ -76,6 +78,7 @@ class GUI_API_EXPORT MainWindow : public QMainWindow, public ExtActionContainer
RESTORE_WINDOW,
RENAME_WINDOW,
OPEN_DEBUG_CONSOLE,
+ OPEN_CSS_CONSOLE,
LICENSES,
HOMEPAGE,
FORUM,
@@ -115,6 +118,8 @@ class GUI_API_EXPORT MainWindow : public QMainWindow, public ExtActionContainer
QMenu* getViewMenu() const;
QMenu* getToolsMenu() const;
QMenu* getSQLiteStudioMenu() const;
+ QString currentStyle() const;
+ ThemeTuner* getThemeTuner() const;
protected:
void closeEvent(QCloseEvent *event);
@@ -130,7 +135,6 @@ class GUI_API_EXPORT MainWindow : public QMainWindow, public ExtActionContainer
void saveSession(MdiWindow* currWindow);
void restoreWindowSessions(const QList<QVariant>& windowSessions);
MdiWindow *restoreWindowSession(const QVariant& windowSessions);
- QString currentStyle() const;
void closeNonSessionWindows();
DdlHistoryWindow* openDdlHistory();
FunctionsEditor* openFunctionEditor();
@@ -158,7 +162,9 @@ class GUI_API_EXPORT MainWindow : public QMainWindow, public ExtActionContainer
QMenu* viewMenu = nullptr;
QMenu* toolsMenu = nullptr;
QMenu* sqlitestudioMenu = nullptr;
+#ifdef PORTABLE_CONFIG
QPointer<NewVersionDialog> newVersionDialog;
+#endif
WidgetCover* widgetCover = nullptr;
QLabel* updatingLabel = nullptr;
QProgressBar* updatingBusyBar = nullptr;
@@ -168,6 +174,7 @@ class GUI_API_EXPORT MainWindow : public QMainWindow, public ExtActionContainer
public slots:
EditorWindow* openSqlEditor();
void updateWindowActions();
+ void updateCornerDocking();
private slots:
void notifyAboutLanguageChange();
@@ -187,6 +194,7 @@ class GUI_API_EXPORT MainWindow : public QMainWindow, public ExtActionContainer
void restoreLastClosedWindow();
void renameWindow();
void openDebugConsole();
+ void openCssConsole();
void reportBug();
void requestFeature();
void aboutSqlitestudio();
@@ -196,12 +204,14 @@ class GUI_API_EXPORT MainWindow : public QMainWindow, public ExtActionContainer
void userManual();
void sqliteDocs();
void reportHistory();
+#ifdef PORTABLE_CONFIG
void updatesAvailable(const QList<UpdateManager::UpdateEntry>& updates);
void noUpdatesAvailable();
- void statusFieldLinkClicked(const QString& link);
void checkForUpdates();
void handleUpdatingProgress(const QString& jobTitle, int jobPercent, int totalPercent);
void handleUpdatingError();
+#endif
+ void statusFieldLinkClicked(const QString& link);
};
template <class T>
diff --git a/SQLiteStudio3/guiSQLiteStudio/mainwindow.ui b/SQLiteStudio3/guiSQLiteStudio/mainwindow.ui
index 1dbf462..118d5c7 100644
--- a/SQLiteStudio3/guiSQLiteStudio/mainwindow.ui
+++ b/SQLiteStudio3/guiSQLiteStudio/mainwindow.ui
@@ -27,6 +27,21 @@
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QGridLayout" name="gridLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
<item row="0" column="0">
<widget class="MdiArea" name="mdiArea">
<property name="verticalScrollBarPolicy">
diff --git a/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp
index 2bae2f9..c99b774 100644
--- a/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp
@@ -26,6 +26,7 @@
#include <QToolButton>
#include <QDebug>
#include <QKeyEvent>
+#include <themetuner.h>
static QHash<QString,bool> missingEditorPluginsAlreadyWarned;
@@ -47,9 +48,17 @@ void MultiEditor::init()
QHBoxLayout* hbox = new QHBoxLayout();
hbox->setMargin(0);
- hbox->setSpacing(0);
+ hbox->setSpacing(10);
top->setLayout(hbox);
+ cornerLabel = new QLabel();
+ QFont font = cornerLabel->font();
+ font.setBold(true);
+ cornerLabel->setFont(font);
+ cornerLabel->setFrameStyle(QFrame::StyledPanel|QFrame::Plain);
+ hbox->addWidget(cornerLabel);
+ cornerLabel->setVisible(false);
+
nullCheck = new QCheckBox(tr("Null value", "multieditor"));
hbox->addWidget(nullCheck);
@@ -156,6 +165,7 @@ void MultiEditor::addEditor(MultiEditorWidget* editorWidget)
connect(editorWidget, SIGNAL(valueModified()), this, SLOT(invalidateValue()));
editors << editorWidget;
tabs->addTab(editorWidget, editorWidget->getTabLabel().replace("&", "&&"));
+ THEME_TUNER->manageCompactLayout(editorWidget);
editorWidget->installEventFilter(this);
}
@@ -241,6 +251,12 @@ void MultiEditor::focusThisEditor()
w->focusThisWidget();
}
+void MultiEditor::setCornerLabel(const QString &label)
+{
+ cornerLabel->setText(label);
+ cornerLabel->setVisible(!label.isNull());
+}
+
void MultiEditor::loadBuiltInEditors()
{
PLUGINS->loadBuiltInPlugin(new MultiEditorBoolPlugin);
diff --git a/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h
index 2576c97..04b9af7 100644
--- a/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h
+++ b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h
@@ -45,6 +45,7 @@ class GUI_API_EXPORT MultiEditor : public QWidget
void setDeletedRow(bool value);
void setDataType(const DataType& dataType);
void focusThisEditor();
+ void setCornerLabel(const QString& label);
static void loadBuiltInEditors();
@@ -61,6 +62,7 @@ class GUI_API_EXPORT MultiEditor : public QWidget
static const int margins = 2;
static const int spacing = 2;
+ QLabel* cornerLabel = nullptr;
QCheckBox* nullCheck = nullptr;
QTabWidget* tabs = nullptr;
QList<MultiEditorWidget*> editors;
diff --git a/SQLiteStudio3/guiSQLiteStudio/sqleditor.cpp b/SQLiteStudio3/guiSQLiteStudio/sqleditor.cpp
index edafce5..076894a 100644
--- a/SQLiteStudio3/guiSQLiteStudio/sqleditor.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/sqleditor.cpp
@@ -125,6 +125,7 @@ void SqlEditor::createActions()
createAction(COMPLETE, ICONS.COMPLETE, tr("Complete", "sql editor"), this, SLOT(complete()), this);
createAction(FORMAT_SQL, ICONS.FORMAT_SQL, tr("Format SQL", "sql editor"), this, SLOT(formatSql()), this);
createAction(SAVE_SQL_FILE, ICONS.SAVE_SQL_FILE, tr("Save SQL to file", "sql editor"), this, SLOT(saveToFile()), this);
+ createAction(SAVE_AS_SQL_FILE, ICONS.SAVE_SQL_FILE, tr("Select file to save SQL", "sql editor"), this, SLOT(saveAsToFile()), this);
createAction(OPEN_SQL_FILE, ICONS.OPEN_SQL_FILE, tr("Load SQL from file", "sql editor"), this, SLOT(loadFromFile()), this);
createAction(DELETE_LINE, ICONS.ACT_DEL_LINE, tr("Delete line", "sql editor"), this, SLOT(deleteLine()), this);
createAction(MOVE_BLOCK_DOWN, tr("Move block down", "sql editor"), this, SLOT(moveBlockDown()), this);
@@ -233,6 +234,24 @@ bool SqlEditor::handleValidObjectContextMenu(const QPoint& pos)
return true;
}
+void SqlEditor::saveToFile(const QString &fileName)
+{
+ QFile file(fileName);
+ if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
+ {
+ notifyError(tr("Could not open file '%1' for writing: %2").arg(fileName).arg(file.errorString()));
+ return;
+ }
+
+ QTextStream stream(&file);
+ stream.setCodec("UTF-8");
+ stream << toPlainText();
+ stream.flush();
+ file.close();
+
+ notifyInfo(tr("Saved SQL contents to file: %1").arg(fileName));
+}
+
void SqlEditor::updateUndoAction(bool enabled)
{
actionMap[UNDO]->setEnabled(enabled);
@@ -1023,25 +1042,22 @@ void SqlEditor::formatSql()
void SqlEditor::saveToFile()
{
+ if (loadedFile.isNull())
+ saveAsToFile();
+ else
+ saveToFile(loadedFile);
+}
+
+void SqlEditor::saveAsToFile()
+{
QString dir = getFileDialogInitPath();
QString fName = QFileDialog::getSaveFileName(this, tr("Save to file"), dir);
if (fName.isNull())
return;
setFileDialogInitPathByFile(fName);
-
- QFile file(fName);
- if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
- {
- notifyError(tr("Could not open file '%1' for writing: %2").arg(fName).arg(file.errorString()));
- return;
- }
-
- QTextStream stream(&file);
- stream.setCodec("UTF-8");
- stream << toPlainText();
- stream.flush();
- file.close();
+ loadedFile = fName;
+ saveToFile(loadedFile);
}
void SqlEditor::loadFromFile()
@@ -1066,6 +1082,8 @@ void SqlEditor::loadFromFile()
QString sql = stream.readAll();
file.close();
setPlainText(sql);
+
+ loadedFile = fName;
}
void SqlEditor::deleteLine()
diff --git a/SQLiteStudio3/guiSQLiteStudio/sqleditor.h b/SQLiteStudio3/guiSQLiteStudio/sqleditor.h
index 43be251..f465dcf 100644
--- a/SQLiteStudio3/guiSQLiteStudio/sqleditor.h
+++ b/SQLiteStudio3/guiSQLiteStudio/sqleditor.h
@@ -59,6 +59,7 @@ class GUI_API_EXPORT SqlEditor : public QPlainTextEdit, public ExtActionContaine
FORMAT_SQL,
OPEN_SQL_FILE,
SAVE_SQL_FILE,
+ SAVE_AS_SQL_FILE,
DELETE_LINE,
COMPLETE,
MOVE_BLOCK_DOWN,
@@ -187,6 +188,7 @@ class GUI_API_EXPORT SqlEditor : public QPlainTextEdit, public ExtActionContaine
const DbObject* getValidObjectForPosition(const QPoint& point);
void handleValidObjectCursor(const QPoint& point);
bool handleValidObjectContextMenu(const QPoint& pos);
+ void saveToFile(const QString& fileName);
SqliteSyntaxHighlighter* highlighter = nullptr;
QMenu* contextMenu = nullptr;
@@ -231,6 +233,7 @@ class GUI_API_EXPORT SqlEditor : public QPlainTextEdit, public ExtActionContaine
int virtualSqlRightOffset = 0;
bool virtualSqlCompleteSemicolon = false;
QString createTriggerTable;
+ QString loadedFile;
static const int autoCompleterDelay = 300;
static const int queryParserDelay = 500;
@@ -260,6 +263,7 @@ class GUI_API_EXPORT SqlEditor : public QPlainTextEdit, public ExtActionContaine
void cursorMoved();
void formatSql();
void saveToFile();
+ void saveAsToFile();
void loadFromFile();
void deleteLine();
void moveBlockDown(bool deleteOld = true);
diff --git a/SQLiteStudio3/guiSQLiteStudio/statusfield.cpp b/SQLiteStudio3/guiSQLiteStudio/statusfield.cpp
index 5de85d7..7fb746c 100644
--- a/SQLiteStudio3/guiSQLiteStudio/statusfield.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/statusfield.cpp
@@ -3,6 +3,7 @@
#include "mainwindow.h"
#include "uiconfig.h"
#include "iconmanager.h"
+#include "themetuner.h"
#include "common/tablewidget.h"
#include "services/notifymanager.h"
#include <QMenu>
@@ -27,6 +28,8 @@ StatusField::StatusField(QWidget *parent) :
connect(nm, SIGNAL(notifyWarning(QString)), this, SLOT(warn(QString)));
connect(CFG_UI.Fonts.StatusField, SIGNAL(changed(QVariant)), this, SLOT(fontChanged(QVariant)));
+ THEME_TUNER->manageCompactLayout(widget());
+
readRecentMessages();
}
diff --git a/SQLiteStudio3/guiSQLiteStudio/statusfield.ui b/SQLiteStudio3/guiSQLiteStudio/statusfield.ui
index c36828c..9ca3cfb 100644
--- a/SQLiteStudio3/guiSQLiteStudio/statusfield.ui
+++ b/SQLiteStudio3/guiSQLiteStudio/statusfield.ui
@@ -15,6 +15,9 @@
</property>
<widget class="QWidget" name="dockWidgetContents">
<layout class="QVBoxLayout" name="verticalLayout">
+ <property name="topMargin">
+ <number>0</number>
+ </property>
<item>
<widget class="TableWidget" name="tableWidget">
<property name="sizePolicy">
diff --git a/SQLiteStudio3/guiSQLiteStudio/themetuner.cpp b/SQLiteStudio3/guiSQLiteStudio/themetuner.cpp
new file mode 100644
index 0000000..e48865f
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/themetuner.cpp
@@ -0,0 +1,125 @@
+#include "themetuner.h"
+#include "uiconfig.h"
+#include "mainwindow.h"
+#include "uiconfig.h"
+#include <QApplication>
+#include <QFile>
+#include <QStyle>
+#include <QDebug>
+
+ThemeTuner* ThemeTuner::instance = nullptr;
+
+ThemeTuner::ThemeTuner(QObject* parent) :
+ QObject(parent)
+{
+ init();
+}
+
+void ThemeTuner::tuneTheme(const QString& themeName)
+{
+ tuneCss(themeName);
+}
+
+void ThemeTuner::tuneCurrentTheme()
+{
+ tuneTheme(QApplication::style()->objectName());
+}
+
+void ThemeTuner::manageCompactLayout(QWidget* w)
+{
+ manageCompactLayout(QList<QWidget*>({w}));
+}
+
+void ThemeTuner::manageCompactLayout(QList<QWidget*> wList)
+{
+ widgetsForCompactLayout += wList;
+ for (QWidget* w : wList)
+ connect(w, SIGNAL(destroyed()), this, SLOT(handleWidgetDestroyed()));
+
+ handleCompactLayoutChange(CFG_UI.General.CompactLayout.get());
+}
+
+QString ThemeTuner::getDefaultCss(const QString& themeName) const
+{
+ QString css = defaultGeneralCss;
+ QString lowerTheme = themeName.toLower();
+ if (!themeName.isNull() && defaultPerStyleCss.contains(lowerTheme))
+ css += "\n" + defaultPerStyleCss[lowerTheme];
+
+ return css;
+}
+
+ThemeTuner* ThemeTuner::getInstance()
+{
+ if (!instance)
+ instance = new ThemeTuner();
+
+ return instance;
+}
+
+void ThemeTuner::cleanUp()
+{
+ if (instance)
+ safe_delete(instance);
+}
+
+void ThemeTuner::init()
+{
+ QFile f(":/css/general.css");
+ if (!f.open(QIODevice::ReadOnly))
+ {
+ qCritical() << "Could not open general.css";
+ return;
+ }
+
+ defaultGeneralCss = QString::fromLatin1(f.readAll());
+ f.close();
+
+ connect(CFG_UI.General.CompactLayout, SIGNAL(changed(QVariant)), this, SLOT(handleCompactLayoutChange(QVariant)));
+}
+
+void ThemeTuner::tuneCss(const QString& themeName)
+{
+ if (!CFG_UI.General.CustomCss.get().isNull())
+ {
+ applyCss(CFG_UI.General.CustomCss.get());
+ return;
+ }
+
+ applyCss(getDefaultCss(themeName));
+}
+
+void ThemeTuner::applyCss(const QString& css)
+{
+ MAINWINDOW->setStyleSheet(css);
+}
+
+void ThemeTuner::handleWidgetDestroyed()
+{
+ QWidget* w = dynamic_cast<QWidget*>(sender());
+ if (!w)
+ return;
+
+ widgetsForCompactLayout.removeOne(w);
+}
+
+void ThemeTuner::handleCompactLayoutChange(const QVariant& newValue)
+{
+ if (newValue.toBool())
+ {
+ for (QWidget* w : widgetsForCompactLayout)
+ {
+ w->layout()->setContentsMargins(0, 0, 0, 0);
+ w->layout()->setSpacing(0);
+ }
+ }
+ else
+ {
+ for (QWidget* w : widgetsForCompactLayout)
+ {
+ w->layout()->setContentsMargins(-1, -1, -1, -1);
+ w->layout()->setSpacing(-1);
+ }
+ }
+}
+
diff --git a/SQLiteStudio3/guiSQLiteStudio/themetuner.h b/SQLiteStudio3/guiSQLiteStudio/themetuner.h
new file mode 100644
index 0000000..9804464
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/themetuner.h
@@ -0,0 +1,43 @@
+#ifndef THEMETUNER_H
+#define THEMETUNER_H
+
+#include <QObject>
+#include <QString>
+#include <QHash>
+
+class ThemeTuner : public QObject
+{
+ Q_OBJECT
+
+ public:
+ void tuneTheme(const QString& themeName);
+ void tuneCurrentTheme();
+ void manageCompactLayout(QWidget* w);
+ void manageCompactLayout(QList<QWidget*> wList);
+ QString getDefaultCss(const QString& themeName = QString()) const;
+
+ static ThemeTuner* getInstance();
+ static void cleanUp();
+
+ private:
+ ThemeTuner(QObject* parent = 0);
+
+ void init();
+ void tuneCss(const QString& themeName);
+ void tuneMacx();
+ void applyCss(const QString& css);
+
+ QString defaultGeneralCss;
+ QHash<QString, QString> defaultPerStyleCss;
+ QList<QWidget*> widgetsForCompactLayout;
+
+ static ThemeTuner* instance;
+
+ private slots:
+ void handleWidgetDestroyed();
+ void handleCompactLayoutChange(const QVariant& newValue);
+};
+
+#define THEME_TUNER ThemeTuner::getInstance()
+
+#endif // THEMETUNER_H
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.ts
index 55a5e5e..01b2d5f 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.ts
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.ts
@@ -353,32 +353,32 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="110"/>
+ <location filename="../windows/collationseditor.ui" line="194"/>
<source>Collation name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="120"/>
+ <location filename="../windows/collationseditor.ui" line="204"/>
<source>Implementation language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="152"/>
+ <location filename="../windows/collationseditor.ui" line="132"/>
<source>Databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="158"/>
+ <location filename="../windows/collationseditor.ui" line="138"/>
<source>Register in all databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="165"/>
+ <location filename="../windows/collationseditor.ui" line="145"/>
<source>Register in following databases:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="186"/>
+ <location filename="../windows/collationseditor.ui" line="166"/>
<source>Implementation code:</source>
<translation type="unfinished"></translation>
</message>
@@ -888,7 +888,7 @@ but it&apos;s okay to use it.</source>
<name>ConfigDialog</name>
<message>
<location filename="../dialogs/configdialog.ui" line="14"/>
- <location filename="../dialogs/configdialog.ui" line="1216"/>
+ <location filename="../dialogs/configdialog.ui" line="1293"/>
<source>Configuration</source>
<translation type="unfinished"></translation>
</message>
@@ -1065,406 +1065,441 @@ but it&apos;s okay to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="656"/>
- <location filename="../dialogs/configdialog.ui" line="1206"/>
+ <location filename="../dialogs/configdialog.ui" line="671"/>
+ <location filename="../dialogs/configdialog.ui" line="1283"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="662"/>
+ <location filename="../dialogs/configdialog.ui" line="677"/>
<source>Changing language requires application restart to take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="679"/>
+ <location filename="../dialogs/configdialog.ui" line="694"/>
+ <source>Compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="700"/>
+ <source>&lt;p&gt;Compact layout reduces all margins and spacing on the UI to minimum, making space for displaying more data. It makes the interface a little bit less aesthetic, but allows to display more data at once.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="703"/>
+ <source>Use compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="709"/>
+ <source>General.CompactLayout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="719"/>
<source>Database list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="685"/>
+ <location filename="../dialogs/configdialog.ui" line="725"/>
<source>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="688"/>
+ <location filename="../dialogs/configdialog.ui" line="728"/>
<source>Sort table columns alphabetically</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="698"/>
+ <location filename="../dialogs/configdialog.ui" line="738"/>
<source>Expand tables node when connected to a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="708"/>
+ <location filename="../dialogs/configdialog.ui" line="748"/>
<source>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="711"/>
+ <location filename="../dialogs/configdialog.ui" line="751"/>
<source>Display additional labels on the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="726"/>
+ <location filename="../dialogs/configdialog.ui" line="766"/>
<source>For regular tables labels will show number of columns, indexes and triggers for each of tables.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="729"/>
+ <location filename="../dialogs/configdialog.ui" line="769"/>
<source>Display labels for regular tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="739"/>
+ <location filename="../dialogs/configdialog.ui" line="779"/>
<source>Virtual tables will be marked with a &apos;virtual&apos; label.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="742"/>
+ <location filename="../dialogs/configdialog.ui" line="782"/>
<source>Display labels for virtual tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="755"/>
+ <location filename="../dialogs/configdialog.ui" line="795"/>
<source>Expand views node when connected to a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="765"/>
+ <location filename="../dialogs/configdialog.ui" line="805"/>
<source>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="768"/>
+ <location filename="../dialogs/configdialog.ui" line="808"/>
<source>Sort objects (tables, indexes, triggers and views) alphabetically</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="778"/>
+ <location filename="../dialogs/configdialog.ui" line="818"/>
<source>Display system tables and indexes on the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="791"/>
+ <location filename="../dialogs/configdialog.ui" line="831"/>
<source>Table windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="797"/>
+ <location filename="../dialogs/configdialog.ui" line="837"/>
<source>When enabled, Table Windows will show up with the data tab, instead of the structure tab.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="800"/>
+ <location filename="../dialogs/configdialog.ui" line="840"/>
<source>Open Table Windows with the data tab for start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="813"/>
+ <location filename="../dialogs/configdialog.ui" line="853"/>
<source>View windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="819"/>
+ <location filename="../dialogs/configdialog.ui" line="859"/>
<source>When enabled, View Windows will show up with the data tab, instead of the structure tab.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="822"/>
+ <location filename="../dialogs/configdialog.ui" line="862"/>
<source>Open View Windows with the data tab for start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="933"/>
+ <location filename="../dialogs/configdialog.ui" line="875"/>
+ <source>Main window dock areas</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="881"/>
+ <source>Left and right areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="901"/>
+ <source>Top and bottom areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="1010"/>
<source>Hide built-in plugins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="962"/>
+ <location filename="../dialogs/configdialog.ui" line="1039"/>
<source>Current style:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="979"/>
+ <location filename="../dialogs/configdialog.ui" line="1056"/>
<source>Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="989"/>
+ <location filename="../dialogs/configdialog.ui" line="1066"/>
<source>Enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1162"/>
+ <location filename="../dialogs/configdialog.ui" line="1239"/>
<source>Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1211"/>
+ <location filename="../dialogs/configdialog.ui" line="1288"/>
<source>Active formatter plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1249"/>
+ <location filename="../dialogs/configdialog.ui" line="1326"/>
<source>SQL editor font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1265"/>
+ <location filename="../dialogs/configdialog.ui" line="1342"/>
<source>Database list font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1281"/>
+ <location filename="../dialogs/configdialog.ui" line="1358"/>
<source>Database list additional label font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1297"/>
+ <location filename="../dialogs/configdialog.ui" line="1374"/>
<source>Data view font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1313"/>
+ <location filename="../dialogs/configdialog.ui" line="1390"/>
<source>Status field font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1371"/>
+ <location filename="../dialogs/configdialog.ui" line="1448"/>
<source>SQL editor colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1377"/>
+ <location filename="../dialogs/configdialog.ui" line="1454"/>
<source>Current line background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1384"/>
+ <location filename="../dialogs/configdialog.ui" line="1461"/>
<source>&lt;p&gt;SQL strings are enclosed with single quote characters.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1387"/>
+ <location filename="../dialogs/configdialog.ui" line="1464"/>
<source>String foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1490"/>
+ <location filename="../dialogs/configdialog.ui" line="1567"/>
<source>&lt;p&gt;Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;:param_name&lt;/li&gt;&lt;li&gt;$param_name&lt;/li&gt;&lt;li&gt;@param_name&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1493"/>
+ <location filename="../dialogs/configdialog.ui" line="1570"/>
<source>Bind parameter foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1516"/>
+ <location filename="../dialogs/configdialog.ui" line="1593"/>
<source>Highlighted parenthesis background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1523"/>
+ <location filename="../dialogs/configdialog.ui" line="1600"/>
<source>&lt;p&gt;BLOB values are binary values represented as hexadecimal numbers, like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1526"/>
+ <location filename="../dialogs/configdialog.ui" line="1603"/>
<source>BLOB value foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1533"/>
+ <location filename="../dialogs/configdialog.ui" line="1610"/>
<source>Regular foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1540"/>
+ <location filename="../dialogs/configdialog.ui" line="1617"/>
<source>Line numbers area background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1563"/>
+ <location filename="../dialogs/configdialog.ui" line="1640"/>
<source>Keyword foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1570"/>
+ <location filename="../dialogs/configdialog.ui" line="1647"/>
<source>Number foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1577"/>
+ <location filename="../dialogs/configdialog.ui" line="1654"/>
<source>Comment foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1616"/>
+ <location filename="../dialogs/configdialog.ui" line="1693"/>
<source>&lt;p&gt;Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1619"/>
+ <location filename="../dialogs/configdialog.ui" line="1696"/>
<source>Valid objects foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1645"/>
+ <location filename="../dialogs/configdialog.ui" line="1722"/>
<source>Data view colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1651"/>
+ <location filename="../dialogs/configdialog.ui" line="1728"/>
<source>&lt;p&gt;Any data changes will be outlined with this color, until they&apos;re commited to the database.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1654"/>
+ <location filename="../dialogs/configdialog.ui" line="1731"/>
<source>Uncommited data outline color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1677"/>
+ <location filename="../dialogs/configdialog.ui" line="1754"/>
<source>&lt;p&gt;In case of error while commiting data changes, the problematic cell will be outlined with this color.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1680"/>
+ <location filename="../dialogs/configdialog.ui" line="1757"/>
<source>Commit error outline color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1703"/>
+ <location filename="../dialogs/configdialog.ui" line="1780"/>
<source>NULL value foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1726"/>
+ <location filename="../dialogs/configdialog.ui" line="1803"/>
<source>Deleted row background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1752"/>
+ <location filename="../dialogs/configdialog.ui" line="1829"/>
<source>Database list colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1758"/>
+ <location filename="../dialogs/configdialog.ui" line="1835"/>
<source>&lt;p&gt;Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1761"/>
+ <location filename="../dialogs/configdialog.ui" line="1838"/>
<source>Additional labels foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1787"/>
+ <location filename="../dialogs/configdialog.ui" line="1864"/>
<source>Status field colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1793"/>
+ <location filename="../dialogs/configdialog.ui" line="1870"/>
<source>Information message foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1816"/>
+ <location filename="../dialogs/configdialog.ui" line="1893"/>
<source>Warning message foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1839"/>
+ <location filename="../dialogs/configdialog.ui" line="1916"/>
<source>Error message foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="765"/>
+ <location filename="../dialogs/configdialog.cpp" line="785"/>
<source>Description:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="766"/>
+ <location filename="../dialogs/configdialog.cpp" line="786"/>
<source>Category:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="767"/>
+ <location filename="../dialogs/configdialog.cpp" line="787"/>
<source>Version:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="768"/>
+ <location filename="../dialogs/configdialog.cpp" line="788"/>
<source>Author:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="770"/>
+ <location filename="../dialogs/configdialog.cpp" line="790"/>
<source>Internal name:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="771"/>
+ <location filename="../dialogs/configdialog.cpp" line="791"/>
<source>Dependencies:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="772"/>
+ <location filename="../dialogs/configdialog.cpp" line="792"/>
<source>Conflicts:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="776"/>
+ <location filename="../dialogs/configdialog.cpp" line="796"/>
<source>Plugin details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1177"/>
+ <location filename="../dialogs/configdialog.cpp" line="1202"/>
<source>Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1241"/>
+ <location filename="../dialogs/configdialog.cpp" line="1266"/>
<source>%1 (built-in)</source>
<comment>plugins manager in configuration dialog</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1254"/>
+ <location filename="../dialogs/configdialog.cpp" line="1279"/>
<source>Details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1266"/>
+ <location filename="../dialogs/configdialog.cpp" line="1291"/>
<source>No plugins in this category.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1362"/>
+ <location filename="../dialogs/configdialog.cpp" line="1387"/>
<source>Add new data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1366"/>
+ <location filename="../dialogs/configdialog.cpp" line="1391"/>
<source>Rename selected data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1370"/>
+ <location filename="../dialogs/configdialog.cpp" line="1395"/>
<source>Delete selected data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1374"/>
+ <location filename="../dialogs/configdialog.cpp" line="1399"/>
<source>Help for configuring data type editors</source>
<translation type="unfinished"></translation>
</message>
@@ -1606,121 +1641,129 @@ but it&apos;s okay to use it.</source>
</message>
</context>
<context>
+ <name>CssDebugDialog</name>
+ <message>
+ <location filename="../dialogs/cssdebugdialog.ui" line="14"/>
+ <source>SQLiteStudio CSS console</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DataView</name>
<message>
- <location filename="../dataview.cpp" line="95"/>
+ <location filename="../dataview.cpp" line="98"/>
<source>Filter data</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="104"/>
+ <location filename="../dataview.cpp" line="107"/>
<source>Grid view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="105"/>
+ <location filename="../dataview.cpp" line="108"/>
<source>Form view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="148"/>
+ <location filename="../dataview.cpp" line="165"/>
<source>Refresh table data</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="162"/>
+ <location filename="../dataview.cpp" line="179"/>
<source>First page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="163"/>
+ <location filename="../dataview.cpp" line="180"/>
<source>Previous page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="165"/>
+ <location filename="../dataview.cpp" line="182"/>
<source>Next page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="166"/>
+ <location filename="../dataview.cpp" line="183"/>
<source>Last page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="171"/>
+ <location filename="../dataview.cpp" line="188"/>
<source>Apply filter</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="186"/>
+ <location filename="../dataview.cpp" line="203"/>
<source>Commit changes for selected cells</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="187"/>
+ <location filename="../dataview.cpp" line="204"/>
<source>Rollback changes for selected cells</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="188"/>
+ <location filename="../dataview.cpp" line="205"/>
<source>Show grid view of results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="189"/>
+ <location filename="../dataview.cpp" line="206"/>
<source>Show form view of results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="258"/>
+ <location filename="../dataview.cpp" line="275"/>
<source>Filter by text</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="259"/>
+ <location filename="../dataview.cpp" line="276"/>
<source>Filter by the Regular Expression</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="260"/>
+ <location filename="../dataview.cpp" line="277"/>
<source>Filter by SQL expression</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="291"/>
+ <location filename="../dataview.cpp" line="308"/>
<source>Tabs on top</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="292"/>
+ <location filename="../dataview.cpp" line="309"/>
<source>Tabs at bottom</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="510"/>
+ <location filename="../dataview.cpp" line="555"/>
<source>Total number of rows is being counted.
Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="521"/>
+ <location filename="../dataview.cpp" line="566"/>
<source>Row: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1898,37 +1941,37 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="488"/>
+ <location filename="../dialogs/dbdialog.cpp" line="483"/>
<source>Enter an unique database name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="497"/>
+ <location filename="../dialogs/dbdialog.cpp" line="492"/>
<source>This name is already in use. Please enter unique name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="505"/>
+ <location filename="../dialogs/dbdialog.cpp" line="500"/>
<source>Enter a database file path.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="512"/>
+ <location filename="../dialogs/dbdialog.cpp" line="507"/>
<source>This database is already on the list under name: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="528"/>
+ <location filename="../dialogs/dbdialog.cpp" line="523"/>
<source>Select a database type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="585"/>
+ <location filename="../dialogs/dbdialog.cpp" line="580"/>
<source>Auto-generated</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="590"/>
+ <location filename="../dialogs/dbdialog.cpp" line="585"/>
<source>Type the name</source>
<translation type="unfinished"></translation>
</message>
@@ -1989,327 +2032,348 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.ui" line="67"/>
+ <location filename="../dbtree/dbtree.ui" line="73"/>
<source>Filter by name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="99"/>
+ <location filename="../dbtree/dbtree.cpp" line="102"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="100"/>
+ <location filename="../dbtree/dbtree.cpp" line="103"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="101"/>
+ <location filename="../dbtree/dbtree.cpp" line="104"/>
<source>Select all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="102"/>
+ <location filename="../dbtree/dbtree.cpp" line="105"/>
<source>Create a group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="103"/>
+ <location filename="../dbtree/dbtree.cpp" line="106"/>
<source>Delete the group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="104"/>
+ <location filename="../dbtree/dbtree.cpp" line="107"/>
<source>Rename the group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="105"/>
+ <location filename="../dbtree/dbtree.cpp" line="108"/>
<source>Add a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="106"/>
+ <location filename="../dbtree/dbtree.cpp" line="109"/>
<source>Edit the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="107"/>
+ <location filename="../dbtree/dbtree.cpp" line="110"/>
<source>Remove the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="108"/>
+ <location filename="../dbtree/dbtree.cpp" line="111"/>
<source>Connect to the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="109"/>
+ <location filename="../dbtree/dbtree.cpp" line="112"/>
<source>Disconnect from the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="110"/>
+ <location filename="../dbtree/dbtree.cpp" line="113"/>
<source>Import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="111"/>
+ <location filename="../dbtree/dbtree.cpp" line="114"/>
<source>Export the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="112"/>
+ <location filename="../dbtree/dbtree.cpp" line="115"/>
<source>Convert database type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="113"/>
+ <location filename="../dbtree/dbtree.cpp" line="116"/>
<source>Vacuum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="114"/>
+ <location filename="../dbtree/dbtree.cpp" line="117"/>
<source>Integrity check</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="115"/>
+ <location filename="../dbtree/dbtree.cpp" line="118"/>
<source>Create a table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="116"/>
+ <location filename="../dbtree/dbtree.cpp" line="119"/>
<source>Edit the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="117"/>
+ <location filename="../dbtree/dbtree.cpp" line="120"/>
<source>Delete the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="118"/>
+ <location filename="../dbtree/dbtree.cpp" line="121"/>
<source>Export the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="119"/>
+ <location filename="../dbtree/dbtree.cpp" line="122"/>
<source>Import into the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="120"/>
+ <location filename="../dbtree/dbtree.cpp" line="123"/>
<source>Populate table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="121"/>
+ <location filename="../dbtree/dbtree.cpp" line="124"/>
<source>Create similar table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="122"/>
+ <location filename="../dbtree/dbtree.cpp" line="125"/>
<source>Reset autoincrement sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="123"/>
+ <location filename="../dbtree/dbtree.cpp" line="126"/>
<source>Create an index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="124"/>
+ <location filename="../dbtree/dbtree.cpp" line="127"/>
<source>Edit the index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="125"/>
+ <location filename="../dbtree/dbtree.cpp" line="128"/>
<source>Delete the index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="126"/>
+ <location filename="../dbtree/dbtree.cpp" line="129"/>
<source>Create a trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="127"/>
+ <location filename="../dbtree/dbtree.cpp" line="130"/>
<source>Edit the trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="128"/>
+ <location filename="../dbtree/dbtree.cpp" line="131"/>
<source>Delete the trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="129"/>
+ <location filename="../dbtree/dbtree.cpp" line="132"/>
<source>Create a view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="130"/>
+ <location filename="../dbtree/dbtree.cpp" line="133"/>
<source>Edit the view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="131"/>
+ <location filename="../dbtree/dbtree.cpp" line="134"/>
<source>Delete the view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="132"/>
+ <location filename="../dbtree/dbtree.cpp" line="135"/>
<source>Add a column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="133"/>
+ <location filename="../dbtree/dbtree.cpp" line="136"/>
<source>Edit the column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="134"/>
+ <location filename="../dbtree/dbtree.cpp" line="137"/>
<source>Delete the column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="135"/>
+ <location filename="../dbtree/dbtree.cpp" line="138"/>
<source>Delete selected items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="136"/>
+ <location filename="../dbtree/dbtree.cpp" line="139"/>
<source>Clear filter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="137"/>
+ <location filename="../dbtree/dbtree.cpp" line="140"/>
<source>Refresh all database schemas</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="138"/>
+ <location filename="../dbtree/dbtree.cpp" line="141"/>
<source>Refresh selected database schema</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="308"/>
- <location filename="../dbtree/dbtree.cpp" line="313"/>
+ <location filename="../dbtree/dbtree.cpp" line="142"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Erase table data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="312"/>
+ <location filename="../dbtree/dbtree.cpp" line="317"/>
<source>Database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="323"/>
+ <location filename="../dbtree/dbtree.cpp" line="327"/>
<source>Grouping</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Create group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
<source>Group name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Entry with name %1 already exists in group %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="953"/>
+ <location filename="../dbtree/dbtree.cpp" line="958"/>
<source>Delete group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="954"/>
+ <location filename="../dbtree/dbtree.cpp" line="959"/>
<source>Are you sure you want to delete group %1?
All objects from this group will be moved to parent group.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Delete database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Are you sure you want to delete database &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1050"/>
- <location filename="../dbtree/dbtree.cpp" line="1260"/>
+ <location filename="../dbtree/dbtree.cpp" line="1055"/>
+ <location filename="../dbtree/dbtree.cpp" line="1265"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1070"/>
- <location filename="../dbtree/dbtree.cpp" line="1235"/>
+ <location filename="../dbtree/dbtree.cpp" line="1075"/>
+ <location filename="../dbtree/dbtree.cpp" line="1240"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1334"/>
+ <location filename="../dbtree/dbtree.cpp" line="1339"/>
<source>Error while executing VACUUM on the database %1: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1336"/>
+ <location filename="../dbtree/dbtree.cpp" line="1341"/>
<source>VACUUM execution finished successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1353"/>
+ <location filename="../dbtree/dbtree.cpp" line="1358"/>
<source>Integrity check (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Reset autoincrement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1397"/>
+ <location filename="../dbtree/dbtree.cpp" line="1402"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1399"/>
+ <location filename="../dbtree/dbtree.cpp" line="1404"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1501"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Are you sure you want to delete all data from table &apos;%1&apos;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1429"/>
+ <source>An error occurred while trying to delete data from table &apos;%1&apos;: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1433"/>
+ <source>All data has been deleted for table &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1535"/>
<source>Following objects will be deleted: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1504"/>
+ <location filename="../dbtree/dbtree.cpp" line="1538"/>
<source>Following databases will be removed from list: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1507"/>
+ <location filename="../dbtree/dbtree.cpp" line="1541"/>
<source>Remainig objects from deleted group will be moved in place where the group used to be.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1509"/>
+ <location filename="../dbtree/dbtree.cpp" line="1543"/>
<source>%1&lt;br&gt;&lt;br&gt;Are you sure you want to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1511"/>
+ <location filename="../dbtree/dbtree.cpp" line="1545"/>
<source>Delete objects</source>
<translation type="unfinished"></translation>
</message>
@@ -2344,123 +2408,123 @@ All objects from this group will be moved to parent group.</source>
<context>
<name>DbTreeModel</name>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="407"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="422"/>
<source>Database: %1</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="412"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="427"/>
<source>Version:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="413"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="430"/>
<source>File size:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="414"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="433"/>
<source>Encoding:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="419"/>
- <source>Error details:</source>
+ <location filename="../dbtree/dbtreemodel.cpp" line="438"/>
+ <source>Error:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="429"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="448"/>
<source>Table : %1</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="452"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="471"/>
<source>Columns (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="455"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="474"/>
<source>Indexes (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="458"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="477"/>
<source>Triggers (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1073"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1092"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1074"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1093"/>
<source>Move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1076"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1095"/>
<source>Include data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1077"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1096"/>
<source>Include indexes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1078"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1097"/>
<source>Include triggers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1080"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1099"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1156"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1175"/>
<source>Referenced tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1157"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1176"/>
<source>Do you want to include following referenced tables as well:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1166"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1185"/>
<source>Name conflict</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1167"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1186"/>
<source>Following object already exists in the target database.
Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1180"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1199"/>
<source>SQL statements conversion</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1188"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1207"/>
<source>Following error occurred while converting SQL statements to the target SQLite version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1189"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1208"/>
<source>Would you like to ignore those errors and proceed?</source>
<translation type="unfinished"></translation>
</message>
@@ -2509,135 +2573,135 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>EditorWindow</name>
<message>
- <location filename="../windows/editorwindow.ui" line="39"/>
+ <location filename="../windows/editorwindow.ui" line="42"/>
<source>Query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.ui" line="109"/>
+ <location filename="../windows/editorwindow.ui" line="112"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="130"/>
+ <location filename="../windows/editorwindow.cpp" line="137"/>
<source>Results in the separate tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="131"/>
+ <location filename="../windows/editorwindow.cpp" line="138"/>
<source>Results below the query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="164"/>
- <location filename="../windows/editorwindow.cpp" line="166"/>
+ <location filename="../windows/editorwindow.cpp" line="171"/>
+ <location filename="../windows/editorwindow.cpp" line="173"/>
<source>SQL editor %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="324"/>
+ <location filename="../windows/editorwindow.cpp" line="331"/>
<source>Results</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="357"/>
+ <location filename="../windows/editorwindow.cpp" line="364"/>
<source>Execute query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="358"/>
+ <location filename="../windows/editorwindow.cpp" line="365"/>
<source>Explain query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="361"/>
+ <location filename="../windows/editorwindow.cpp" line="368"/>
<source>Clear execution history</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="363"/>
+ <location filename="../windows/editorwindow.cpp" line="370"/>
<source>Export results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="365"/>
+ <location filename="../windows/editorwindow.cpp" line="372"/>
<source>Create view from query</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="374"/>
+ <location filename="../windows/editorwindow.cpp" line="382"/>
<source>Previous database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="375"/>
+ <location filename="../windows/editorwindow.cpp" line="383"/>
<source>Next database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="378"/>
+ <location filename="../windows/editorwindow.cpp" line="386"/>
<source>Show next tab</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="379"/>
+ <location filename="../windows/editorwindow.cpp" line="387"/>
<source>Show previous tab</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="380"/>
+ <location filename="../windows/editorwindow.cpp" line="388"/>
<source>Focus results below</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="381"/>
+ <location filename="../windows/editorwindow.cpp" line="389"/>
<source>Focus SQL editor above</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="455"/>
+ <location filename="../windows/editorwindow.cpp" line="463"/>
<source>Active database (%1/%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="495"/>
+ <location filename="../windows/editorwindow.cpp" line="503"/>
<source>Query finished in %1 second(s). Rows affected: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="499"/>
+ <location filename="../windows/editorwindow.cpp" line="507"/>
<source>Query finished in %1 second(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Clear execution history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Are you sure you want to erase the entire SQL execution history? This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="613"/>
+ <location filename="../windows/editorwindow.cpp" line="621"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="634"/>
+ <location filename="../windows/editorwindow.cpp" line="642"/>
<source>No database selected in the SQL editor. Cannot create a view for unknown database.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="664"/>
+ <location filename="../windows/editorwindow.cpp" line="672"/>
<source>Editor window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
@@ -2891,49 +2955,49 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>FormView</name>
<message>
- <location filename="../formview.cpp" line="253"/>
+ <location filename="../formview.cpp" line="241"/>
<source>Commit row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="254"/>
+ <location filename="../formview.cpp" line="242"/>
<source>Rollback row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="255"/>
+ <location filename="../formview.cpp" line="243"/>
<source>First row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="256"/>
+ <location filename="../formview.cpp" line="244"/>
<source>Previous row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="257"/>
+ <location filename="../formview.cpp" line="245"/>
<source>Next row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="258"/>
+ <location filename="../formview.cpp" line="246"/>
<source>Last row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="259"/>
+ <location filename="../formview.cpp" line="247"/>
<source>Insert new row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="260"/>
+ <location filename="../formview.cpp" line="248"/>
<source>Delete current row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
@@ -2947,58 +3011,58 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="151"/>
+ <location filename="../windows/functionseditor.ui" line="260"/>
<source>Function name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="161"/>
+ <location filename="../windows/functionseditor.ui" line="273"/>
<source>Implementation language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="171"/>
+ <location filename="../windows/functionseditor.ui" line="253"/>
<source>Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="187"/>
+ <location filename="../windows/functionseditor.ui" line="157"/>
<source>Input arguments</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="193"/>
+ <location filename="../windows/functionseditor.ui" line="163"/>
<source>Undefined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="235"/>
+ <location filename="../windows/functionseditor.ui" line="205"/>
<source>Databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="241"/>
+ <location filename="../windows/functionseditor.ui" line="211"/>
<source>Register in all databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="248"/>
+ <location filename="../windows/functionseditor.ui" line="218"/>
<source>Register in following databases:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="278"/>
+ <location filename="../windows/functionseditor.ui" line="293"/>
<source>Initialization code:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="294"/>
+ <location filename="../windows/functionseditor.ui" line="309"/>
<location filename="../windows/functionseditor.cpp" line="426"/>
<source>Function implementation code:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="310"/>
+ <location filename="../windows/functionseditor.ui" line="325"/>
<source>Final step implementation code:</source>
<translation type="unfinished"></translation>
</message>
@@ -3322,293 +3386,298 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MainWindow</name>
<message>
- <location filename="../mainwindow.ui" line="66"/>
+ <location filename="../mainwindow.ui" line="81"/>
<source>Database toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="77"/>
+ <location filename="../mainwindow.ui" line="92"/>
<source>Structure toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="88"/>
+ <location filename="../mainwindow.ui" line="103"/>
<source>Tools</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="105"/>
+ <location filename="../mainwindow.ui" line="120"/>
<source>Window list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="119"/>
+ <location filename="../mainwindow.ui" line="134"/>
<source>View toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="104"/>
+ <location filename="../mainwindow.cpp" line="107"/>
<source>Configuration widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="105"/>
+ <location filename="../mainwindow.cpp" line="108"/>
<source>Syntax highlighting engines</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="106"/>
+ <location filename="../mainwindow.cpp" line="109"/>
<source>Data editors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="118"/>
+ <location filename="../mainwindow.cpp" line="121"/>
<source>Running in debug mode. Press %1 or use &apos;Help / Open debug console&apos; menu entry to open the debug console.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="120"/>
+ <location filename="../mainwindow.cpp" line="123"/>
<source>Running in debug mode. Debug messages are printed to the standard output.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="202"/>
+ <location filename="../mainwindow.cpp" line="211"/>
<source>You need to restart application to make the language change take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="245"/>
+ <location filename="../mainwindow.cpp" line="254"/>
<source>Open SQL editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="246"/>
+ <location filename="../mainwindow.cpp" line="255"/>
<source>Open DDL history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="247"/>
+ <location filename="../mainwindow.cpp" line="256"/>
<source>Open SQL functions editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="248"/>
+ <location filename="../mainwindow.cpp" line="257"/>
<source>Open collations editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="249"/>
+ <location filename="../mainwindow.cpp" line="258"/>
<source>Import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="250"/>
+ <location filename="../mainwindow.cpp" line="259"/>
<source>Export</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="252"/>
+ <location filename="../mainwindow.cpp" line="261"/>
<source>Open configuration dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="254"/>
+ <location filename="../mainwindow.cpp" line="263"/>
<source>Tile windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="255"/>
+ <location filename="../mainwindow.cpp" line="264"/>
<source>Tile windows horizontally</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="256"/>
+ <location filename="../mainwindow.cpp" line="265"/>
<source>Tile windows vertically</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="257"/>
+ <location filename="../mainwindow.cpp" line="266"/>
<source>Cascade windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="258"/>
+ <location filename="../mainwindow.cpp" line="267"/>
<source>Next window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="259"/>
+ <location filename="../mainwindow.cpp" line="268"/>
<source>Previous window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="260"/>
+ <location filename="../mainwindow.cpp" line="269"/>
<source>Hide status field</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="262"/>
+ <location filename="../mainwindow.cpp" line="271"/>
<source>Close selected window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="263"/>
+ <location filename="../mainwindow.cpp" line="272"/>
<source>Close all windows but selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="264"/>
+ <location filename="../mainwindow.cpp" line="273"/>
<source>Close all windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="265"/>
+ <location filename="../mainwindow.cpp" line="274"/>
<source>Restore recently closed window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="266"/>
+ <location filename="../mainwindow.cpp" line="275"/>
<source>Rename selected window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="268"/>
+ <location filename="../mainwindow.cpp" line="277"/>
<source>Open Debug Console</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="269"/>
+ <location filename="../mainwindow.cpp" line="278"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="279"/>
<source>Report a bug</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="270"/>
+ <location filename="../mainwindow.cpp" line="280"/>
<source>Propose a new feature</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="271"/>
+ <location filename="../mainwindow.cpp" line="281"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="272"/>
+ <location filename="../mainwindow.cpp" line="282"/>
<source>Licenses</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="273"/>
+ <location filename="../mainwindow.cpp" line="283"/>
<source>Open home page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="274"/>
+ <location filename="../mainwindow.cpp" line="284"/>
<source>Open forum page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="275"/>
+ <location filename="../mainwindow.cpp" line="285"/>
<source>User Manual</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="276"/>
+ <location filename="../mainwindow.cpp" line="286"/>
<source>SQLite documentation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="277"/>
+ <location filename="../mainwindow.cpp" line="287"/>
<source>Report history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="278"/>
+ <location filename="../mainwindow.cpp" line="289"/>
<source>Check for updates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="315"/>
+ <location filename="../mainwindow.cpp" line="327"/>
<source>Database</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="335"/>
+ <location filename="../mainwindow.cpp" line="347"/>
<source>Structure</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="356"/>
+ <location filename="../mainwindow.cpp" line="368"/>
<source>View</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="360"/>
+ <location filename="../mainwindow.cpp" line="372"/>
<source>Window list</source>
<comment>menubar view menu</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="381"/>
+ <location filename="../mainwindow.cpp" line="393"/>
<source>Tools</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="395"/>
+ <location filename="../mainwindow.cpp" line="407"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="549"/>
+ <location filename="../mainwindow.cpp" line="569"/>
<source>Could not set style: %1</source>
<comment>main window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="621"/>
+ <location filename="../mainwindow.cpp" line="642"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="637"/>
+ <location filename="../mainwindow.cpp" line="658"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Rename window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Enter new name for the window:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="738"/>
+ <location filename="../mainwindow.cpp" line="777"/>
<source>New updates are available. &lt;a href=&quot;%1&quot;&gt;Click here for details&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="746"/>
+ <location filename="../mainwindow.cpp" line="785"/>
<source>You&apos;re running the most recent version. No updates are available.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="845"/>
+ <location filename="../mainwindow.cpp" line="891"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="852"/>
+ <location filename="../mainwindow.cpp" line="898"/>
<source>Database passed in command line parameters (%1) has been temporarily added to the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="857"/>
+ <location filename="../mainwindow.cpp" line="903"/>
<source>Could not add database %1 to list.</source>
<translation type="unfinished"></translation>
</message>
@@ -3634,29 +3703,29 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MultiEditor</name>
<message>
- <location filename="../multieditor/multieditor.cpp" line="53"/>
+ <location filename="../multieditor/multieditor.cpp" line="62"/>
<source>Null value</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="68"/>
+ <location filename="../multieditor/multieditor.cpp" line="77"/>
<source>Configure editors for this data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="271"/>
+ <location filename="../multieditor/multieditor.cpp" line="287"/>
<source>Data editor plugin &apos;%1&apos; not loaded, while it is defined for editing &apos;%1&apos; data type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="356"/>
+ <location filename="../multieditor/multieditor.cpp" line="372"/>
<source>Deleted</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="358"/>
+ <location filename="../multieditor/multieditor.cpp" line="374"/>
<source>Read only</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
@@ -3908,27 +3977,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="158"/>
+ <location filename="../dialogs/populatedialog.cpp" line="54"/>
+ <source>Abort</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/populatedialog.cpp" line="161"/>
<source>Configure</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="256"/>
+ <location filename="../dialogs/populatedialog.cpp" line="259"/>
<source>Populating configuration for this column is invalid or incomplete.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="287"/>
+ <location filename="../dialogs/populatedialog.cpp" line="290"/>
<source>Select database with table to populate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="288"/>
+ <location filename="../dialogs/populatedialog.cpp" line="291"/>
<source>Select table to populate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="289"/>
+ <location filename="../dialogs/populatedialog.cpp" line="292"/>
<source>You have to select at least one column.</source>
<translation type="unfinished"></translation>
</message>
@@ -4053,32 +4127,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="487"/>
+ <location filename="../dataview.cpp" line="532"/>
<source>Total pages available: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="497"/>
+ <location filename="../dataview.cpp" line="542"/>
<source>Total rows loaded: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="17"/>
+ <location filename="../dataview.h" line="18"/>
<source>Data view (both grid and form)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="18"/>
+ <location filename="../dataview.h" line="19"/>
<source>Refresh data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="19"/>
+ <location filename="../dataview.h" line="20"/>
<source>Switch to grid view of the data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="20"/>
+ <location filename="../dataview.h" line="21"/>
<source>Switch to form view of the data</source>
<translation type="unfinished"></translation>
</message>
@@ -4200,41 +4274,46 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="42"/>
+ <location filename="../mainwindow.h" line="43"/>
<source>Main window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="43"/>
+ <location filename="../mainwindow.h" line="44"/>
<source>Open SQL editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="44"/>
+ <location filename="../mainwindow.h" line="45"/>
<source>Previous window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="45"/>
+ <location filename="../mainwindow.h" line="46"/>
<source>Next window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="46"/>
+ <location filename="../mainwindow.h" line="47"/>
<source>Hide status area</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="47"/>
+ <location filename="../mainwindow.h" line="48"/>
<source>Open configuration dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="48"/>
+ <location filename="../mainwindow.h" line="49"/>
<source>Open Debug Console</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../mainwindow.h" line="50"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../multieditor/multieditortext.h" line="12"/>
<source>Cell text value editor</source>
<translation type="unfinished"></translation>
@@ -4694,101 +4773,112 @@ find next</source>
</message>
<message>
<location filename="../sqleditor.cpp" line="128"/>
- <source>Load SQL from file</source>
+ <source>Select file to save SQL</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="129"/>
- <source>Delete line</source>
+ <source>Load SQL from file</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="130"/>
- <source>Move block down</source>
+ <source>Delete line</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="131"/>
- <source>Move block up</source>
+ <source>Move block down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="132"/>
- <source>Copy block down</source>
+ <source>Move block up</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="133"/>
- <source>Copy up down</source>
+ <source>Copy block down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="134"/>
- <source>Find</source>
+ <source>Copy up down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="135"/>
- <source>Find next</source>
+ <source>Find</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="136"/>
- <source>Find previous</source>
+ <source>Find next</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="137"/>
+ <source>Find previous</source>
+ <comment>sql editor</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="138"/>
<source>Replace</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="412"/>
+ <location filename="../sqleditor.cpp" line="252"/>
+ <source>Saved SQL contents to file: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="431"/>
<source>Syntax completion can be used only when a valid database is set for the SQL editor.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="800"/>
+ <location filename="../sqleditor.cpp" line="819"/>
<source>Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1027"/>
+ <location filename="../sqleditor.cpp" line="1054"/>
<source>Save to file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1036"/>
+ <location filename="../sqleditor.cpp" line="242"/>
<source>Could not open file &apos;%1&apos; for writing: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1050"/>
+ <location filename="../sqleditor.cpp" line="1066"/>
<source>SQL scripts (*.sql);;All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1051"/>
+ <location filename="../sqleditor.cpp" line="1067"/>
<source>Open file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1060"/>
+ <location filename="../sqleditor.cpp" line="1076"/>
<source>Could not open file &apos;%1&apos; for reading: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1267"/>
+ <location filename="../sqleditor.cpp" line="1285"/>
<source>Reached the end of document. Hit the find again to restart the search.</source>
<translation type="unfinished"></translation>
</message>
@@ -4848,7 +4938,7 @@ find next</source>
<name>SqlQueryModel</name>
<message>
<location filename="../datagrid/sqlquerymodel.cpp" line="63"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="474"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="487"/>
<source>Only one query can be executed simultaneously.</source>
<translation type="unfinished"></translation>
</message>
@@ -4873,43 +4963,43 @@ find next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="415"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="420"/>
<source>An error occurred while commiting the transaction: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="434"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="445"/>
<source>An error occurred while rolling back the transaction: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="560"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="573"/>
<source>Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="586"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="599"/>
<source>An error occurred while commiting the data: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1031"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1086"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1045"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1100"/>
<source>Error while executing SQL query on database &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1083"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1097"/>
<source>Error while loading query results: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Insert multiple rows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Number of rows to insert:</source>
<translation type="unfinished"></translation>
</message>
@@ -5028,12 +5118,12 @@ find next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="161"/>
+ <location filename="../statusfield.cpp" line="164"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="168"/>
+ <location filename="../statusfield.cpp" line="171"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
@@ -5238,411 +5328,421 @@ but it&apos;s okay to use them anyway.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="184"/>
+ <location filename="../windows/tablewindow.ui" line="190"/>
<source>Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="201"/>
+ <location filename="../windows/tablewindow.ui" line="207"/>
<source>Constraints</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="215"/>
+ <location filename="../windows/tablewindow.ui" line="221"/>
<source>Indexes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="244"/>
+ <location filename="../windows/tablewindow.ui" line="250"/>
<source>Triggers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="276"/>
+ <location filename="../windows/tablewindow.ui" line="282"/>
<source>DDL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="180"/>
+ <location filename="../windows/tablewindow.cpp" line="191"/>
<source>Export table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="181"/>
+ <location filename="../windows/tablewindow.cpp" line="192"/>
<source>Import data to table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="182"/>
+ <location filename="../windows/tablewindow.cpp" line="193"/>
<source>Populate table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="196"/>
+ <location filename="../windows/tablewindow.cpp" line="207"/>
<source>Refresh structure</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="198"/>
+ <location filename="../windows/tablewindow.cpp" line="209"/>
<source>Commit structure changes</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="199"/>
+ <location filename="../windows/tablewindow.cpp" line="210"/>
<source>Rollback structure changes</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="200"/>
+ <location filename="../windows/tablewindow.cpp" line="211"/>
<source>Add column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="201"/>
+ <location filename="../windows/tablewindow.cpp" line="212"/>
<source>Edit column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="202"/>
- <location filename="../windows/tablewindow.cpp" line="289"/>
+ <location filename="../windows/tablewindow.cpp" line="213"/>
+ <location filename="../windows/tablewindow.cpp" line="300"/>
<source>Delete column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="203"/>
+ <location filename="../windows/tablewindow.cpp" line="214"/>
<source>Move column up</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="204"/>
+ <location filename="../windows/tablewindow.cpp" line="215"/>
<source>Move column down</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="210"/>
+ <location filename="../windows/tablewindow.cpp" line="221"/>
<source>Create similar table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="211"/>
+ <location filename="../windows/tablewindow.cpp" line="222"/>
<source>Reset autoincrement value</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="214"/>
+ <location filename="../windows/tablewindow.cpp" line="225"/>
<source>Add table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="215"/>
+ <location filename="../windows/tablewindow.cpp" line="226"/>
<source>Edit table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="216"/>
+ <location filename="../windows/tablewindow.cpp" line="227"/>
<source>Delete table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="217"/>
+ <location filename="../windows/tablewindow.cpp" line="228"/>
<source>Move table constraint up</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="218"/>
+ <location filename="../windows/tablewindow.cpp" line="229"/>
<source>Move table constraint down</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="220"/>
+ <location filename="../windows/tablewindow.cpp" line="231"/>
<source>Add table primary key</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="221"/>
+ <location filename="../windows/tablewindow.cpp" line="232"/>
<source>Add table foreign key</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="222"/>
+ <location filename="../windows/tablewindow.cpp" line="233"/>
<source>Add table unique constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="223"/>
+ <location filename="../windows/tablewindow.cpp" line="234"/>
<source>Add table check constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="241"/>
+ <location filename="../windows/tablewindow.cpp" line="252"/>
<source>Refresh index list</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="243"/>
+ <location filename="../windows/tablewindow.cpp" line="254"/>
<source>Create index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="244"/>
+ <location filename="../windows/tablewindow.cpp" line="255"/>
<source>Edit index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="245"/>
+ <location filename="../windows/tablewindow.cpp" line="256"/>
<source>Delete index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="251"/>
+ <location filename="../windows/tablewindow.cpp" line="262"/>
<source>Refresh trigger list</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="253"/>
+ <location filename="../windows/tablewindow.cpp" line="264"/>
<source>Create trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="254"/>
+ <location filename="../windows/tablewindow.cpp" line="265"/>
<source>Edit trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="255"/>
+ <location filename="../windows/tablewindow.cpp" line="266"/>
<source>Delete trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="288"/>
+ <location filename="../windows/tablewindow.cpp" line="299"/>
<source>Are you sure you want to delete column &apos;%1&apos;?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="316"/>
+ <location filename="../windows/tablewindow.cpp" line="327"/>
<source>Following problems will take place while modifying the table.
Would you like to proceed?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="318"/>
+ <location filename="../windows/tablewindow.cpp" line="329"/>
<source>Table modification</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="456"/>
+ <location filename="../windows/tablewindow.cpp" line="467"/>
<source>Could not load data for table %1. Error details: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="569"/>
+ <location filename="../windows/tablewindow.cpp" line="580"/>
<source>Could not process the %1 table correctly. Unable to open a table window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="637"/>
- <source>Could not restore window, because database %1 could not be resolved.</source>
+ <location filename="../windows/tablewindow.cpp" line="635"/>
+ <source>Could not restore window %1, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="641"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="648"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="646"/>
- <source>Could not restore window, because the table %1 doesn&apos;t exist in the database %2.</source>
+ <location filename="../windows/tablewindow.cpp" line="657"/>
+ <source>Could not restore window &apos;%1&apos;&apos;, because the table %2 doesn&apos;t exist in the database %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="671"/>
- <location filename="../windows/tablewindow.cpp" line="673"/>
+ <location filename="../windows/tablewindow.cpp" line="682"/>
+ <location filename="../windows/tablewindow.cpp" line="684"/>
<source>New table %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="824"/>
+ <location filename="../windows/tablewindow.cpp" line="835"/>
<source>Could not commit table structure. Error message: %1</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Reset autoincrement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="853"/>
+ <location filename="../windows/tablewindow.cpp" line="864"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="855"/>
+ <location filename="../windows/tablewindow.cpp" line="866"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>Empty name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>A blank name for the table is allowed in SQLite, but it is not recommended.
Are you sure you want to create a table with blank name?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="944"/>
+ <location filename="../windows/tablewindow.cpp" line="955"/>
<source>Cannot create a table without at least one column.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="970"/>
+ <location filename="../windows/tablewindow.cpp" line="981"/>
<source>Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="977"/>
+ <location filename="../windows/tablewindow.cpp" line="988"/>
<source>Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1114"/>
+ <location filename="../windows/tablewindow.cpp" line="1125"/>
<source>Are you sure you want to delete table constraint &apos;%1&apos;?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1115"/>
+ <location filename="../windows/tablewindow.cpp" line="1126"/>
<source>Delete constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1169"/>
+ <location filename="../windows/tablewindow.cpp" line="1180"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1182"/>
+ <location filename="../windows/tablewindow.cpp" line="1193"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1214"/>
+ <location filename="../windows/tablewindow.cpp" line="1225"/>
<source>Uncommited changes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1215"/>
+ <location filename="../windows/tablewindow.cpp" line="1226"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Go back to structure tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Commit modifications and browse data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1368"/>
+ <location filename="../windows/tablewindow.cpp" line="1379"/>
<source>Name</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1369"/>
+ <location filename="../windows/tablewindow.cpp" line="1380"/>
<source>Unique</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1370"/>
+ <location filename="../windows/tablewindow.cpp" line="1381"/>
<source>Columns</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1371"/>
+ <location filename="../windows/tablewindow.cpp" line="1382"/>
<source>Partial index condition</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1425"/>
+ <location filename="../windows/tablewindow.cpp" line="1436"/>
<source>Name</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1426"/>
+ <location filename="../windows/tablewindow.cpp" line="1437"/>
<source>Event</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1427"/>
+ <location filename="../windows/tablewindow.cpp" line="1438"/>
<source>Condition</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1428"/>
+ <location filename="../windows/tablewindow.cpp" line="1439"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1517"/>
+ <location filename="../windows/tablewindow.cpp" line="1528"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1519"/>
+ <location filename="../windows/tablewindow.cpp" line="1530"/>
<source>Table window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1521"/>
+ <location filename="../windows/tablewindow.cpp" line="1532"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications.</source>
<translation type="unfinished"></translation>
</message>
@@ -5813,180 +5913,186 @@ Do you want to commit the structure, or do you want to go back to the structure
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="115"/>
- <source>Could not restore window, because database %1 could not be resolved.</source>
+ <location filename="../windows/viewwindow.cpp" line="103"/>
+ <location filename="../windows/viewwindow.cpp" line="109"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or view was stored in session for this window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="121"/>
- <source>Could not restore window, because database %1 could not be open.</source>
+ <location filename="../windows/viewwindow.cpp" line="116"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="130"/>
- <source>Could not restore window, because the view %1 doesn&apos;t exist in the database %2.</source>
+ <location filename="../windows/viewwindow.cpp" line="122"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="155"/>
- <location filename="../windows/viewwindow.cpp" line="157"/>
+ <location filename="../windows/viewwindow.cpp" line="131"/>
+ <source>Could not restore window &apos;%1&apos;, because the view %2 doesn&apos;t exist in the database %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="156"/>
+ <location filename="../windows/viewwindow.cpp" line="158"/>
<source>New view %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="275"/>
+ <location filename="../windows/viewwindow.cpp" line="283"/>
<source>Refresh the view</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="277"/>
+ <location filename="../windows/viewwindow.cpp" line="285"/>
<source>Commit the view changes</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="278"/>
+ <location filename="../windows/viewwindow.cpp" line="286"/>
<source>Rollback the view changes</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="285"/>
+ <location filename="../windows/viewwindow.cpp" line="293"/>
<source>Refresh trigger list</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="287"/>
+ <location filename="../windows/viewwindow.cpp" line="295"/>
<source>Create new trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="288"/>
+ <location filename="../windows/viewwindow.cpp" line="296"/>
<source>Edit selected trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="289"/>
+ <location filename="../windows/viewwindow.cpp" line="297"/>
<source>Delete selected trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="310"/>
+ <location filename="../windows/viewwindow.cpp" line="318"/>
<source>View window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="312"/>
+ <location filename="../windows/viewwindow.cpp" line="320"/>
<source>View window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="314"/>
+ <location filename="../windows/viewwindow.cpp" line="322"/>
<source>View window &quot;%1&quot; has uncommited structure modifications.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="455"/>
+ <location filename="../windows/viewwindow.cpp" line="463"/>
<source>Could not load data for view %1. Error details: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="466"/>
+ <location filename="../windows/viewwindow.cpp" line="474"/>
<source>Uncommited changes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="467"/>
+ <location filename="../windows/viewwindow.cpp" line="475"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Go back to structure tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Commit modifications and browse data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="528"/>
+ <location filename="../windows/viewwindow.cpp" line="536"/>
<source>Could not commit view changes. Error message: %1</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="606"/>
+ <location filename="../windows/viewwindow.cpp" line="614"/>
<source>Name</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="607"/>
+ <location filename="../windows/viewwindow.cpp" line="615"/>
<source>Instead of</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="608"/>
+ <location filename="../windows/viewwindow.cpp" line="616"/>
<source>Condition</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="609"/>
+ <location filename="../windows/viewwindow.cpp" line="617"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="649"/>
+ <location filename="../windows/viewwindow.cpp" line="657"/>
<source>Could not process the %1 view correctly. Unable to open a view window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>Empty name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>A blank name for the view is allowed in SQLite, but it is not recommended.
Are you sure you want to create a view with blank name?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="699"/>
+ <location filename="../windows/viewwindow.cpp" line="707"/>
<source>The SELECT statement could not be parsed. Please correct the query and retry.
Details: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="707"/>
+ <location filename="../windows/viewwindow.cpp" line="715"/>
<source>The view could not be modified due to internal SQLiteStudio error. Please report this!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="733"/>
+ <location filename="../windows/viewwindow.cpp" line="741"/>
<source>The view code could not be parsed properly for execution. This is a SQLiteStudio&apos;s bug. Please report it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="746"/>
+ <location filename="../windows/viewwindow.cpp" line="754"/>
<source>Following problems will take place while modifying the view.
Would you like to proceed?</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="748"/>
+ <location filename="../windows/viewwindow.cpp" line="756"/>
<source>View modification</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
@@ -5995,7 +6101,7 @@ Would you like to proceed?</source>
<context>
<name>WidgetCover</name>
<message>
- <location filename="../common/widgetcover.cpp" line="198"/>
+ <location filename="../common/widgetcover.cpp" line="234"/>
<source>Interrupt</source>
<translation type="unfinished"></translation>
</message>
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.ts
index 428d538..87e68ab 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.ts
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.ts
@@ -353,32 +353,32 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="110"/>
+ <location filename="../windows/collationseditor.ui" line="194"/>
<source>Collation name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="120"/>
+ <location filename="../windows/collationseditor.ui" line="204"/>
<source>Implementation language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="152"/>
+ <location filename="../windows/collationseditor.ui" line="132"/>
<source>Databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="158"/>
+ <location filename="../windows/collationseditor.ui" line="138"/>
<source>Register in all databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="165"/>
+ <location filename="../windows/collationseditor.ui" line="145"/>
<source>Register in following databases:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="186"/>
+ <location filename="../windows/collationseditor.ui" line="166"/>
<source>Implementation code:</source>
<translation type="unfinished"></translation>
</message>
@@ -888,7 +888,7 @@ but it&apos;s okay to use it.</source>
<name>ConfigDialog</name>
<message>
<location filename="../dialogs/configdialog.ui" line="14"/>
- <location filename="../dialogs/configdialog.ui" line="1216"/>
+ <location filename="../dialogs/configdialog.ui" line="1293"/>
<source>Configuration</source>
<translation type="unfinished"></translation>
</message>
@@ -1065,406 +1065,441 @@ but it&apos;s okay to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="656"/>
- <location filename="../dialogs/configdialog.ui" line="1206"/>
+ <location filename="../dialogs/configdialog.ui" line="671"/>
+ <location filename="../dialogs/configdialog.ui" line="1283"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="662"/>
+ <location filename="../dialogs/configdialog.ui" line="677"/>
<source>Changing language requires application restart to take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="679"/>
+ <location filename="../dialogs/configdialog.ui" line="694"/>
+ <source>Compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="700"/>
+ <source>&lt;p&gt;Compact layout reduces all margins and spacing on the UI to minimum, making space for displaying more data. It makes the interface a little bit less aesthetic, but allows to display more data at once.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="703"/>
+ <source>Use compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="709"/>
+ <source>General.CompactLayout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="719"/>
<source>Database list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="685"/>
+ <location filename="../dialogs/configdialog.ui" line="725"/>
<source>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="688"/>
+ <location filename="../dialogs/configdialog.ui" line="728"/>
<source>Sort table columns alphabetically</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="698"/>
+ <location filename="../dialogs/configdialog.ui" line="738"/>
<source>Expand tables node when connected to a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="708"/>
+ <location filename="../dialogs/configdialog.ui" line="748"/>
<source>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="711"/>
+ <location filename="../dialogs/configdialog.ui" line="751"/>
<source>Display additional labels on the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="726"/>
+ <location filename="../dialogs/configdialog.ui" line="766"/>
<source>For regular tables labels will show number of columns, indexes and triggers for each of tables.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="729"/>
+ <location filename="../dialogs/configdialog.ui" line="769"/>
<source>Display labels for regular tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="739"/>
+ <location filename="../dialogs/configdialog.ui" line="779"/>
<source>Virtual tables will be marked with a &apos;virtual&apos; label.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="742"/>
+ <location filename="../dialogs/configdialog.ui" line="782"/>
<source>Display labels for virtual tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="755"/>
+ <location filename="../dialogs/configdialog.ui" line="795"/>
<source>Expand views node when connected to a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="765"/>
+ <location filename="../dialogs/configdialog.ui" line="805"/>
<source>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="768"/>
+ <location filename="../dialogs/configdialog.ui" line="808"/>
<source>Sort objects (tables, indexes, triggers and views) alphabetically</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="778"/>
+ <location filename="../dialogs/configdialog.ui" line="818"/>
<source>Display system tables and indexes on the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="791"/>
+ <location filename="../dialogs/configdialog.ui" line="831"/>
<source>Table windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="797"/>
+ <location filename="../dialogs/configdialog.ui" line="837"/>
<source>When enabled, Table Windows will show up with the data tab, instead of the structure tab.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="800"/>
+ <location filename="../dialogs/configdialog.ui" line="840"/>
<source>Open Table Windows with the data tab for start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="813"/>
+ <location filename="../dialogs/configdialog.ui" line="853"/>
<source>View windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="819"/>
+ <location filename="../dialogs/configdialog.ui" line="859"/>
<source>When enabled, View Windows will show up with the data tab, instead of the structure tab.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="822"/>
+ <location filename="../dialogs/configdialog.ui" line="862"/>
<source>Open View Windows with the data tab for start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="933"/>
+ <location filename="../dialogs/configdialog.ui" line="875"/>
+ <source>Main window dock areas</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="881"/>
+ <source>Left and right areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="901"/>
+ <source>Top and bottom areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="1010"/>
<source>Hide built-in plugins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="962"/>
+ <location filename="../dialogs/configdialog.ui" line="1039"/>
<source>Current style:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="979"/>
+ <location filename="../dialogs/configdialog.ui" line="1056"/>
<source>Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="989"/>
+ <location filename="../dialogs/configdialog.ui" line="1066"/>
<source>Enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1162"/>
+ <location filename="../dialogs/configdialog.ui" line="1239"/>
<source>Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1211"/>
+ <location filename="../dialogs/configdialog.ui" line="1288"/>
<source>Active formatter plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1249"/>
+ <location filename="../dialogs/configdialog.ui" line="1326"/>
<source>SQL editor font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1265"/>
+ <location filename="../dialogs/configdialog.ui" line="1342"/>
<source>Database list font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1281"/>
+ <location filename="../dialogs/configdialog.ui" line="1358"/>
<source>Database list additional label font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1297"/>
+ <location filename="../dialogs/configdialog.ui" line="1374"/>
<source>Data view font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1313"/>
+ <location filename="../dialogs/configdialog.ui" line="1390"/>
<source>Status field font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1371"/>
+ <location filename="../dialogs/configdialog.ui" line="1448"/>
<source>SQL editor colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1377"/>
+ <location filename="../dialogs/configdialog.ui" line="1454"/>
<source>Current line background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1384"/>
+ <location filename="../dialogs/configdialog.ui" line="1461"/>
<source>&lt;p&gt;SQL strings are enclosed with single quote characters.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1387"/>
+ <location filename="../dialogs/configdialog.ui" line="1464"/>
<source>String foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1490"/>
+ <location filename="../dialogs/configdialog.ui" line="1567"/>
<source>&lt;p&gt;Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;:param_name&lt;/li&gt;&lt;li&gt;$param_name&lt;/li&gt;&lt;li&gt;@param_name&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1493"/>
+ <location filename="../dialogs/configdialog.ui" line="1570"/>
<source>Bind parameter foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1516"/>
+ <location filename="../dialogs/configdialog.ui" line="1593"/>
<source>Highlighted parenthesis background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1523"/>
+ <location filename="../dialogs/configdialog.ui" line="1600"/>
<source>&lt;p&gt;BLOB values are binary values represented as hexadecimal numbers, like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1526"/>
+ <location filename="../dialogs/configdialog.ui" line="1603"/>
<source>BLOB value foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1533"/>
+ <location filename="../dialogs/configdialog.ui" line="1610"/>
<source>Regular foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1540"/>
+ <location filename="../dialogs/configdialog.ui" line="1617"/>
<source>Line numbers area background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1563"/>
+ <location filename="../dialogs/configdialog.ui" line="1640"/>
<source>Keyword foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1570"/>
+ <location filename="../dialogs/configdialog.ui" line="1647"/>
<source>Number foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1577"/>
+ <location filename="../dialogs/configdialog.ui" line="1654"/>
<source>Comment foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1616"/>
+ <location filename="../dialogs/configdialog.ui" line="1693"/>
<source>&lt;p&gt;Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1619"/>
+ <location filename="../dialogs/configdialog.ui" line="1696"/>
<source>Valid objects foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1645"/>
+ <location filename="../dialogs/configdialog.ui" line="1722"/>
<source>Data view colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1651"/>
+ <location filename="../dialogs/configdialog.ui" line="1728"/>
<source>&lt;p&gt;Any data changes will be outlined with this color, until they&apos;re commited to the database.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1654"/>
+ <location filename="../dialogs/configdialog.ui" line="1731"/>
<source>Uncommited data outline color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1677"/>
+ <location filename="../dialogs/configdialog.ui" line="1754"/>
<source>&lt;p&gt;In case of error while commiting data changes, the problematic cell will be outlined with this color.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1680"/>
+ <location filename="../dialogs/configdialog.ui" line="1757"/>
<source>Commit error outline color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1703"/>
+ <location filename="../dialogs/configdialog.ui" line="1780"/>
<source>NULL value foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1726"/>
+ <location filename="../dialogs/configdialog.ui" line="1803"/>
<source>Deleted row background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1752"/>
+ <location filename="../dialogs/configdialog.ui" line="1829"/>
<source>Database list colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1758"/>
+ <location filename="../dialogs/configdialog.ui" line="1835"/>
<source>&lt;p&gt;Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1761"/>
+ <location filename="../dialogs/configdialog.ui" line="1838"/>
<source>Additional labels foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1787"/>
+ <location filename="../dialogs/configdialog.ui" line="1864"/>
<source>Status field colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1793"/>
+ <location filename="../dialogs/configdialog.ui" line="1870"/>
<source>Information message foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1816"/>
+ <location filename="../dialogs/configdialog.ui" line="1893"/>
<source>Warning message foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1839"/>
+ <location filename="../dialogs/configdialog.ui" line="1916"/>
<source>Error message foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="765"/>
+ <location filename="../dialogs/configdialog.cpp" line="785"/>
<source>Description:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="766"/>
+ <location filename="../dialogs/configdialog.cpp" line="786"/>
<source>Category:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="767"/>
+ <location filename="../dialogs/configdialog.cpp" line="787"/>
<source>Version:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="768"/>
+ <location filename="../dialogs/configdialog.cpp" line="788"/>
<source>Author:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="770"/>
+ <location filename="../dialogs/configdialog.cpp" line="790"/>
<source>Internal name:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="771"/>
+ <location filename="../dialogs/configdialog.cpp" line="791"/>
<source>Dependencies:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="772"/>
+ <location filename="../dialogs/configdialog.cpp" line="792"/>
<source>Conflicts:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="776"/>
+ <location filename="../dialogs/configdialog.cpp" line="796"/>
<source>Plugin details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1177"/>
+ <location filename="../dialogs/configdialog.cpp" line="1202"/>
<source>Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1241"/>
+ <location filename="../dialogs/configdialog.cpp" line="1266"/>
<source>%1 (built-in)</source>
<comment>plugins manager in configuration dialog</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1254"/>
+ <location filename="../dialogs/configdialog.cpp" line="1279"/>
<source>Details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1266"/>
+ <location filename="../dialogs/configdialog.cpp" line="1291"/>
<source>No plugins in this category.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1362"/>
+ <location filename="../dialogs/configdialog.cpp" line="1387"/>
<source>Add new data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1366"/>
+ <location filename="../dialogs/configdialog.cpp" line="1391"/>
<source>Rename selected data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1370"/>
+ <location filename="../dialogs/configdialog.cpp" line="1395"/>
<source>Delete selected data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1374"/>
+ <location filename="../dialogs/configdialog.cpp" line="1399"/>
<source>Help for configuring data type editors</source>
<translation type="unfinished"></translation>
</message>
@@ -1606,121 +1641,129 @@ but it&apos;s okay to use it.</source>
</message>
</context>
<context>
+ <name>CssDebugDialog</name>
+ <message>
+ <location filename="../dialogs/cssdebugdialog.ui" line="14"/>
+ <source>SQLiteStudio CSS console</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DataView</name>
<message>
- <location filename="../dataview.cpp" line="95"/>
+ <location filename="../dataview.cpp" line="98"/>
<source>Filter data</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="104"/>
+ <location filename="../dataview.cpp" line="107"/>
<source>Grid view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="105"/>
+ <location filename="../dataview.cpp" line="108"/>
<source>Form view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="148"/>
+ <location filename="../dataview.cpp" line="165"/>
<source>Refresh table data</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="162"/>
+ <location filename="../dataview.cpp" line="179"/>
<source>First page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="163"/>
+ <location filename="../dataview.cpp" line="180"/>
<source>Previous page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="165"/>
+ <location filename="../dataview.cpp" line="182"/>
<source>Next page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="166"/>
+ <location filename="../dataview.cpp" line="183"/>
<source>Last page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="171"/>
+ <location filename="../dataview.cpp" line="188"/>
<source>Apply filter</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="186"/>
+ <location filename="../dataview.cpp" line="203"/>
<source>Commit changes for selected cells</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="187"/>
+ <location filename="../dataview.cpp" line="204"/>
<source>Rollback changes for selected cells</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="188"/>
+ <location filename="../dataview.cpp" line="205"/>
<source>Show grid view of results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="189"/>
+ <location filename="../dataview.cpp" line="206"/>
<source>Show form view of results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="258"/>
+ <location filename="../dataview.cpp" line="275"/>
<source>Filter by text</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="259"/>
+ <location filename="../dataview.cpp" line="276"/>
<source>Filter by the Regular Expression</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="260"/>
+ <location filename="../dataview.cpp" line="277"/>
<source>Filter by SQL expression</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="291"/>
+ <location filename="../dataview.cpp" line="308"/>
<source>Tabs on top</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="292"/>
+ <location filename="../dataview.cpp" line="309"/>
<source>Tabs at bottom</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="510"/>
+ <location filename="../dataview.cpp" line="555"/>
<source>Total number of rows is being counted.
Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="521"/>
+ <location filename="../dataview.cpp" line="566"/>
<source>Row: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1898,37 +1941,37 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="488"/>
+ <location filename="../dialogs/dbdialog.cpp" line="483"/>
<source>Enter an unique database name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="497"/>
+ <location filename="../dialogs/dbdialog.cpp" line="492"/>
<source>This name is already in use. Please enter unique name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="505"/>
+ <location filename="../dialogs/dbdialog.cpp" line="500"/>
<source>Enter a database file path.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="512"/>
+ <location filename="../dialogs/dbdialog.cpp" line="507"/>
<source>This database is already on the list under name: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="528"/>
+ <location filename="../dialogs/dbdialog.cpp" line="523"/>
<source>Select a database type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="585"/>
+ <location filename="../dialogs/dbdialog.cpp" line="580"/>
<source>Auto-generated</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="590"/>
+ <location filename="../dialogs/dbdialog.cpp" line="585"/>
<source>Type the name</source>
<translation type="unfinished"></translation>
</message>
@@ -1989,327 +2032,348 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.ui" line="67"/>
+ <location filename="../dbtree/dbtree.ui" line="73"/>
<source>Filter by name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="99"/>
+ <location filename="../dbtree/dbtree.cpp" line="102"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="100"/>
+ <location filename="../dbtree/dbtree.cpp" line="103"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="101"/>
+ <location filename="../dbtree/dbtree.cpp" line="104"/>
<source>Select all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="102"/>
+ <location filename="../dbtree/dbtree.cpp" line="105"/>
<source>Create a group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="103"/>
+ <location filename="../dbtree/dbtree.cpp" line="106"/>
<source>Delete the group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="104"/>
+ <location filename="../dbtree/dbtree.cpp" line="107"/>
<source>Rename the group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="105"/>
+ <location filename="../dbtree/dbtree.cpp" line="108"/>
<source>Add a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="106"/>
+ <location filename="../dbtree/dbtree.cpp" line="109"/>
<source>Edit the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="107"/>
+ <location filename="../dbtree/dbtree.cpp" line="110"/>
<source>Remove the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="108"/>
+ <location filename="../dbtree/dbtree.cpp" line="111"/>
<source>Connect to the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="109"/>
+ <location filename="../dbtree/dbtree.cpp" line="112"/>
<source>Disconnect from the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="110"/>
+ <location filename="../dbtree/dbtree.cpp" line="113"/>
<source>Import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="111"/>
+ <location filename="../dbtree/dbtree.cpp" line="114"/>
<source>Export the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="112"/>
+ <location filename="../dbtree/dbtree.cpp" line="115"/>
<source>Convert database type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="113"/>
+ <location filename="../dbtree/dbtree.cpp" line="116"/>
<source>Vacuum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="114"/>
+ <location filename="../dbtree/dbtree.cpp" line="117"/>
<source>Integrity check</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="115"/>
+ <location filename="../dbtree/dbtree.cpp" line="118"/>
<source>Create a table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="116"/>
+ <location filename="../dbtree/dbtree.cpp" line="119"/>
<source>Edit the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="117"/>
+ <location filename="../dbtree/dbtree.cpp" line="120"/>
<source>Delete the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="118"/>
+ <location filename="../dbtree/dbtree.cpp" line="121"/>
<source>Export the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="119"/>
+ <location filename="../dbtree/dbtree.cpp" line="122"/>
<source>Import into the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="120"/>
+ <location filename="../dbtree/dbtree.cpp" line="123"/>
<source>Populate table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="121"/>
+ <location filename="../dbtree/dbtree.cpp" line="124"/>
<source>Create similar table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="122"/>
+ <location filename="../dbtree/dbtree.cpp" line="125"/>
<source>Reset autoincrement sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="123"/>
+ <location filename="../dbtree/dbtree.cpp" line="126"/>
<source>Create an index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="124"/>
+ <location filename="../dbtree/dbtree.cpp" line="127"/>
<source>Edit the index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="125"/>
+ <location filename="../dbtree/dbtree.cpp" line="128"/>
<source>Delete the index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="126"/>
+ <location filename="../dbtree/dbtree.cpp" line="129"/>
<source>Create a trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="127"/>
+ <location filename="../dbtree/dbtree.cpp" line="130"/>
<source>Edit the trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="128"/>
+ <location filename="../dbtree/dbtree.cpp" line="131"/>
<source>Delete the trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="129"/>
+ <location filename="../dbtree/dbtree.cpp" line="132"/>
<source>Create a view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="130"/>
+ <location filename="../dbtree/dbtree.cpp" line="133"/>
<source>Edit the view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="131"/>
+ <location filename="../dbtree/dbtree.cpp" line="134"/>
<source>Delete the view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="132"/>
+ <location filename="../dbtree/dbtree.cpp" line="135"/>
<source>Add a column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="133"/>
+ <location filename="../dbtree/dbtree.cpp" line="136"/>
<source>Edit the column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="134"/>
+ <location filename="../dbtree/dbtree.cpp" line="137"/>
<source>Delete the column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="135"/>
+ <location filename="../dbtree/dbtree.cpp" line="138"/>
<source>Delete selected items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="136"/>
+ <location filename="../dbtree/dbtree.cpp" line="139"/>
<source>Clear filter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="137"/>
+ <location filename="../dbtree/dbtree.cpp" line="140"/>
<source>Refresh all database schemas</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="138"/>
+ <location filename="../dbtree/dbtree.cpp" line="141"/>
<source>Refresh selected database schema</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="308"/>
- <location filename="../dbtree/dbtree.cpp" line="313"/>
+ <location filename="../dbtree/dbtree.cpp" line="142"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Erase table data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="312"/>
+ <location filename="../dbtree/dbtree.cpp" line="317"/>
<source>Database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="323"/>
+ <location filename="../dbtree/dbtree.cpp" line="327"/>
<source>Grouping</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Create group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
<source>Group name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Entry with name %1 already exists in group %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="953"/>
+ <location filename="../dbtree/dbtree.cpp" line="958"/>
<source>Delete group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="954"/>
+ <location filename="../dbtree/dbtree.cpp" line="959"/>
<source>Are you sure you want to delete group %1?
All objects from this group will be moved to parent group.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Delete database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Are you sure you want to delete database &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1050"/>
- <location filename="../dbtree/dbtree.cpp" line="1260"/>
+ <location filename="../dbtree/dbtree.cpp" line="1055"/>
+ <location filename="../dbtree/dbtree.cpp" line="1265"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1070"/>
- <location filename="../dbtree/dbtree.cpp" line="1235"/>
+ <location filename="../dbtree/dbtree.cpp" line="1075"/>
+ <location filename="../dbtree/dbtree.cpp" line="1240"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1334"/>
+ <location filename="../dbtree/dbtree.cpp" line="1339"/>
<source>Error while executing VACUUM on the database %1: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1336"/>
+ <location filename="../dbtree/dbtree.cpp" line="1341"/>
<source>VACUUM execution finished successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1353"/>
+ <location filename="../dbtree/dbtree.cpp" line="1358"/>
<source>Integrity check (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Reset autoincrement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1397"/>
+ <location filename="../dbtree/dbtree.cpp" line="1402"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1399"/>
+ <location filename="../dbtree/dbtree.cpp" line="1404"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1501"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Are you sure you want to delete all data from table &apos;%1&apos;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1429"/>
+ <source>An error occurred while trying to delete data from table &apos;%1&apos;: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1433"/>
+ <source>All data has been deleted for table &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1535"/>
<source>Following objects will be deleted: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1504"/>
+ <location filename="../dbtree/dbtree.cpp" line="1538"/>
<source>Following databases will be removed from list: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1507"/>
+ <location filename="../dbtree/dbtree.cpp" line="1541"/>
<source>Remainig objects from deleted group will be moved in place where the group used to be.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1509"/>
+ <location filename="../dbtree/dbtree.cpp" line="1543"/>
<source>%1&lt;br&gt;&lt;br&gt;Are you sure you want to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1511"/>
+ <location filename="../dbtree/dbtree.cpp" line="1545"/>
<source>Delete objects</source>
<translation type="unfinished"></translation>
</message>
@@ -2344,123 +2408,123 @@ All objects from this group will be moved to parent group.</source>
<context>
<name>DbTreeModel</name>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="407"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="422"/>
<source>Database: %1</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="412"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="427"/>
<source>Version:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="413"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="430"/>
<source>File size:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="414"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="433"/>
<source>Encoding:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="419"/>
- <source>Error details:</source>
+ <location filename="../dbtree/dbtreemodel.cpp" line="438"/>
+ <source>Error:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="429"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="448"/>
<source>Table : %1</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="452"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="471"/>
<source>Columns (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="455"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="474"/>
<source>Indexes (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="458"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="477"/>
<source>Triggers (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1073"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1092"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1074"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1093"/>
<source>Move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1076"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1095"/>
<source>Include data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1077"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1096"/>
<source>Include indexes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1078"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1097"/>
<source>Include triggers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1080"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1099"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1156"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1175"/>
<source>Referenced tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1157"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1176"/>
<source>Do you want to include following referenced tables as well:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1166"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1185"/>
<source>Name conflict</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1167"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1186"/>
<source>Following object already exists in the target database.
Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1180"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1199"/>
<source>SQL statements conversion</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1188"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1207"/>
<source>Following error occurred while converting SQL statements to the target SQLite version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1189"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1208"/>
<source>Would you like to ignore those errors and proceed?</source>
<translation type="unfinished"></translation>
</message>
@@ -2509,135 +2573,135 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>EditorWindow</name>
<message>
- <location filename="../windows/editorwindow.ui" line="39"/>
+ <location filename="../windows/editorwindow.ui" line="42"/>
<source>Query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.ui" line="109"/>
+ <location filename="../windows/editorwindow.ui" line="112"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="130"/>
+ <location filename="../windows/editorwindow.cpp" line="137"/>
<source>Results in the separate tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="131"/>
+ <location filename="../windows/editorwindow.cpp" line="138"/>
<source>Results below the query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="164"/>
- <location filename="../windows/editorwindow.cpp" line="166"/>
+ <location filename="../windows/editorwindow.cpp" line="171"/>
+ <location filename="../windows/editorwindow.cpp" line="173"/>
<source>SQL editor %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="324"/>
+ <location filename="../windows/editorwindow.cpp" line="331"/>
<source>Results</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="357"/>
+ <location filename="../windows/editorwindow.cpp" line="364"/>
<source>Execute query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="358"/>
+ <location filename="../windows/editorwindow.cpp" line="365"/>
<source>Explain query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="361"/>
+ <location filename="../windows/editorwindow.cpp" line="368"/>
<source>Clear execution history</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="363"/>
+ <location filename="../windows/editorwindow.cpp" line="370"/>
<source>Export results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="365"/>
+ <location filename="../windows/editorwindow.cpp" line="372"/>
<source>Create view from query</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="374"/>
+ <location filename="../windows/editorwindow.cpp" line="382"/>
<source>Previous database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="375"/>
+ <location filename="../windows/editorwindow.cpp" line="383"/>
<source>Next database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="378"/>
+ <location filename="../windows/editorwindow.cpp" line="386"/>
<source>Show next tab</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="379"/>
+ <location filename="../windows/editorwindow.cpp" line="387"/>
<source>Show previous tab</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="380"/>
+ <location filename="../windows/editorwindow.cpp" line="388"/>
<source>Focus results below</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="381"/>
+ <location filename="../windows/editorwindow.cpp" line="389"/>
<source>Focus SQL editor above</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="455"/>
+ <location filename="../windows/editorwindow.cpp" line="463"/>
<source>Active database (%1/%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="495"/>
+ <location filename="../windows/editorwindow.cpp" line="503"/>
<source>Query finished in %1 second(s). Rows affected: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="499"/>
+ <location filename="../windows/editorwindow.cpp" line="507"/>
<source>Query finished in %1 second(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Clear execution history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Are you sure you want to erase the entire SQL execution history? This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="613"/>
+ <location filename="../windows/editorwindow.cpp" line="621"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="634"/>
+ <location filename="../windows/editorwindow.cpp" line="642"/>
<source>No database selected in the SQL editor. Cannot create a view for unknown database.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="664"/>
+ <location filename="../windows/editorwindow.cpp" line="672"/>
<source>Editor window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
@@ -2891,49 +2955,49 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>FormView</name>
<message>
- <location filename="../formview.cpp" line="253"/>
+ <location filename="../formview.cpp" line="241"/>
<source>Commit row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="254"/>
+ <location filename="../formview.cpp" line="242"/>
<source>Rollback row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="255"/>
+ <location filename="../formview.cpp" line="243"/>
<source>First row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="256"/>
+ <location filename="../formview.cpp" line="244"/>
<source>Previous row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="257"/>
+ <location filename="../formview.cpp" line="245"/>
<source>Next row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="258"/>
+ <location filename="../formview.cpp" line="246"/>
<source>Last row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="259"/>
+ <location filename="../formview.cpp" line="247"/>
<source>Insert new row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="260"/>
+ <location filename="../formview.cpp" line="248"/>
<source>Delete current row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
@@ -2947,58 +3011,58 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="151"/>
+ <location filename="../windows/functionseditor.ui" line="260"/>
<source>Function name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="161"/>
+ <location filename="../windows/functionseditor.ui" line="273"/>
<source>Implementation language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="171"/>
+ <location filename="../windows/functionseditor.ui" line="253"/>
<source>Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="187"/>
+ <location filename="../windows/functionseditor.ui" line="157"/>
<source>Input arguments</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="193"/>
+ <location filename="../windows/functionseditor.ui" line="163"/>
<source>Undefined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="235"/>
+ <location filename="../windows/functionseditor.ui" line="205"/>
<source>Databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="241"/>
+ <location filename="../windows/functionseditor.ui" line="211"/>
<source>Register in all databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="248"/>
+ <location filename="../windows/functionseditor.ui" line="218"/>
<source>Register in following databases:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="278"/>
+ <location filename="../windows/functionseditor.ui" line="293"/>
<source>Initialization code:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="294"/>
+ <location filename="../windows/functionseditor.ui" line="309"/>
<location filename="../windows/functionseditor.cpp" line="426"/>
<source>Function implementation code:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="310"/>
+ <location filename="../windows/functionseditor.ui" line="325"/>
<source>Final step implementation code:</source>
<translation type="unfinished"></translation>
</message>
@@ -3322,293 +3386,298 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MainWindow</name>
<message>
- <location filename="../mainwindow.ui" line="66"/>
+ <location filename="../mainwindow.ui" line="81"/>
<source>Database toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="77"/>
+ <location filename="../mainwindow.ui" line="92"/>
<source>Structure toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="88"/>
+ <location filename="../mainwindow.ui" line="103"/>
<source>Tools</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="105"/>
+ <location filename="../mainwindow.ui" line="120"/>
<source>Window list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="119"/>
+ <location filename="../mainwindow.ui" line="134"/>
<source>View toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="104"/>
+ <location filename="../mainwindow.cpp" line="107"/>
<source>Configuration widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="105"/>
+ <location filename="../mainwindow.cpp" line="108"/>
<source>Syntax highlighting engines</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="106"/>
+ <location filename="../mainwindow.cpp" line="109"/>
<source>Data editors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="118"/>
+ <location filename="../mainwindow.cpp" line="121"/>
<source>Running in debug mode. Press %1 or use &apos;Help / Open debug console&apos; menu entry to open the debug console.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="120"/>
+ <location filename="../mainwindow.cpp" line="123"/>
<source>Running in debug mode. Debug messages are printed to the standard output.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="202"/>
+ <location filename="../mainwindow.cpp" line="211"/>
<source>You need to restart application to make the language change take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="245"/>
+ <location filename="../mainwindow.cpp" line="254"/>
<source>Open SQL editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="246"/>
+ <location filename="../mainwindow.cpp" line="255"/>
<source>Open DDL history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="247"/>
+ <location filename="../mainwindow.cpp" line="256"/>
<source>Open SQL functions editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="248"/>
+ <location filename="../mainwindow.cpp" line="257"/>
<source>Open collations editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="249"/>
+ <location filename="../mainwindow.cpp" line="258"/>
<source>Import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="250"/>
+ <location filename="../mainwindow.cpp" line="259"/>
<source>Export</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="252"/>
+ <location filename="../mainwindow.cpp" line="261"/>
<source>Open configuration dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="254"/>
+ <location filename="../mainwindow.cpp" line="263"/>
<source>Tile windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="255"/>
+ <location filename="../mainwindow.cpp" line="264"/>
<source>Tile windows horizontally</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="256"/>
+ <location filename="../mainwindow.cpp" line="265"/>
<source>Tile windows vertically</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="257"/>
+ <location filename="../mainwindow.cpp" line="266"/>
<source>Cascade windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="258"/>
+ <location filename="../mainwindow.cpp" line="267"/>
<source>Next window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="259"/>
+ <location filename="../mainwindow.cpp" line="268"/>
<source>Previous window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="260"/>
+ <location filename="../mainwindow.cpp" line="269"/>
<source>Hide status field</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="262"/>
+ <location filename="../mainwindow.cpp" line="271"/>
<source>Close selected window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="263"/>
+ <location filename="../mainwindow.cpp" line="272"/>
<source>Close all windows but selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="264"/>
+ <location filename="../mainwindow.cpp" line="273"/>
<source>Close all windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="265"/>
+ <location filename="../mainwindow.cpp" line="274"/>
<source>Restore recently closed window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="266"/>
+ <location filename="../mainwindow.cpp" line="275"/>
<source>Rename selected window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="268"/>
+ <location filename="../mainwindow.cpp" line="277"/>
<source>Open Debug Console</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="269"/>
+ <location filename="../mainwindow.cpp" line="278"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="279"/>
<source>Report a bug</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="270"/>
+ <location filename="../mainwindow.cpp" line="280"/>
<source>Propose a new feature</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="271"/>
+ <location filename="../mainwindow.cpp" line="281"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="272"/>
+ <location filename="../mainwindow.cpp" line="282"/>
<source>Licenses</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="273"/>
+ <location filename="../mainwindow.cpp" line="283"/>
<source>Open home page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="274"/>
+ <location filename="../mainwindow.cpp" line="284"/>
<source>Open forum page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="275"/>
+ <location filename="../mainwindow.cpp" line="285"/>
<source>User Manual</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="276"/>
+ <location filename="../mainwindow.cpp" line="286"/>
<source>SQLite documentation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="277"/>
+ <location filename="../mainwindow.cpp" line="287"/>
<source>Report history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="278"/>
+ <location filename="../mainwindow.cpp" line="289"/>
<source>Check for updates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="315"/>
+ <location filename="../mainwindow.cpp" line="327"/>
<source>Database</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="335"/>
+ <location filename="../mainwindow.cpp" line="347"/>
<source>Structure</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="356"/>
+ <location filename="../mainwindow.cpp" line="368"/>
<source>View</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="360"/>
+ <location filename="../mainwindow.cpp" line="372"/>
<source>Window list</source>
<comment>menubar view menu</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="381"/>
+ <location filename="../mainwindow.cpp" line="393"/>
<source>Tools</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="395"/>
+ <location filename="../mainwindow.cpp" line="407"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="549"/>
+ <location filename="../mainwindow.cpp" line="569"/>
<source>Could not set style: %1</source>
<comment>main window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="621"/>
+ <location filename="../mainwindow.cpp" line="642"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="637"/>
+ <location filename="../mainwindow.cpp" line="658"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Rename window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Enter new name for the window:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="738"/>
+ <location filename="../mainwindow.cpp" line="777"/>
<source>New updates are available. &lt;a href=&quot;%1&quot;&gt;Click here for details&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="746"/>
+ <location filename="../mainwindow.cpp" line="785"/>
<source>You&apos;re running the most recent version. No updates are available.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="845"/>
+ <location filename="../mainwindow.cpp" line="891"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="852"/>
+ <location filename="../mainwindow.cpp" line="898"/>
<source>Database passed in command line parameters (%1) has been temporarily added to the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="857"/>
+ <location filename="../mainwindow.cpp" line="903"/>
<source>Could not add database %1 to list.</source>
<translation type="unfinished"></translation>
</message>
@@ -3634,29 +3703,29 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MultiEditor</name>
<message>
- <location filename="../multieditor/multieditor.cpp" line="53"/>
+ <location filename="../multieditor/multieditor.cpp" line="62"/>
<source>Null value</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="68"/>
+ <location filename="../multieditor/multieditor.cpp" line="77"/>
<source>Configure editors for this data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="271"/>
+ <location filename="../multieditor/multieditor.cpp" line="287"/>
<source>Data editor plugin &apos;%1&apos; not loaded, while it is defined for editing &apos;%1&apos; data type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="356"/>
+ <location filename="../multieditor/multieditor.cpp" line="372"/>
<source>Deleted</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="358"/>
+ <location filename="../multieditor/multieditor.cpp" line="374"/>
<source>Read only</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
@@ -3908,27 +3977,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="158"/>
+ <location filename="../dialogs/populatedialog.cpp" line="54"/>
+ <source>Abort</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/populatedialog.cpp" line="161"/>
<source>Configure</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="256"/>
+ <location filename="../dialogs/populatedialog.cpp" line="259"/>
<source>Populating configuration for this column is invalid or incomplete.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="287"/>
+ <location filename="../dialogs/populatedialog.cpp" line="290"/>
<source>Select database with table to populate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="288"/>
+ <location filename="../dialogs/populatedialog.cpp" line="291"/>
<source>Select table to populate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="289"/>
+ <location filename="../dialogs/populatedialog.cpp" line="292"/>
<source>You have to select at least one column.</source>
<translation type="unfinished"></translation>
</message>
@@ -4053,32 +4127,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="487"/>
+ <location filename="../dataview.cpp" line="532"/>
<source>Total pages available: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="497"/>
+ <location filename="../dataview.cpp" line="542"/>
<source>Total rows loaded: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="17"/>
+ <location filename="../dataview.h" line="18"/>
<source>Data view (both grid and form)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="18"/>
+ <location filename="../dataview.h" line="19"/>
<source>Refresh data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="19"/>
+ <location filename="../dataview.h" line="20"/>
<source>Switch to grid view of the data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="20"/>
+ <location filename="../dataview.h" line="21"/>
<source>Switch to form view of the data</source>
<translation type="unfinished"></translation>
</message>
@@ -4200,41 +4274,46 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="42"/>
+ <location filename="../mainwindow.h" line="43"/>
<source>Main window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="43"/>
+ <location filename="../mainwindow.h" line="44"/>
<source>Open SQL editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="44"/>
+ <location filename="../mainwindow.h" line="45"/>
<source>Previous window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="45"/>
+ <location filename="../mainwindow.h" line="46"/>
<source>Next window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="46"/>
+ <location filename="../mainwindow.h" line="47"/>
<source>Hide status area</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="47"/>
+ <location filename="../mainwindow.h" line="48"/>
<source>Open configuration dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="48"/>
+ <location filename="../mainwindow.h" line="49"/>
<source>Open Debug Console</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../mainwindow.h" line="50"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../multieditor/multieditortext.h" line="12"/>
<source>Cell text value editor</source>
<translation type="unfinished"></translation>
@@ -4694,101 +4773,112 @@ find next</source>
</message>
<message>
<location filename="../sqleditor.cpp" line="128"/>
- <source>Load SQL from file</source>
+ <source>Select file to save SQL</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="129"/>
- <source>Delete line</source>
+ <source>Load SQL from file</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="130"/>
- <source>Move block down</source>
+ <source>Delete line</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="131"/>
- <source>Move block up</source>
+ <source>Move block down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="132"/>
- <source>Copy block down</source>
+ <source>Move block up</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="133"/>
- <source>Copy up down</source>
+ <source>Copy block down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="134"/>
- <source>Find</source>
+ <source>Copy up down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="135"/>
- <source>Find next</source>
+ <source>Find</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="136"/>
- <source>Find previous</source>
+ <source>Find next</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="137"/>
+ <source>Find previous</source>
+ <comment>sql editor</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="138"/>
<source>Replace</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="412"/>
+ <location filename="../sqleditor.cpp" line="252"/>
+ <source>Saved SQL contents to file: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="431"/>
<source>Syntax completion can be used only when a valid database is set for the SQL editor.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="800"/>
+ <location filename="../sqleditor.cpp" line="819"/>
<source>Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1027"/>
+ <location filename="../sqleditor.cpp" line="1054"/>
<source>Save to file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1036"/>
+ <location filename="../sqleditor.cpp" line="242"/>
<source>Could not open file &apos;%1&apos; for writing: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1050"/>
+ <location filename="../sqleditor.cpp" line="1066"/>
<source>SQL scripts (*.sql);;All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1051"/>
+ <location filename="../sqleditor.cpp" line="1067"/>
<source>Open file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1060"/>
+ <location filename="../sqleditor.cpp" line="1076"/>
<source>Could not open file &apos;%1&apos; for reading: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1267"/>
+ <location filename="../sqleditor.cpp" line="1285"/>
<source>Reached the end of document. Hit the find again to restart the search.</source>
<translation type="unfinished"></translation>
</message>
@@ -4848,7 +4938,7 @@ find next</source>
<name>SqlQueryModel</name>
<message>
<location filename="../datagrid/sqlquerymodel.cpp" line="63"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="474"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="487"/>
<source>Only one query can be executed simultaneously.</source>
<translation type="unfinished"></translation>
</message>
@@ -4873,43 +4963,43 @@ find next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="415"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="420"/>
<source>An error occurred while commiting the transaction: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="434"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="445"/>
<source>An error occurred while rolling back the transaction: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="560"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="573"/>
<source>Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="586"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="599"/>
<source>An error occurred while commiting the data: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1031"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1086"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1045"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1100"/>
<source>Error while executing SQL query on database &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1083"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1097"/>
<source>Error while loading query results: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Insert multiple rows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Number of rows to insert:</source>
<translation type="unfinished"></translation>
</message>
@@ -5028,12 +5118,12 @@ find next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="161"/>
+ <location filename="../statusfield.cpp" line="164"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="168"/>
+ <location filename="../statusfield.cpp" line="171"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
@@ -5238,411 +5328,421 @@ but it&apos;s okay to use them anyway.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="184"/>
+ <location filename="../windows/tablewindow.ui" line="190"/>
<source>Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="201"/>
+ <location filename="../windows/tablewindow.ui" line="207"/>
<source>Constraints</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="215"/>
+ <location filename="../windows/tablewindow.ui" line="221"/>
<source>Indexes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="244"/>
+ <location filename="../windows/tablewindow.ui" line="250"/>
<source>Triggers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="276"/>
+ <location filename="../windows/tablewindow.ui" line="282"/>
<source>DDL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="180"/>
+ <location filename="../windows/tablewindow.cpp" line="191"/>
<source>Export table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="181"/>
+ <location filename="../windows/tablewindow.cpp" line="192"/>
<source>Import data to table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="182"/>
+ <location filename="../windows/tablewindow.cpp" line="193"/>
<source>Populate table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="196"/>
+ <location filename="../windows/tablewindow.cpp" line="207"/>
<source>Refresh structure</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="198"/>
+ <location filename="../windows/tablewindow.cpp" line="209"/>
<source>Commit structure changes</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="199"/>
+ <location filename="../windows/tablewindow.cpp" line="210"/>
<source>Rollback structure changes</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="200"/>
+ <location filename="../windows/tablewindow.cpp" line="211"/>
<source>Add column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="201"/>
+ <location filename="../windows/tablewindow.cpp" line="212"/>
<source>Edit column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="202"/>
- <location filename="../windows/tablewindow.cpp" line="289"/>
+ <location filename="../windows/tablewindow.cpp" line="213"/>
+ <location filename="../windows/tablewindow.cpp" line="300"/>
<source>Delete column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="203"/>
+ <location filename="../windows/tablewindow.cpp" line="214"/>
<source>Move column up</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="204"/>
+ <location filename="../windows/tablewindow.cpp" line="215"/>
<source>Move column down</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="210"/>
+ <location filename="../windows/tablewindow.cpp" line="221"/>
<source>Create similar table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="211"/>
+ <location filename="../windows/tablewindow.cpp" line="222"/>
<source>Reset autoincrement value</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="214"/>
+ <location filename="../windows/tablewindow.cpp" line="225"/>
<source>Add table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="215"/>
+ <location filename="../windows/tablewindow.cpp" line="226"/>
<source>Edit table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="216"/>
+ <location filename="../windows/tablewindow.cpp" line="227"/>
<source>Delete table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="217"/>
+ <location filename="../windows/tablewindow.cpp" line="228"/>
<source>Move table constraint up</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="218"/>
+ <location filename="../windows/tablewindow.cpp" line="229"/>
<source>Move table constraint down</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="220"/>
+ <location filename="../windows/tablewindow.cpp" line="231"/>
<source>Add table primary key</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="221"/>
+ <location filename="../windows/tablewindow.cpp" line="232"/>
<source>Add table foreign key</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="222"/>
+ <location filename="../windows/tablewindow.cpp" line="233"/>
<source>Add table unique constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="223"/>
+ <location filename="../windows/tablewindow.cpp" line="234"/>
<source>Add table check constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="241"/>
+ <location filename="../windows/tablewindow.cpp" line="252"/>
<source>Refresh index list</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="243"/>
+ <location filename="../windows/tablewindow.cpp" line="254"/>
<source>Create index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="244"/>
+ <location filename="../windows/tablewindow.cpp" line="255"/>
<source>Edit index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="245"/>
+ <location filename="../windows/tablewindow.cpp" line="256"/>
<source>Delete index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="251"/>
+ <location filename="../windows/tablewindow.cpp" line="262"/>
<source>Refresh trigger list</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="253"/>
+ <location filename="../windows/tablewindow.cpp" line="264"/>
<source>Create trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="254"/>
+ <location filename="../windows/tablewindow.cpp" line="265"/>
<source>Edit trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="255"/>
+ <location filename="../windows/tablewindow.cpp" line="266"/>
<source>Delete trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="288"/>
+ <location filename="../windows/tablewindow.cpp" line="299"/>
<source>Are you sure you want to delete column &apos;%1&apos;?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="316"/>
+ <location filename="../windows/tablewindow.cpp" line="327"/>
<source>Following problems will take place while modifying the table.
Would you like to proceed?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="318"/>
+ <location filename="../windows/tablewindow.cpp" line="329"/>
<source>Table modification</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="456"/>
+ <location filename="../windows/tablewindow.cpp" line="467"/>
<source>Could not load data for table %1. Error details: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="569"/>
+ <location filename="../windows/tablewindow.cpp" line="580"/>
<source>Could not process the %1 table correctly. Unable to open a table window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="637"/>
- <source>Could not restore window, because database %1 could not be resolved.</source>
+ <location filename="../windows/tablewindow.cpp" line="635"/>
+ <source>Could not restore window %1, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="641"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="648"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="646"/>
- <source>Could not restore window, because the table %1 doesn&apos;t exist in the database %2.</source>
+ <location filename="../windows/tablewindow.cpp" line="657"/>
+ <source>Could not restore window &apos;%1&apos;&apos;, because the table %2 doesn&apos;t exist in the database %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="671"/>
- <location filename="../windows/tablewindow.cpp" line="673"/>
+ <location filename="../windows/tablewindow.cpp" line="682"/>
+ <location filename="../windows/tablewindow.cpp" line="684"/>
<source>New table %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="824"/>
+ <location filename="../windows/tablewindow.cpp" line="835"/>
<source>Could not commit table structure. Error message: %1</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Reset autoincrement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="853"/>
+ <location filename="../windows/tablewindow.cpp" line="864"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="855"/>
+ <location filename="../windows/tablewindow.cpp" line="866"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>Empty name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>A blank name for the table is allowed in SQLite, but it is not recommended.
Are you sure you want to create a table with blank name?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="944"/>
+ <location filename="../windows/tablewindow.cpp" line="955"/>
<source>Cannot create a table without at least one column.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="970"/>
+ <location filename="../windows/tablewindow.cpp" line="981"/>
<source>Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="977"/>
+ <location filename="../windows/tablewindow.cpp" line="988"/>
<source>Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1114"/>
+ <location filename="../windows/tablewindow.cpp" line="1125"/>
<source>Are you sure you want to delete table constraint &apos;%1&apos;?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1115"/>
+ <location filename="../windows/tablewindow.cpp" line="1126"/>
<source>Delete constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1169"/>
+ <location filename="../windows/tablewindow.cpp" line="1180"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1182"/>
+ <location filename="../windows/tablewindow.cpp" line="1193"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1214"/>
+ <location filename="../windows/tablewindow.cpp" line="1225"/>
<source>Uncommited changes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1215"/>
+ <location filename="../windows/tablewindow.cpp" line="1226"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Go back to structure tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Commit modifications and browse data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1368"/>
+ <location filename="../windows/tablewindow.cpp" line="1379"/>
<source>Name</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1369"/>
+ <location filename="../windows/tablewindow.cpp" line="1380"/>
<source>Unique</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1370"/>
+ <location filename="../windows/tablewindow.cpp" line="1381"/>
<source>Columns</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1371"/>
+ <location filename="../windows/tablewindow.cpp" line="1382"/>
<source>Partial index condition</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1425"/>
+ <location filename="../windows/tablewindow.cpp" line="1436"/>
<source>Name</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1426"/>
+ <location filename="../windows/tablewindow.cpp" line="1437"/>
<source>Event</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1427"/>
+ <location filename="../windows/tablewindow.cpp" line="1438"/>
<source>Condition</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1428"/>
+ <location filename="../windows/tablewindow.cpp" line="1439"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1517"/>
+ <location filename="../windows/tablewindow.cpp" line="1528"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1519"/>
+ <location filename="../windows/tablewindow.cpp" line="1530"/>
<source>Table window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1521"/>
+ <location filename="../windows/tablewindow.cpp" line="1532"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications.</source>
<translation type="unfinished"></translation>
</message>
@@ -5813,180 +5913,186 @@ Do you want to commit the structure, or do you want to go back to the structure
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="115"/>
- <source>Could not restore window, because database %1 could not be resolved.</source>
+ <location filename="../windows/viewwindow.cpp" line="103"/>
+ <location filename="../windows/viewwindow.cpp" line="109"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or view was stored in session for this window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="121"/>
- <source>Could not restore window, because database %1 could not be open.</source>
+ <location filename="../windows/viewwindow.cpp" line="116"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="130"/>
- <source>Could not restore window, because the view %1 doesn&apos;t exist in the database %2.</source>
+ <location filename="../windows/viewwindow.cpp" line="122"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="155"/>
- <location filename="../windows/viewwindow.cpp" line="157"/>
+ <location filename="../windows/viewwindow.cpp" line="131"/>
+ <source>Could not restore window &apos;%1&apos;, because the view %2 doesn&apos;t exist in the database %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="156"/>
+ <location filename="../windows/viewwindow.cpp" line="158"/>
<source>New view %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="275"/>
+ <location filename="../windows/viewwindow.cpp" line="283"/>
<source>Refresh the view</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="277"/>
+ <location filename="../windows/viewwindow.cpp" line="285"/>
<source>Commit the view changes</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="278"/>
+ <location filename="../windows/viewwindow.cpp" line="286"/>
<source>Rollback the view changes</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="285"/>
+ <location filename="../windows/viewwindow.cpp" line="293"/>
<source>Refresh trigger list</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="287"/>
+ <location filename="../windows/viewwindow.cpp" line="295"/>
<source>Create new trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="288"/>
+ <location filename="../windows/viewwindow.cpp" line="296"/>
<source>Edit selected trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="289"/>
+ <location filename="../windows/viewwindow.cpp" line="297"/>
<source>Delete selected trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="310"/>
+ <location filename="../windows/viewwindow.cpp" line="318"/>
<source>View window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="312"/>
+ <location filename="../windows/viewwindow.cpp" line="320"/>
<source>View window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="314"/>
+ <location filename="../windows/viewwindow.cpp" line="322"/>
<source>View window &quot;%1&quot; has uncommited structure modifications.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="455"/>
+ <location filename="../windows/viewwindow.cpp" line="463"/>
<source>Could not load data for view %1. Error details: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="466"/>
+ <location filename="../windows/viewwindow.cpp" line="474"/>
<source>Uncommited changes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="467"/>
+ <location filename="../windows/viewwindow.cpp" line="475"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Go back to structure tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Commit modifications and browse data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="528"/>
+ <location filename="../windows/viewwindow.cpp" line="536"/>
<source>Could not commit view changes. Error message: %1</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="606"/>
+ <location filename="../windows/viewwindow.cpp" line="614"/>
<source>Name</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="607"/>
+ <location filename="../windows/viewwindow.cpp" line="615"/>
<source>Instead of</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="608"/>
+ <location filename="../windows/viewwindow.cpp" line="616"/>
<source>Condition</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="609"/>
+ <location filename="../windows/viewwindow.cpp" line="617"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="649"/>
+ <location filename="../windows/viewwindow.cpp" line="657"/>
<source>Could not process the %1 view correctly. Unable to open a view window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>Empty name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>A blank name for the view is allowed in SQLite, but it is not recommended.
Are you sure you want to create a view with blank name?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="699"/>
+ <location filename="../windows/viewwindow.cpp" line="707"/>
<source>The SELECT statement could not be parsed. Please correct the query and retry.
Details: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="707"/>
+ <location filename="../windows/viewwindow.cpp" line="715"/>
<source>The view could not be modified due to internal SQLiteStudio error. Please report this!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="733"/>
+ <location filename="../windows/viewwindow.cpp" line="741"/>
<source>The view code could not be parsed properly for execution. This is a SQLiteStudio&apos;s bug. Please report it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="746"/>
+ <location filename="../windows/viewwindow.cpp" line="754"/>
<source>Following problems will take place while modifying the view.
Would you like to proceed?</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="748"/>
+ <location filename="../windows/viewwindow.cpp" line="756"/>
<source>View modification</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
@@ -5995,7 +6101,7 @@ Would you like to proceed?</source>
<context>
<name>WidgetCover</name>
<message>
- <location filename="../common/widgetcover.cpp" line="198"/>
+ <location filename="../common/widgetcover.cpp" line="234"/>
<source>Interrupt</source>
<translation type="unfinished"></translation>
</message>
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.qm
index 42d19a7..2602532 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.qm
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.qm
Binary files differ
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.ts
index 6fa9ba0..08d39fc 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.ts
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.ts
@@ -354,32 +354,32 @@
<translation>Filtre de regroupements</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="110"/>
+ <location filename="../windows/collationseditor.ui" line="194"/>
<source>Collation name:</source>
<translation>Nom de regroupements:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="120"/>
+ <location filename="../windows/collationseditor.ui" line="204"/>
<source>Implementation language:</source>
<translation>Language d&apos;implémentation:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="152"/>
+ <location filename="../windows/collationseditor.ui" line="132"/>
<source>Databases</source>
<translation>Base de données</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="158"/>
+ <location filename="../windows/collationseditor.ui" line="138"/>
<source>Register in all databases</source>
<translation>Inscrire daans toutes les bases de données</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="165"/>
+ <location filename="../windows/collationseditor.ui" line="145"/>
<source>Register in following databases:</source>
<translation>Inscrire dans les bases de données suivantes:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="186"/>
+ <location filename="../windows/collationseditor.ui" line="166"/>
<source>Implementation code:</source>
<translation>Code d&apos;inplémentation:</translation>
</message>
@@ -890,7 +890,7 @@ mais c&apos;est OK pour l&apos;utiliser.</translation>
<name>ConfigDialog</name>
<message>
<location filename="../dialogs/configdialog.ui" line="14"/>
- <location filename="../dialogs/configdialog.ui" line="1216"/>
+ <location filename="../dialogs/configdialog.ui" line="1293"/>
<source>Configuration</source>
<translation>Configuration</translation>
</message>
@@ -1067,406 +1067,441 @@ mais c&apos;est OK pour l&apos;utiliser.</translation>
<translation>Combinaison de touches</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="656"/>
- <location filename="../dialogs/configdialog.ui" line="1206"/>
+ <location filename="../dialogs/configdialog.ui" line="671"/>
+ <location filename="../dialogs/configdialog.ui" line="1283"/>
<source>Language</source>
<translation>Langage</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="662"/>
+ <location filename="../dialogs/configdialog.ui" line="677"/>
<source>Changing language requires application restart to take effect.</source>
<translation>Le changement de langage requiére le redemarrage de l&apos;application pour prendre effet.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="679"/>
+ <location filename="../dialogs/configdialog.ui" line="694"/>
+ <source>Compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="700"/>
+ <source>&lt;p&gt;Compact layout reduces all margins and spacing on the UI to minimum, making space for displaying more data. It makes the interface a little bit less aesthetic, but allows to display more data at once.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="703"/>
+ <source>Use compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="709"/>
+ <source>General.CompactLayout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="719"/>
<source>Database list</source>
<translation>Liste de base de données</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="685"/>
+ <location filename="../dialogs/configdialog.ui" line="725"/>
<source>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</source>
<translation>Sur off, les colonnes seront triées dans l&apos;ordre de saisie de l&apos;instruction CREATE TABLE. </translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="688"/>
+ <location filename="../dialogs/configdialog.ui" line="728"/>
<source>Sort table columns alphabetically</source>
<translation>Ordre de tri alpha de la colonne</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="698"/>
+ <location filename="../dialogs/configdialog.ui" line="738"/>
<source>Expand tables node when connected to a database</source>
<translation>Déployez le noeud des tables lors de la connexion de la base de données</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="708"/>
+ <location filename="../dialogs/configdialog.ui" line="748"/>
<source>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</source>
<translation>&lt;p&gt;Les labels supplémentaires sont ceux montrés à côté des noms dans la liste de bases de données ( bleus,sauf autre configaration). Permettre cette option aboutira aux lablels pour des bases de données, des bases de données invalides et des noeuds (colonnes, index, déclancheur). Pour plus de labels voir des options ci-dessous.&lt;p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="711"/>
+ <location filename="../dialogs/configdialog.ui" line="751"/>
<source>Display additional labels on the list</source>
<translation>Afficher des labels supplémentairesà la liste </translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="726"/>
+ <location filename="../dialogs/configdialog.ui" line="766"/>
<source>For regular tables labels will show number of columns, indexes and triggers for each of tables.</source>
<translation>Pour des tables courantes les labels montrerons le nombre der colonnes, index et déclencheurs pour chaque tables.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="729"/>
+ <location filename="../dialogs/configdialog.ui" line="769"/>
<source>Display labels for regular tables</source>
<translation>Afficher les labels pour les tables courantes</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="739"/>
+ <location filename="../dialogs/configdialog.ui" line="779"/>
<source>Virtual tables will be marked with a &apos;virtual&apos; label.</source>
<translation>Les tables vituelles seront marquées avec un label virtuel.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="742"/>
+ <location filename="../dialogs/configdialog.ui" line="782"/>
<source>Display labels for virtual tables</source>
<translation>Afficher les labels pour les tables virtuelles</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="755"/>
+ <location filename="../dialogs/configdialog.ui" line="795"/>
<source>Expand views node when connected to a database</source>
<translation>Etendre le noeud des vues lorsque la base de données est connectée</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="765"/>
+ <location filename="../dialogs/configdialog.ui" line="805"/>
<source>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</source>
<translation>Si cette option est déactivée, les objets seront triés pour qu&apos; ils apparaissent dans la table sqlite_master (dans l&apos;ordre de création)</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="768"/>
+ <location filename="../dialogs/configdialog.ui" line="808"/>
<source>Sort objects (tables, indexes, triggers and views) alphabetically</source>
<translation>Tri d&apos;objets (tables, index, déclancheurs et vues) en alpha</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="778"/>
+ <location filename="../dialogs/configdialog.ui" line="818"/>
<source>Display system tables and indexes on the list</source>
<translation>Afficher les tables système et index dans la liste</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="791"/>
+ <location filename="../dialogs/configdialog.ui" line="831"/>
<source>Table windows</source>
<translation>Fenêtre de ta table</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="797"/>
+ <location filename="../dialogs/configdialog.ui" line="837"/>
<source>When enabled, Table Windows will show up with the data tab, instead of the structure tab.</source>
<translation>Lorsque c&apos;est permis, la fenêtre des tables sera affichée avec l&apos;onglet des données, à la place de l&apos;onglet structure.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="800"/>
+ <location filename="../dialogs/configdialog.ui" line="840"/>
<source>Open Table Windows with the data tab for start</source>
<translation>Ourerture la fenêtre de table avec l&apos;onglet des données au départ</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="813"/>
+ <location filename="../dialogs/configdialog.ui" line="853"/>
<source>View windows</source>
<translation>Fenêtre de vue</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="819"/>
+ <location filename="../dialogs/configdialog.ui" line="859"/>
<source>When enabled, View Windows will show up with the data tab, instead of the structure tab.</source>
<translation>Lorsque c&apos;est permis, la fenêtre des vues sera affichée avec l&apos;onglet des données, à la place de l&apos;onglet structure.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="822"/>
+ <location filename="../dialogs/configdialog.ui" line="862"/>
<source>Open View Windows with the data tab for start</source>
<translation>Ourerture la fenêtre de vue avec l&apos;onglet des données au départ</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="933"/>
+ <location filename="../dialogs/configdialog.ui" line="875"/>
+ <source>Main window dock areas</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="881"/>
+ <source>Left and right areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="901"/>
+ <source>Top and bottom areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="1010"/>
<source>Hide built-in plugins</source>
<translation>Cacher des plugins incorporés</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="962"/>
+ <location filename="../dialogs/configdialog.ui" line="1039"/>
<source>Current style:</source>
<translation>Style actuel:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="979"/>
+ <location filename="../dialogs/configdialog.ui" line="1056"/>
<source>Preview</source>
<translation>Aperçu</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="989"/>
+ <location filename="../dialogs/configdialog.ui" line="1066"/>
<source>Enabled</source>
<translation>En service</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1162"/>
+ <location filename="../dialogs/configdialog.ui" line="1239"/>
<source>Disabled</source>
<translation>Hors service</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1211"/>
+ <location filename="../dialogs/configdialog.ui" line="1288"/>
<source>Active formatter plugin</source>
<translation>Plugin de formattage actf</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1249"/>
+ <location filename="../dialogs/configdialog.ui" line="1326"/>
<source>SQL editor font</source>
<translation>Police de l&apos;éditeur SQL</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1265"/>
+ <location filename="../dialogs/configdialog.ui" line="1342"/>
<source>Database list font</source>
<translation>Liste des polices de base de données</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1281"/>
+ <location filename="../dialogs/configdialog.ui" line="1358"/>
<source>Database list additional label font</source>
<translation>Police additionel de la liste des base de données </translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1297"/>
+ <location filename="../dialogs/configdialog.ui" line="1374"/>
<source>Data view font</source>
<translation>Police des données de vue</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1313"/>
+ <location filename="../dialogs/configdialog.ui" line="1390"/>
<source>Status field font</source>
<translation>Police du champ status</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1371"/>
+ <location filename="../dialogs/configdialog.ui" line="1448"/>
<source>SQL editor colors</source>
<translation>Couleurs de l&apos;éditeur SQL</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1377"/>
+ <location filename="../dialogs/configdialog.ui" line="1454"/>
<source>Current line background</source>
<translation>Fond actuel de la ligne</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1384"/>
+ <location filename="../dialogs/configdialog.ui" line="1461"/>
<source>&lt;p&gt;SQL strings are enclosed with single quote characters.&lt;/p&gt;</source>
<translation>&lt;p&gt;Les chaines SQL sont encadrées avec de caractères simple quote.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1387"/>
+ <location filename="../dialogs/configdialog.ui" line="1464"/>
<source>String foreground</source>
<translation>Avant plan chaine</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1490"/>
+ <location filename="../dialogs/configdialog.ui" line="1567"/>
<source>&lt;p&gt;Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;:param_name&lt;/li&gt;&lt;li&gt;$param_name&lt;/li&gt;&lt;li&gt;@param_name&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</source>
<translation>&lt;p&gt;Les paramètres fournis par l&apos;utilisateur sont passés par valeur. Ils ont l&apos;une de ces formes:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;:param_name&lt;/li&gt;&lt;li&gt;$param_name&lt;/li&gt;&lt;li&gt;@param_name&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1493"/>
+ <location filename="../dialogs/configdialog.ui" line="1570"/>
<source>Bind parameter foreground</source>
<translation>Premier plan de paramètre de lien</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1516"/>
+ <location filename="../dialogs/configdialog.ui" line="1593"/>
<source>Highlighted parenthesis background</source>
<translation>Parenthèses surlignées</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1523"/>
+ <location filename="../dialogs/configdialog.ui" line="1600"/>
<source>&lt;p&gt;BLOB values are binary values represented as hexadecimal numbers, like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</source>
<translation>&lt;p&gt;les valeurs BLOB sont binaire représentés comme nombres hexadécimaux, comme:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1526"/>
+ <location filename="../dialogs/configdialog.ui" line="1603"/>
<source>BLOB value foreground</source>
<translation>Premier plan de valeur BLOB</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1533"/>
+ <location filename="../dialogs/configdialog.ui" line="1610"/>
<source>Regular foreground</source>
<translation>Avant plan courant</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1540"/>
+ <location filename="../dialogs/configdialog.ui" line="1617"/>
<source>Line numbers area background</source>
<translation>Zone des numéros de ligne en arrière plan</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1563"/>
+ <location filename="../dialogs/configdialog.ui" line="1640"/>
<source>Keyword foreground</source>
<translation>Mot clé en avant plan</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1570"/>
+ <location filename="../dialogs/configdialog.ui" line="1647"/>
<source>Number foreground</source>
<translation>Nombre en avant plan</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1577"/>
+ <location filename="../dialogs/configdialog.ui" line="1654"/>
<source>Comment foreground</source>
<translation>Commentaire en avant plan</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1616"/>
+ <location filename="../dialogs/configdialog.ui" line="1693"/>
<source>&lt;p&gt;Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.&lt;/p&gt;</source>
<translation>&lt;p&gt;Les objets valides sont les nom de tables, index, déclencheurs, ou vues qui existent dans la base de données SQLite.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1619"/>
+ <location filename="../dialogs/configdialog.ui" line="1696"/>
<source>Valid objects foreground</source>
<translation>Objets valides en avant plan</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1645"/>
+ <location filename="../dialogs/configdialog.ui" line="1722"/>
<source>Data view colors</source>
<translation>Couleurs de vue de données</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1651"/>
+ <location filename="../dialogs/configdialog.ui" line="1728"/>
<source>&lt;p&gt;Any data changes will be outlined with this color, until they&apos;re commited to the database.&lt;/p&gt;</source>
<translation>&lt;p&gt;Touts les modifications de données seront écrits avec cette couleur,à l&apos;enregistrement de la base de données.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1654"/>
+ <location filename="../dialogs/configdialog.ui" line="1731"/>
<source>Uncommited data outline color</source>
<translation>Annulation de la couleur des données</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1677"/>
+ <location filename="../dialogs/configdialog.ui" line="1754"/>
<source>&lt;p&gt;In case of error while commiting data changes, the problematic cell will be outlined with this color.&lt;/p&gt;</source>
<translation>&lt;p&gt;En cas de l&apos;erreur à l&apos;enregistrement des modifications de données, la cellule problématique sera indiquée avec cette couleur.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1680"/>
+ <location filename="../dialogs/configdialog.ui" line="1757"/>
<source>Commit error outline color</source>
<translation>Erreur d&apos;enregistrement du surlignage</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1703"/>
+ <location filename="../dialogs/configdialog.ui" line="1780"/>
<source>NULL value foreground</source>
<translation>Valeur NULL au premier plan</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1726"/>
+ <location filename="../dialogs/configdialog.ui" line="1803"/>
<source>Deleted row background</source>
<translation>Ligne supprimée en arrier plan</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1752"/>
+ <location filename="../dialogs/configdialog.ui" line="1829"/>
<source>Database list colors</source>
<translation>Liste de couleurs des bases de données</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1758"/>
+ <location filename="../dialogs/configdialog.ui" line="1835"/>
<source>&lt;p&gt;Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.&lt;/p&gt;</source>
<translation>&lt;p&gt;Des labels supplémentaires indique la version SQLITE, le nombre d&apos;objets au nieau inférieur, etc.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1761"/>
+ <location filename="../dialogs/configdialog.ui" line="1838"/>
<source>Additional labels foreground</source>
<translation>Labels additionels en avant plan</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1787"/>
+ <location filename="../dialogs/configdialog.ui" line="1864"/>
<source>Status field colors</source>
<translation>Couleurs du status des champs</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1793"/>
+ <location filename="../dialogs/configdialog.ui" line="1870"/>
<source>Information message foreground</source>
<translation>Message d&apos;information devant</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1816"/>
+ <location filename="../dialogs/configdialog.ui" line="1893"/>
<source>Warning message foreground</source>
<translation>Warning devant</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1839"/>
+ <location filename="../dialogs/configdialog.ui" line="1916"/>
<source>Error message foreground</source>
<translation>Message d&apos;erreur devant</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="765"/>
+ <location filename="../dialogs/configdialog.cpp" line="785"/>
<source>Description:</source>
<comment>plugin details</comment>
<translation>Description:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="766"/>
+ <location filename="../dialogs/configdialog.cpp" line="786"/>
<source>Category:</source>
<comment>plugin details</comment>
<translation>Catégories:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="767"/>
+ <location filename="../dialogs/configdialog.cpp" line="787"/>
<source>Version:</source>
<comment>plugin details</comment>
<translation>Version:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="768"/>
+ <location filename="../dialogs/configdialog.cpp" line="788"/>
<source>Author:</source>
<comment>plugin details</comment>
<translation>Auteur:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="770"/>
+ <location filename="../dialogs/configdialog.cpp" line="790"/>
<source>Internal name:</source>
<comment>plugin details</comment>
<translation>Nom interne:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="771"/>
+ <location filename="../dialogs/configdialog.cpp" line="791"/>
<source>Dependencies:</source>
<comment>plugin details</comment>
<translation>Dépendances:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="772"/>
+ <location filename="../dialogs/configdialog.cpp" line="792"/>
<source>Conflicts:</source>
<comment>plugin details</comment>
<translation>Conflicts:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="776"/>
+ <location filename="../dialogs/configdialog.cpp" line="796"/>
<source>Plugin details</source>
<translation>Détails plugins</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1177"/>
+ <location filename="../dialogs/configdialog.cpp" line="1202"/>
<source>Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog.</source>
<translation>Les plugins sont chargés/déchargés immédiatement avec vérifié/non vérifié, mais les modifications de la liste de plugins à charger au lancement ne sont pas enregistrées avant l&apos;enregistrement de la configuration entière.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1241"/>
+ <location filename="../dialogs/configdialog.cpp" line="1266"/>
<source>%1 (built-in)</source>
<comment>plugins manager in configuration dialog</comment>
<translation>%1 (intégré)</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1254"/>
+ <location filename="../dialogs/configdialog.cpp" line="1279"/>
<source>Details</source>
<translation>Détails</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1266"/>
+ <location filename="../dialogs/configdialog.cpp" line="1291"/>
<source>No plugins in this category.</source>
<translation>Pas de plugins dans cette catégorie.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1362"/>
+ <location filename="../dialogs/configdialog.cpp" line="1387"/>
<source>Add new data type</source>
<translation>Ajoutez un nouveau type de données</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1366"/>
+ <location filename="../dialogs/configdialog.cpp" line="1391"/>
<source>Rename selected data type</source>
<translation>Renommer le type de données sélectionné</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1370"/>
+ <location filename="../dialogs/configdialog.cpp" line="1395"/>
<source>Delete selected data type</source>
<translation>Supprimez le type de données sélectionnées</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1374"/>
+ <location filename="../dialogs/configdialog.cpp" line="1399"/>
<source>Help for configuring data type editors</source>
<translation>Aide à la configuration des éditeurs de type de données</translation>
</message>
@@ -1608,121 +1643,129 @@ mais c&apos;est OK pour l&apos;utiliser.</translation>
</message>
</context>
<context>
+ <name>CssDebugDialog</name>
+ <message>
+ <location filename="../dialogs/cssdebugdialog.ui" line="14"/>
+ <source>SQLiteStudio CSS console</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DataView</name>
<message>
- <location filename="../dataview.cpp" line="95"/>
+ <location filename="../dataview.cpp" line="98"/>
<source>Filter data</source>
<comment>data view</comment>
<translation>Filtre de données</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="104"/>
+ <location filename="../dataview.cpp" line="107"/>
<source>Grid view</source>
<translation>Vue tableau</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="105"/>
+ <location filename="../dataview.cpp" line="108"/>
<source>Form view</source>
<translation>Vue formulaire</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="148"/>
+ <location filename="../dataview.cpp" line="165"/>
<source>Refresh table data</source>
<comment>data view</comment>
<translation>Actualiser les données de la table</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="162"/>
+ <location filename="../dataview.cpp" line="179"/>
<source>First page</source>
<comment>data view</comment>
<translation>Première page</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="163"/>
+ <location filename="../dataview.cpp" line="180"/>
<source>Previous page</source>
<comment>data view</comment>
<translation>Page précédente</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="165"/>
+ <location filename="../dataview.cpp" line="182"/>
<source>Next page</source>
<comment>data view</comment>
<translation>Page suivante</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="166"/>
+ <location filename="../dataview.cpp" line="183"/>
<source>Last page</source>
<comment>data view</comment>
<translation>Dernière page</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="171"/>
+ <location filename="../dataview.cpp" line="188"/>
<source>Apply filter</source>
<comment>data view</comment>
<translation>Appliquer le filtre</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="186"/>
+ <location filename="../dataview.cpp" line="203"/>
<source>Commit changes for selected cells</source>
<comment>data view</comment>
<translation>Enregistrer les modifications des cellules sélectionnées</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="187"/>
+ <location filename="../dataview.cpp" line="204"/>
<source>Rollback changes for selected cells</source>
<comment>data view</comment>
<translation>Annuler les modifications des celulles sélectionnées</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="188"/>
+ <location filename="../dataview.cpp" line="205"/>
<source>Show grid view of results</source>
<comment>sql editor</comment>
<translation>Afficache des résultats en tableau</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="189"/>
+ <location filename="../dataview.cpp" line="206"/>
<source>Show form view of results</source>
<comment>sql editor</comment>
<translation>Affichage des résultat en formulaire</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="258"/>
+ <location filename="../dataview.cpp" line="275"/>
<source>Filter by text</source>
<comment>data view</comment>
<translation>Filtrer par texte</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="259"/>
+ <location filename="../dataview.cpp" line="276"/>
<source>Filter by the Regular Expression</source>
<comment>data view</comment>
<translation>Filtrer par une expression standard</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="260"/>
+ <location filename="../dataview.cpp" line="277"/>
<source>Filter by SQL expression</source>
<comment>data view</comment>
<translation>Filtrer par une expression SQL</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="291"/>
+ <location filename="../dataview.cpp" line="308"/>
<source>Tabs on top</source>
<comment>data view</comment>
<translation>Onglets en haut</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="292"/>
+ <location filename="../dataview.cpp" line="309"/>
<source>Tabs at bottom</source>
<comment>data view</comment>
<translation>Onglet en bas</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="510"/>
+ <location filename="../dataview.cpp" line="555"/>
<source>Total number of rows is being counted.
Browsing other pages will be possible after the row counting is done.</source>
<translation>Le total des lignes en cours de comptage. La navigation d&apos;autres pages à la fin du comptage.</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="521"/>
+ <location filename="../dataview.cpp" line="566"/>
<source>Row: %1</source>
<translation>Lignes: %1</translation>
</message>
@@ -1920,32 +1963,32 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation>Navigateur</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="488"/>
+ <location filename="../dialogs/dbdialog.cpp" line="483"/>
<source>Enter an unique database name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="497"/>
+ <location filename="../dialogs/dbdialog.cpp" line="492"/>
<source>This name is already in use. Please enter unique name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="505"/>
+ <location filename="../dialogs/dbdialog.cpp" line="500"/>
<source>Enter a database file path.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="512"/>
+ <location filename="../dialogs/dbdialog.cpp" line="507"/>
<source>This database is already on the list under name: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="528"/>
+ <location filename="../dialogs/dbdialog.cpp" line="523"/>
<source>Select a database type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="585"/>
+ <location filename="../dialogs/dbdialog.cpp" line="580"/>
<source>Auto-generated</source>
<translation type="unfinished"></translation>
</message>
@@ -1954,7 +1997,7 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation type="vanished">Le non sera généré automatiquement</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="590"/>
+ <location filename="../dialogs/dbdialog.cpp" line="585"/>
<source>Type the name</source>
<translation>Saississez le nom</translation>
</message>
@@ -2015,328 +2058,349 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation>Base de données</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.ui" line="67"/>
+ <location filename="../dbtree/dbtree.ui" line="73"/>
<source>Filter by name</source>
<translation>Filtre par nom</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="99"/>
+ <location filename="../dbtree/dbtree.cpp" line="102"/>
<source>Copy</source>
<translation>Copier</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="100"/>
+ <location filename="../dbtree/dbtree.cpp" line="103"/>
<source>Paste</source>
<translation>Coller</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="101"/>
+ <location filename="../dbtree/dbtree.cpp" line="104"/>
<source>Select all</source>
<translation>Tout sélectionner</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="102"/>
+ <location filename="../dbtree/dbtree.cpp" line="105"/>
<source>Create a group</source>
<translation>Créer un group</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="103"/>
+ <location filename="../dbtree/dbtree.cpp" line="106"/>
<source>Delete the group</source>
<translation>Supprimer un group</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="104"/>
+ <location filename="../dbtree/dbtree.cpp" line="107"/>
<source>Rename the group</source>
<translation>Renommerr un group</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="105"/>
+ <location filename="../dbtree/dbtree.cpp" line="108"/>
<source>Add a database</source>
<translation>Ajout d&apos;une base de données</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="106"/>
+ <location filename="../dbtree/dbtree.cpp" line="109"/>
<source>Edit the database</source>
<translation>Modifier la base de données</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="107"/>
+ <location filename="../dbtree/dbtree.cpp" line="110"/>
<source>Remove the database</source>
<translation>Enlever la base de données</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="108"/>
+ <location filename="../dbtree/dbtree.cpp" line="111"/>
<source>Connect to the database</source>
<translation>Connecter la base de données</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="109"/>
+ <location filename="../dbtree/dbtree.cpp" line="112"/>
<source>Disconnect from the database</source>
<translation>Déconnecter la base de données</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="110"/>
+ <location filename="../dbtree/dbtree.cpp" line="113"/>
<source>Import</source>
<translation>Importer</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="111"/>
+ <location filename="../dbtree/dbtree.cpp" line="114"/>
<source>Export the database</source>
<translation>Exporter la base de données</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="112"/>
+ <location filename="../dbtree/dbtree.cpp" line="115"/>
<source>Convert database type</source>
<translation>Type de base de données à convertir</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="113"/>
+ <location filename="../dbtree/dbtree.cpp" line="116"/>
<source>Vacuum</source>
<translation>Vaccum</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="114"/>
+ <location filename="../dbtree/dbtree.cpp" line="117"/>
<source>Integrity check</source>
<translation>Contrôle d&apos;intégrité</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="115"/>
+ <location filename="../dbtree/dbtree.cpp" line="118"/>
<source>Create a table</source>
<translation>Créer une table</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="116"/>
+ <location filename="../dbtree/dbtree.cpp" line="119"/>
<source>Edit the table</source>
<translation>Modifier une table</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="117"/>
+ <location filename="../dbtree/dbtree.cpp" line="120"/>
<source>Delete the table</source>
<translation>Supprimer une table</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="118"/>
+ <location filename="../dbtree/dbtree.cpp" line="121"/>
<source>Export the table</source>
<translation>Exporter une table</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="119"/>
+ <location filename="../dbtree/dbtree.cpp" line="122"/>
<source>Import into the table</source>
<translation>Importer dans une table</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="120"/>
+ <location filename="../dbtree/dbtree.cpp" line="123"/>
<source>Populate table</source>
<translation>Peupler une table</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="121"/>
+ <location filename="../dbtree/dbtree.cpp" line="124"/>
<source>Create similar table</source>
<translation>Créer une table identique</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="122"/>
+ <location filename="../dbtree/dbtree.cpp" line="125"/>
<source>Reset autoincrement sequence</source>
<translation>Réinitialise l&apos;autoincrémentation</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="123"/>
+ <location filename="../dbtree/dbtree.cpp" line="126"/>
<source>Create an index</source>
<translation>Créer un index</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="124"/>
+ <location filename="../dbtree/dbtree.cpp" line="127"/>
<source>Edit the index</source>
<translation>Modifier un index</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="125"/>
+ <location filename="../dbtree/dbtree.cpp" line="128"/>
<source>Delete the index</source>
<translation>Supprimer un index</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="126"/>
+ <location filename="../dbtree/dbtree.cpp" line="129"/>
<source>Create a trigger</source>
<translation>Créer un déclencheur</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="127"/>
+ <location filename="../dbtree/dbtree.cpp" line="130"/>
<source>Edit the trigger</source>
<translation>modifier un déclencheur</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="128"/>
+ <location filename="../dbtree/dbtree.cpp" line="131"/>
<source>Delete the trigger</source>
<translation>Supprimer un déclencheur</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="129"/>
+ <location filename="../dbtree/dbtree.cpp" line="132"/>
<source>Create a view</source>
<translation>Créer une vue</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="130"/>
+ <location filename="../dbtree/dbtree.cpp" line="133"/>
<source>Edit the view</source>
<translation>Modier une vue</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="131"/>
+ <location filename="../dbtree/dbtree.cpp" line="134"/>
<source>Delete the view</source>
<translation>Supprimer une vue</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="132"/>
+ <location filename="../dbtree/dbtree.cpp" line="135"/>
<source>Add a column</source>
<translation>Ajouter une colonne</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="133"/>
+ <location filename="../dbtree/dbtree.cpp" line="136"/>
<source>Edit the column</source>
<translation>Modifier une colonne</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="134"/>
+ <location filename="../dbtree/dbtree.cpp" line="137"/>
<source>Delete the column</source>
<translation>Supprimer une colonne</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="135"/>
+ <location filename="../dbtree/dbtree.cpp" line="138"/>
<source>Delete selected items</source>
<translation>Supprimer les objets sélectionnés</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="136"/>
+ <location filename="../dbtree/dbtree.cpp" line="139"/>
<source>Clear filter</source>
<translation>Vider le filtre</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="137"/>
+ <location filename="../dbtree/dbtree.cpp" line="140"/>
<source>Refresh all database schemas</source>
<translation>Actualiser tous les schémas de base de données</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="138"/>
+ <location filename="../dbtree/dbtree.cpp" line="141"/>
<source>Refresh selected database schema</source>
<translation>Actualiser les schémas de la base de données sélectionnée</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="308"/>
- <location filename="../dbtree/dbtree.cpp" line="313"/>
+ <location filename="../dbtree/dbtree.cpp" line="142"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Erase table data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="312"/>
+ <location filename="../dbtree/dbtree.cpp" line="317"/>
<source>Database</source>
<translation>Base de données</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="323"/>
+ <location filename="../dbtree/dbtree.cpp" line="327"/>
<source>Grouping</source>
<translation>Groupement</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Create group</source>
<translation>Créer groupe</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
<source>Group name</source>
<translation>Nom de groupe</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Entry with name %1 already exists in group %2.</source>
<translation>L&apos;entrée nommée %1 existe déjà dans le group %2.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="953"/>
+ <location filename="../dbtree/dbtree.cpp" line="958"/>
<source>Delete group</source>
<translation>Supprimer le groupe</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="954"/>
+ <location filename="../dbtree/dbtree.cpp" line="959"/>
<source>Are you sure you want to delete group %1?
All objects from this group will be moved to parent group.</source>
<translation>Etes-vous certain de supprimer le groupe %1?
Tous les objets de ce groupe seront déplacés dans le groupe parent.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Delete database</source>
<translation>Suppression de la base de données</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Are you sure you want to delete database &apos;%1&apos;?</source>
<translation>Etes-vous certain de vouloir supprimer la base de données: %1?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1050"/>
- <location filename="../dbtree/dbtree.cpp" line="1260"/>
+ <location filename="../dbtree/dbtree.cpp" line="1055"/>
+ <location filename="../dbtree/dbtree.cpp" line="1265"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation>Import impossible, car aucun plugin d&apos;import n&apos;est chargé.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1070"/>
- <location filename="../dbtree/dbtree.cpp" line="1235"/>
+ <location filename="../dbtree/dbtree.cpp" line="1075"/>
+ <location filename="../dbtree/dbtree.cpp" line="1240"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Export impossible, car aucun plugin d&apos;import n&apos;est chargé.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1334"/>
+ <location filename="../dbtree/dbtree.cpp" line="1339"/>
<source>Error while executing VACUUM on the database %1: %2</source>
<translation>Erreur pendant l&apos;exécution de VACCUM sur la base de données %1: %2</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1336"/>
+ <location filename="../dbtree/dbtree.cpp" line="1341"/>
<source>VACUUM execution finished successfully.</source>
<translation>Exécution de VACCUM terminé avec succès.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1353"/>
+ <location filename="../dbtree/dbtree.cpp" line="1358"/>
<source>Integrity check (%1)</source>
<translation>Contrôle d&apos;intégrité (%1)</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Reset autoincrement</source>
<translation>Remise à zéro de l&apos;autoincrément</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation>Etes-vous certain de vouloir réinitialiser l&apos;outoincrémentation de la table %1?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1397"/>
+ <location filename="../dbtree/dbtree.cpp" line="1402"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation>Une erreur est survenue pendant la réinitialisation de la valeur de l&apos;autoincrémentation de la table &apos;%1&apos;: %2</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1399"/>
+ <location filename="../dbtree/dbtree.cpp" line="1404"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation>La valeur de l&apos;autoincrémentaion de la table %1 a été réinitialisé avec succès.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1501"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Are you sure you want to delete all data from table &apos;%1&apos;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1429"/>
+ <source>An error occurred while trying to delete data from table &apos;%1&apos;: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1433"/>
+ <source>All data has been deleted for table &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1535"/>
<source>Following objects will be deleted: %1.</source>
<translation>Les objets suivant vont être supprimés: %1.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1504"/>
+ <location filename="../dbtree/dbtree.cpp" line="1538"/>
<source>Following databases will be removed from list: %1.</source>
<translation>Les bases de données suivantes seront enlevées de la liste: %1.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1507"/>
+ <location filename="../dbtree/dbtree.cpp" line="1541"/>
<source>Remainig objects from deleted group will be moved in place where the group used to be.</source>
<translation>Les objets restants du groupe supprimé seront déplacés où le groupe a eu l&apos;habitude d&apos;être.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1509"/>
+ <location filename="../dbtree/dbtree.cpp" line="1543"/>
<source>%1&lt;br&gt;&lt;br&gt;Are you sure you want to continue?</source>
<translation>%1&lt;br&gt;&lt;br&gt;Etes-vous certain de vouloir continuer?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1511"/>
+ <location filename="../dbtree/dbtree.cpp" line="1545"/>
<source>Delete objects</source>
<translation>Objets supprimés</translation>
</message>
@@ -2371,125 +2435,130 @@ Tous les objets de ce groupe seront déplacés dans le groupe parent.</translati
<context>
<name>DbTreeModel</name>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="407"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="422"/>
<source>Database: %1</source>
<comment>dbtree tooltip</comment>
<translation>Base de données: %1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="412"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="427"/>
<source>Version:</source>
<comment>dbtree tooltip</comment>
<translation>Version:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="413"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="430"/>
<source>File size:</source>
<comment>dbtree tooltip</comment>
<translation>Taille fichier:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="414"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="433"/>
<source>Encoding:</source>
<comment>dbtree tooltip</comment>
<translation>Codage:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="419"/>
<source>Error details:</source>
<comment>dbtree tooltip</comment>
- <translation>Détails erreur:</translation>
+ <translation type="vanished">Détails erreur:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="429"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="438"/>
+ <source>Error:</source>
+ <comment>dbtree tooltip</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtreemodel.cpp" line="448"/>
<source>Table : %1</source>
<comment>dbtree tooltip</comment>
<translation>Table: %1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="452"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="471"/>
<source>Columns (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Colonnes:(%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="455"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="474"/>
<source>Indexes (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Index (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="458"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="477"/>
<source>Triggers (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Déclencheurs (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1073"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1092"/>
<source>Copy</source>
<translation>Copier</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1074"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1093"/>
<source>Move</source>
<translation>Déplcer</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1076"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1095"/>
<source>Include data</source>
<translation>Données incluses</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1077"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1096"/>
<source>Include indexes</source>
<translation>Index inclus</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1078"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1097"/>
<source>Include triggers</source>
<translation>Déclencheurs inclus</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1080"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1099"/>
<source>Abort</source>
<translation>Abandonner</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1156"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1175"/>
<source>Referenced tables</source>
<translation>Tables référencées</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1157"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1176"/>
<source>Do you want to include following referenced tables as well:
%1</source>
<translation>Vous voulez inclure des tables référencées suivantes aussi :
%1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1166"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1185"/>
<source>Name conflict</source>
<translation>Conflit de nom</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1167"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1186"/>
<source>Following object already exists in the target database.
Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</source>
<translation>L&apos;objet suivant existe déjà dans la base de données cible.
Entrez SVP un nouveau nom, unique, ou cliquez &apos;%1&apos; pour d&apos;interrompre l&apos;opération :</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1180"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1199"/>
<source>SQL statements conversion</source>
<translation>Conversion des déclarations SQL </translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1188"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1207"/>
<source>Following error occurred while converting SQL statements to the target SQLite version:</source>
<translation>L&apos;erreur suivante est survenue en convertissant des déclarations de SQL de la version cible SQLite :</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1189"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1208"/>
<source>Would you like to ignore those errors and proceed?</source>
<translation>Voulez-vous ignorer ces erreurs et procéder?</translation>
</message>
@@ -2540,135 +2609,135 @@ Entrez SVP un nouveau nom, unique, ou cliquez &apos;%1&apos; pour d&apos;interro
<context>
<name>EditorWindow</name>
<message>
- <location filename="../windows/editorwindow.ui" line="39"/>
+ <location filename="../windows/editorwindow.ui" line="42"/>
<source>Query</source>
<translation>Requête</translation>
</message>
<message>
- <location filename="../windows/editorwindow.ui" line="109"/>
+ <location filename="../windows/editorwindow.ui" line="112"/>
<source>History</source>
<translation>Historique</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="130"/>
+ <location filename="../windows/editorwindow.cpp" line="137"/>
<source>Results in the separate tab</source>
<translation>Résultats dans un onglet séparé</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="131"/>
+ <location filename="../windows/editorwindow.cpp" line="138"/>
<source>Results below the query</source>
<translation>Résultats après la requête</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="164"/>
- <location filename="../windows/editorwindow.cpp" line="166"/>
+ <location filename="../windows/editorwindow.cpp" line="171"/>
+ <location filename="../windows/editorwindow.cpp" line="173"/>
<source>SQL editor %1</source>
<translation>Editeur SQL %1</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="324"/>
+ <location filename="../windows/editorwindow.cpp" line="331"/>
<source>Results</source>
<translation>Résultats</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="357"/>
+ <location filename="../windows/editorwindow.cpp" line="364"/>
<source>Execute query</source>
<translation>Exécuter la requête</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="358"/>
+ <location filename="../windows/editorwindow.cpp" line="365"/>
<source>Explain query</source>
<translation>Explication de la requête</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="361"/>
+ <location filename="../windows/editorwindow.cpp" line="368"/>
<source>Clear execution history</source>
<comment>sql editor</comment>
<translation>Vider l&apos;historique d&apos;exécution</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="363"/>
+ <location filename="../windows/editorwindow.cpp" line="370"/>
<source>Export results</source>
<comment>sql editor</comment>
<translation>Exporter résultats</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="365"/>
+ <location filename="../windows/editorwindow.cpp" line="372"/>
<source>Create view from query</source>
<comment>sql editor</comment>
<translation>Créer une vue à partir d&apos;une requête</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="374"/>
+ <location filename="../windows/editorwindow.cpp" line="382"/>
<source>Previous database</source>
<translation>Base de données précédente</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="375"/>
+ <location filename="../windows/editorwindow.cpp" line="383"/>
<source>Next database</source>
<translation>Base de données suivante</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="378"/>
+ <location filename="../windows/editorwindow.cpp" line="386"/>
<source>Show next tab</source>
<comment>sql editor</comment>
<translation>Afficher l&apos;onglet suivant</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="379"/>
+ <location filename="../windows/editorwindow.cpp" line="387"/>
<source>Show previous tab</source>
<comment>sql editor</comment>
<translation>Afficher l&apos;onget précédent</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="380"/>
+ <location filename="../windows/editorwindow.cpp" line="388"/>
<source>Focus results below</source>
<comment>sql editor</comment>
<translation></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="381"/>
+ <location filename="../windows/editorwindow.cpp" line="389"/>
<source>Focus SQL editor above</source>
<comment>sql editor</comment>
<translation>Focus sur l&apos;éditeur SQL ci-dessus</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="455"/>
+ <location filename="../windows/editorwindow.cpp" line="463"/>
<source>Active database (%1/%2)</source>
<translation>Base de données active (%1/%2)</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="495"/>
+ <location filename="../windows/editorwindow.cpp" line="503"/>
<source>Query finished in %1 second(s). Rows affected: %2</source>
<translation>Requête terminée en %1 secondes. Nombre de lignes: %2</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="499"/>
+ <location filename="../windows/editorwindow.cpp" line="507"/>
<source>Query finished in %1 second(s).</source>
<translation>Requête terminée en %1 seconde(s).</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Clear execution history</source>
<translation>Supprimer l&apos;historique d&apos;exécution</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Are you sure you want to erase the entire SQL execution history? This cannot be undone.</source>
<translation>Etes vous certain de vouloir supprimer la totalité de l&apos;historique d&apos;exécution SQL? Aucun retour possible.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="613"/>
+ <location filename="../windows/editorwindow.cpp" line="621"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Impossible d&apos;exporter, car aucun plugin d&apos;expertation n&apos;est chargés.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="634"/>
+ <location filename="../windows/editorwindow.cpp" line="642"/>
<source>No database selected in the SQL editor. Cannot create a view for unknown database.</source>
<translation>Aucune base de données den sélectionnée dans l&apos;éditeur SQL. Impossible de créer une vue sur une base de données inconnue.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="664"/>
+ <location filename="../windows/editorwindow.cpp" line="672"/>
<source>Editor window &quot;%1&quot; has uncommited data.</source>
<translation>Fenêtre d&apos;éditeur &quot;%1&quot; n&apos;a pas enregistrer les données.</translation>
</message>
@@ -2922,49 +2991,49 @@ Entrez SVP un nouveau nom, unique, ou cliquez &apos;%1&apos; pour d&apos;interro
<context>
<name>FormView</name>
<message>
- <location filename="../formview.cpp" line="253"/>
+ <location filename="../formview.cpp" line="241"/>
<source>Commit row</source>
<comment>form view</comment>
<translation>Enregistrer ligne</translation>
</message>
<message>
- <location filename="../formview.cpp" line="254"/>
+ <location filename="../formview.cpp" line="242"/>
<source>Rollback row</source>
<comment>form view</comment>
<translation>Annuler ligne</translation>
</message>
<message>
- <location filename="../formview.cpp" line="255"/>
+ <location filename="../formview.cpp" line="243"/>
<source>First row</source>
<comment>form view</comment>
<translation>Première ligne</translation>
</message>
<message>
- <location filename="../formview.cpp" line="256"/>
+ <location filename="../formview.cpp" line="244"/>
<source>Previous row</source>
<comment>form view</comment>
<translation>Ligne précédente</translation>
</message>
<message>
- <location filename="../formview.cpp" line="257"/>
+ <location filename="../formview.cpp" line="245"/>
<source>Next row</source>
<comment>form view</comment>
<translation>Ligne suivante</translation>
</message>
<message>
- <location filename="../formview.cpp" line="258"/>
+ <location filename="../formview.cpp" line="246"/>
<source>Last row</source>
<comment>form view</comment>
<translation>Dernière ligne</translation>
</message>
<message>
- <location filename="../formview.cpp" line="259"/>
+ <location filename="../formview.cpp" line="247"/>
<source>Insert new row</source>
<comment>form view</comment>
<translation>Insérer nouvelle ligne</translation>
</message>
<message>
- <location filename="../formview.cpp" line="260"/>
+ <location filename="../formview.cpp" line="248"/>
<source>Delete current row</source>
<comment>form view</comment>
<translation>Supprimer ligne courante</translation>
@@ -2978,58 +3047,58 @@ Entrez SVP un nouveau nom, unique, ou cliquez &apos;%1&apos; pour d&apos;interro
<translation>Fonctions de filtrations</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="151"/>
+ <location filename="../windows/functionseditor.ui" line="260"/>
<source>Function name:</source>
<translation>Nom fonction:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="161"/>
+ <location filename="../windows/functionseditor.ui" line="273"/>
<source>Implementation language:</source>
<translation>Langage:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="171"/>
+ <location filename="../windows/functionseditor.ui" line="253"/>
<source>Type:</source>
<translation>Type:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="187"/>
+ <location filename="../windows/functionseditor.ui" line="157"/>
<source>Input arguments</source>
<translation>Entrez arguments </translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="193"/>
+ <location filename="../windows/functionseditor.ui" line="163"/>
<source>Undefined</source>
<translation>Non défini</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="235"/>
+ <location filename="../windows/functionseditor.ui" line="205"/>
<source>Databases</source>
<translation>Bases de données</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="241"/>
+ <location filename="../windows/functionseditor.ui" line="211"/>
<source>Register in all databases</source>
<translation>Enregistre toutes les bases de données</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="248"/>
+ <location filename="../windows/functionseditor.ui" line="218"/>
<source>Register in following databases:</source>
<translation>Enregistre les bases de données suivantes:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="278"/>
+ <location filename="../windows/functionseditor.ui" line="293"/>
<source>Initialization code:</source>
<translation>Code d&apos;initialisation:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="294"/>
+ <location filename="../windows/functionseditor.ui" line="309"/>
<location filename="../windows/functionseditor.cpp" line="426"/>
<source>Function implementation code:</source>
<translation>Fonction de code d&apos;implémentation:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="310"/>
+ <location filename="../windows/functionseditor.ui" line="325"/>
<source>Final step implementation code:</source>
<translation>Etape finale de code d&apos;implémentaion:</translation>
</message>
@@ -3354,293 +3423,298 @@ Entrez SVP un nouveau nom, unique, ou cliquez &apos;%1&apos; pour d&apos;interro
<context>
<name>MainWindow</name>
<message>
- <location filename="../mainwindow.ui" line="66"/>
+ <location filename="../mainwindow.ui" line="81"/>
<source>Database toolbar</source>
<translation>Barre d&apos;outils de base de données</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="77"/>
+ <location filename="../mainwindow.ui" line="92"/>
<source>Structure toolbar</source>
<translation>Barre d&apos;outils de structure</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="88"/>
+ <location filename="../mainwindow.ui" line="103"/>
<source>Tools</source>
<translation>outils</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="105"/>
+ <location filename="../mainwindow.ui" line="120"/>
<source>Window list</source>
<translation>liste fenêtre</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="119"/>
+ <location filename="../mainwindow.ui" line="134"/>
<source>View toolbar</source>
<translation>Barre d&apos;outils vues</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="104"/>
+ <location filename="../mainwindow.cpp" line="107"/>
<source>Configuration widgets</source>
<translation>Configuration widgets</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="105"/>
+ <location filename="../mainwindow.cpp" line="108"/>
<source>Syntax highlighting engines</source>
<translation>Syntaxe surlignée des moteurs</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="106"/>
+ <location filename="../mainwindow.cpp" line="109"/>
<source>Data editors</source>
<translation>Editeur s de données</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="118"/>
+ <location filename="../mainwindow.cpp" line="121"/>
<source>Running in debug mode. Press %1 or use &apos;Help / Open debug console&apos; menu entry to open the debug console.</source>
<translation>Passage en mode débogue. Cliquez %1 ou utilisez l&apos;entrée du menu &apos; l&apos;Aide / Ouvrir la console de débogage&apos;.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="120"/>
+ <location filename="../mainwindow.cpp" line="123"/>
<source>Running in debug mode. Debug messages are printed to the standard output.</source>
<translation>Passage en mode débogue. Les messages de débogage sont imprimés dans la sortie standard.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="202"/>
+ <location filename="../mainwindow.cpp" line="211"/>
<source>You need to restart application to make the language change take effect.</source>
<translation>Vous devez relancer l&apos;application pour que le langage prenne effet.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="245"/>
+ <location filename="../mainwindow.cpp" line="254"/>
<source>Open SQL editor</source>
<translation>Ouvrir éditeur SQL</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="246"/>
+ <location filename="../mainwindow.cpp" line="255"/>
<source>Open DDL history</source>
<translation>Ouvrir Historique DDL</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="247"/>
+ <location filename="../mainwindow.cpp" line="256"/>
<source>Open SQL functions editor</source>
<translation>Editeur de fonctions SQL</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="248"/>
+ <location filename="../mainwindow.cpp" line="257"/>
<source>Open collations editor</source>
<translation>Ouvrir editeur de collections</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="249"/>
+ <location filename="../mainwindow.cpp" line="258"/>
<source>Import</source>
<translation>Importer</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="250"/>
+ <location filename="../mainwindow.cpp" line="259"/>
<source>Export</source>
<translation>Exporter</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="252"/>
+ <location filename="../mainwindow.cpp" line="261"/>
<source>Open configuration dialog</source>
<translation>Ouvrir dialogue de configuration</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="254"/>
+ <location filename="../mainwindow.cpp" line="263"/>
<source>Tile windows</source>
<translation>Organisation des fenêtres</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="255"/>
+ <location filename="../mainwindow.cpp" line="264"/>
<source>Tile windows horizontally</source>
<translation>Organisation des fenêtres horizontalement</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="256"/>
+ <location filename="../mainwindow.cpp" line="265"/>
<source>Tile windows vertically</source>
<translation>Organisation des fenêtres verticalement</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="257"/>
+ <location filename="../mainwindow.cpp" line="266"/>
<source>Cascade windows</source>
<translation>Organisation des fenêtres en cascade</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="258"/>
+ <location filename="../mainwindow.cpp" line="267"/>
<source>Next window</source>
<translation>Fenêtre suivante</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="259"/>
+ <location filename="../mainwindow.cpp" line="268"/>
<source>Previous window</source>
<translation>Fenêtre précédante</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="260"/>
+ <location filename="../mainwindow.cpp" line="269"/>
<source>Hide status field</source>
<translation>Ca</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="262"/>
+ <location filename="../mainwindow.cpp" line="271"/>
<source>Close selected window</source>
<translation>Fermeture fenêtre sélectionnée</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="263"/>
+ <location filename="../mainwindow.cpp" line="272"/>
<source>Close all windows but selected</source>
<translation>Fermeture de toutes les fenêtres sélectionnées</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="264"/>
+ <location filename="../mainwindow.cpp" line="273"/>
<source>Close all windows</source>
<translation>Fermeture de toutes les fenêtres</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="265"/>
+ <location filename="../mainwindow.cpp" line="274"/>
<source>Restore recently closed window</source>
<translation>Restaure une fenêtre récemment fermée</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="266"/>
+ <location filename="../mainwindow.cpp" line="275"/>
<source>Rename selected window</source>
<translation>Renomme la fenêtre sélectionnée</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="268"/>
+ <location filename="../mainwindow.cpp" line="277"/>
<source>Open Debug Console</source>
<translation>Ouvrir la console de debogage</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="269"/>
+ <location filename="../mainwindow.cpp" line="278"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="279"/>
<source>Report a bug</source>
<translation>Rapport de bug</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="270"/>
+ <location filename="../mainwindow.cpp" line="280"/>
<source>Propose a new feature</source>
<translation>Proposer une nouvelle fonction</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="271"/>
+ <location filename="../mainwindow.cpp" line="281"/>
<source>About</source>
<translation>Apropos</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="272"/>
+ <location filename="../mainwindow.cpp" line="282"/>
<source>Licenses</source>
<translation>Licences</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="273"/>
+ <location filename="../mainwindow.cpp" line="283"/>
<source>Open home page</source>
<translation>Ouvrir la home page</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="274"/>
+ <location filename="../mainwindow.cpp" line="284"/>
<source>Open forum page</source>
<translation>Ouvrir la page des forums</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="275"/>
+ <location filename="../mainwindow.cpp" line="285"/>
<source>User Manual</source>
<translation>Manuel utilisateurs</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="276"/>
+ <location filename="../mainwindow.cpp" line="286"/>
<source>SQLite documentation</source>
<translation>Documentation SQLite</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="277"/>
+ <location filename="../mainwindow.cpp" line="287"/>
<source>Report history</source>
<translation>Raport d&apos;historique</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="278"/>
+ <location filename="../mainwindow.cpp" line="289"/>
<source>Check for updates</source>
<translation>Vérification de mises à jour</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="315"/>
+ <location filename="../mainwindow.cpp" line="327"/>
<source>Database</source>
<comment>menubar</comment>
<translation>Base de données</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="335"/>
+ <location filename="../mainwindow.cpp" line="347"/>
<source>Structure</source>
<comment>menubar</comment>
<translation>Structure</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="356"/>
+ <location filename="../mainwindow.cpp" line="368"/>
<source>View</source>
<comment>menubar</comment>
<translation>Vue</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="360"/>
+ <location filename="../mainwindow.cpp" line="372"/>
<source>Window list</source>
<comment>menubar view menu</comment>
<translation>Liste de fenêtres</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="381"/>
+ <location filename="../mainwindow.cpp" line="393"/>
<source>Tools</source>
<comment>menubar</comment>
<translation>Outils</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="395"/>
+ <location filename="../mainwindow.cpp" line="407"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="549"/>
+ <location filename="../mainwindow.cpp" line="569"/>
<source>Could not set style: %1</source>
<comment>main window</comment>
<translation>Impossible de positionner le style: %1</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="621"/>
+ <location filename="../mainwindow.cpp" line="642"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Exportation impossible, aucun plugin d&apos;exportation n&apos;est chargé.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="637"/>
+ <location filename="../mainwindow.cpp" line="658"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation>Importation impossible, aucun plugin d&apos;importation n&apos;est chargé.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Rename window</source>
<translation>Renommer la fenêtre</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Enter new name for the window:</source>
<translation>Saississez un nouveau nom de fenêtre:</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="738"/>
+ <location filename="../mainwindow.cpp" line="777"/>
<source>New updates are available. &lt;a href=&quot;%1&quot;&gt;Click here for details&lt;/a&gt;.</source>
<translation>Une nouvelle mise à jour est disponible. &lt;a href=&quot;%1&quot;&gt; cliquez ici pour détails&lt;/a&gt;.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="746"/>
+ <location filename="../mainwindow.cpp" line="785"/>
<source>You&apos;re running the most recent version. No updates are available.</source>
<translation>Vous utilisez la dernière version. Aucune mise à jour de disponible.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="845"/>
+ <location filename="../mainwindow.cpp" line="891"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="852"/>
+ <location filename="../mainwindow.cpp" line="898"/>
<source>Database passed in command line parameters (%1) has been temporarily added to the list under name: %2</source>
<translation>La base de données passée en paramètre dans la ligne de commande (%1)a été temporaire ajoutée à la liste sous le nom: %2</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="857"/>
+ <location filename="../mainwindow.cpp" line="903"/>
<source>Could not add database %1 to list.</source>
<translation>Impossible d&apos;ajouter la base de données %1 à la liste.</translation>
</message>
@@ -3666,29 +3740,29 @@ Entrez SVP un nouveau nom, unique, ou cliquez &apos;%1&apos; pour d&apos;interro
<context>
<name>MultiEditor</name>
<message>
- <location filename="../multieditor/multieditor.cpp" line="53"/>
+ <location filename="../multieditor/multieditor.cpp" line="62"/>
<source>Null value</source>
<comment>multieditor</comment>
<translation>Valeur NULL</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="68"/>
+ <location filename="../multieditor/multieditor.cpp" line="77"/>
<source>Configure editors for this data type</source>
<translation>Configurer l&apos;éditeur pour ce type de données</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="271"/>
+ <location filename="../multieditor/multieditor.cpp" line="287"/>
<source>Data editor plugin &apos;%1&apos; not loaded, while it is defined for editing &apos;%1&apos; data type.</source>
<translation>Plugin d&quot;éditeur de données &apos;%1&apos; non chargé, ausii il n&apos;ai pas défini pourle type de données &apos;%1&apos;.</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="356"/>
+ <location filename="../multieditor/multieditor.cpp" line="372"/>
<source>Deleted</source>
<comment>multieditor</comment>
<translation>Suppression</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="358"/>
+ <location filename="../multieditor/multieditor.cpp" line="374"/>
<source>Read only</source>
<comment>multieditor</comment>
<translation>Lecture seule</translation>
@@ -3940,27 +4014,32 @@ Entrez SVP un nouveau nom, unique, ou cliquez &apos;%1&apos; pour d&apos;interro
<translation>Peupler</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="158"/>
+ <location filename="../dialogs/populatedialog.cpp" line="54"/>
+ <source>Abort</source>
+ <translation type="unfinished">Abandonner</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/populatedialog.cpp" line="161"/>
<source>Configure</source>
<translation>Configurer</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="256"/>
+ <location filename="../dialogs/populatedialog.cpp" line="259"/>
<source>Populating configuration for this column is invalid or incomplete.</source>
<translation>La configuration du peuplement pour cette colonne est invalide ou incomplète.</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="287"/>
+ <location filename="../dialogs/populatedialog.cpp" line="290"/>
<source>Select database with table to populate</source>
<translation>Sélectionner la base de données avec la table à peupler</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="288"/>
+ <location filename="../dialogs/populatedialog.cpp" line="291"/>
<source>Select table to populate</source>
<translation>Sélectionner la table à peupler</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="289"/>
+ <location filename="../dialogs/populatedialog.cpp" line="292"/>
<source>You have to select at least one column.</source>
<translation>Vous devez sélectionner au moins une colonne.</translation>
</message>
@@ -4085,32 +4164,32 @@ Entrez SVP un nouveau nom, unique, ou cliquez &apos;%1&apos; pour d&apos;interro
<translation>Contenu ouvert de cellule choisie dans un éditeur séparé</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="487"/>
+ <location filename="../dataview.cpp" line="532"/>
<source>Total pages available: %1</source>
<translation>Total de pages: %1</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="497"/>
+ <location filename="../dataview.cpp" line="542"/>
<source>Total rows loaded: %1</source>
<translation>Total dee lignes chargées: %1</translation>
</message>
<message>
- <location filename="../dataview.h" line="17"/>
+ <location filename="../dataview.h" line="18"/>
<source>Data view (both grid and form)</source>
<translation>Vue de données (tableau et formulaire)</translation>
</message>
<message>
- <location filename="../dataview.h" line="18"/>
+ <location filename="../dataview.h" line="19"/>
<source>Refresh data</source>
<translation>Actualisation des données</translation>
</message>
<message>
- <location filename="../dataview.h" line="19"/>
+ <location filename="../dataview.h" line="20"/>
<source>Switch to grid view of the data</source>
<translation>Basculer sur la vue tableau de données</translation>
</message>
<message>
- <location filename="../dataview.h" line="20"/>
+ <location filename="../dataview.h" line="21"/>
<source>Switch to form view of the data</source>
<translation>Basculer sur la vue formulaire de données</translation>
</message>
@@ -4232,41 +4311,46 @@ Entrez SVP un nouveau nom, unique, ou cliquez &apos;%1&apos; pour d&apos;interro
<translation>Supprimer la ligne courante</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="42"/>
+ <location filename="../mainwindow.h" line="43"/>
<source>Main window</source>
<translation>Fenêtre principale</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="43"/>
+ <location filename="../mainwindow.h" line="44"/>
<source>Open SQL editor</source>
<translation>Ouvrir l&apos;éditeur SQL</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="44"/>
+ <location filename="../mainwindow.h" line="45"/>
<source>Previous window</source>
<translation>Fenêtre précédente</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="45"/>
+ <location filename="../mainwindow.h" line="46"/>
<source>Next window</source>
<translation>Fenêtre suivante</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="46"/>
+ <location filename="../mainwindow.h" line="47"/>
<source>Hide status area</source>
<translation>Cacher la barre de status</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="47"/>
+ <location filename="../mainwindow.h" line="48"/>
<source>Open configuration dialog</source>
<translation>Ouvrir le dialogue de configuration</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="48"/>
+ <location filename="../mainwindow.h" line="49"/>
<source>Open Debug Console</source>
<translation>Ouvrir la console de débogage</translation>
</message>
<message>
+ <location filename="../mainwindow.h" line="50"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../multieditor/multieditortext.h" line="12"/>
<source>Cell text value editor</source>
<translation>Editeur de texte de cellule</translation>
@@ -4727,101 +4811,112 @@ recherche suivant</translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="128"/>
+ <source>Select file to save SQL</source>
+ <comment>sql editor</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="129"/>
<source>Load SQL from file</source>
<comment>sql editor</comment>
<translation>Charger le SQL</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="129"/>
+ <location filename="../sqleditor.cpp" line="130"/>
<source>Delete line</source>
<comment>sql editor</comment>
<translation>Ligne suppimée</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="130"/>
+ <location filename="../sqleditor.cpp" line="131"/>
<source>Move block down</source>
<comment>sql editor</comment>
<translation>Descendre le block</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="131"/>
+ <location filename="../sqleditor.cpp" line="132"/>
<source>Move block up</source>
<comment>sql editor</comment>
<translation>Monter le block</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="132"/>
+ <location filename="../sqleditor.cpp" line="133"/>
<source>Copy block down</source>
<comment>sql editor</comment>
<translation>Copier block au-dessus</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="133"/>
+ <location filename="../sqleditor.cpp" line="134"/>
<source>Copy up down</source>
<comment>sql editor</comment>
<translation>Copier block au-dessous</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="134"/>
+ <location filename="../sqleditor.cpp" line="135"/>
<source>Find</source>
<comment>sql editor</comment>
<translation>Chercher</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="135"/>
+ <location filename="../sqleditor.cpp" line="136"/>
<source>Find next</source>
<comment>sql editor</comment>
<translation>Chercher suivant</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="136"/>
+ <location filename="../sqleditor.cpp" line="137"/>
<source>Find previous</source>
<comment>sql editor</comment>
<translation>Chercher précédent</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="137"/>
+ <location filename="../sqleditor.cpp" line="138"/>
<source>Replace</source>
<comment>sql editor</comment>
<translation>Remplacer</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="412"/>
+ <location filename="../sqleditor.cpp" line="252"/>
+ <source>Saved SQL contents to file: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="431"/>
<source>Syntax completion can be used only when a valid database is set for the SQL editor.</source>
<translation>L&apos;achèvement de syntaxe peut être utilisé seulement quand une base de données valable est utilisée dans l&apos;éditeur SQL.</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="800"/>
+ <location filename="../sqleditor.cpp" line="819"/>
<source>Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled.</source>
<translation>Le contenu l&apos;éditeur SQL est important, aussi la détectiond&apos;objets en erreur est temporairement mise hors de service.</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1027"/>
+ <location filename="../sqleditor.cpp" line="1054"/>
<source>Save to file</source>
<translation>Sauvegarder</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1036"/>
+ <location filename="../sqleditor.cpp" line="242"/>
<source>Could not open file &apos;%1&apos; for writing: %2</source>
<translation>Impossible d&apos;ouvrir en écriture le fichier &apos;%1&apos;: %2</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1050"/>
+ <location filename="../sqleditor.cpp" line="1066"/>
<source>SQL scripts (*.sql);;All files (*)</source>
<translation>Scripts SQL (*.sql);;tous fichiers (*)</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1051"/>
+ <location filename="../sqleditor.cpp" line="1067"/>
<source>Open file</source>
<translation>Fichier ouvert</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1060"/>
+ <location filename="../sqleditor.cpp" line="1076"/>
<source>Could not open file &apos;%1&apos; for reading: %2</source>
<translation>Impossible d&apos;ouvrir en lecture le fichier &apos;%1&apos;: %2</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1267"/>
+ <location filename="../sqleditor.cpp" line="1285"/>
<source>Reached the end of document. Hit the find again to restart the search.</source>
<translation>Fin de document atteint. Saississez de nouveau la recherche pour relancer la recherche.</translation>
</message>
@@ -4881,7 +4976,7 @@ recherche suivant</translation>
<name>SqlQueryModel</name>
<message>
<location filename="../datagrid/sqlquerymodel.cpp" line="63"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="474"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="487"/>
<source>Only one query can be executed simultaneously.</source>
<translation>Uniquement une seule requête peut être exécutée à la fois.</translation>
</message>
@@ -4906,43 +5001,43 @@ recherche suivant</translation>
<translation>Impossible de lancer la transaction sur la base de données. Détails: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="415"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="420"/>
<source>An error occurred while commiting the transaction: %1</source>
<translation>Une erreur est survenuelors de l&apos;enregistrement de la transaction: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="434"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="445"/>
<source>An error occurred while rolling back the transaction: %1</source>
<translation>Une erreur est survenuelors de l&apos;annulation de la transaction: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="560"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="573"/>
<source>Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it.</source>
<translation>Tentative d&apos;enregistrement d&apos;une une cellule qui n&apos;est pas modifiable! Ceci est un bogue. Rapportez-le SVP.</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="586"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="599"/>
<source>An error occurred while commiting the data: %1</source>
<translation>Une erreur est survenuelors de l&apos;enregistrement des données: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1031"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1086"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1045"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1100"/>
<source>Error while executing SQL query on database &apos;%1&apos;: %2</source>
<translation>Erreur pendant l&apos;exécution de la requête sur la base de données %1: %2</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1083"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1097"/>
<source>Error while loading query results: %1</source>
<translation>Erreur lors du chargement des résultats de la requête: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Insert multiple rows</source>
<translation>Insérer plusieurs lignes</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Number of rows to insert:</source>
<translation>Nombre de lignes à inserrer:</translation>
</message>
@@ -5061,12 +5156,12 @@ recherche suivant</translation>
<translation>Status</translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="161"/>
+ <location filename="../statusfield.cpp" line="164"/>
<source>Copy</source>
<translation>Cipier</translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="168"/>
+ <location filename="../statusfield.cpp" line="171"/>
<source>Clear</source>
<translation>Vider</translation>
</message>
@@ -5271,219 +5366,219 @@ but it&apos;s okay to use them anyway.</source>
<translation>Nom de la table:</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="184"/>
+ <location filename="../windows/tablewindow.ui" line="190"/>
<source>Data</source>
<translation>Données</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="201"/>
+ <location filename="../windows/tablewindow.ui" line="207"/>
<source>Constraints</source>
<translation>Contraintes</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="215"/>
+ <location filename="../windows/tablewindow.ui" line="221"/>
<source>Indexes</source>
<translation>Index</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="244"/>
+ <location filename="../windows/tablewindow.ui" line="250"/>
<source>Triggers</source>
<translation>Déclencheurs</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="276"/>
+ <location filename="../windows/tablewindow.ui" line="282"/>
<source>DDL</source>
<translation>DDL</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="180"/>
+ <location filename="../windows/tablewindow.cpp" line="191"/>
<source>Export table</source>
<comment>table window</comment>
<translation>Exporter une table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="181"/>
+ <location filename="../windows/tablewindow.cpp" line="192"/>
<source>Import data to table</source>
<comment>table window</comment>
<translation>Importer les données d&apos;une table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="182"/>
+ <location filename="../windows/tablewindow.cpp" line="193"/>
<source>Populate table</source>
<comment>table window</comment>
<translation>Peupler une table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="196"/>
+ <location filename="../windows/tablewindow.cpp" line="207"/>
<source>Refresh structure</source>
<comment>table window</comment>
<translation>Actualiser la structure</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="198"/>
+ <location filename="../windows/tablewindow.cpp" line="209"/>
<source>Commit structure changes</source>
<comment>table window</comment>
<translation>Enregistrer les modification de la structure</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="199"/>
+ <location filename="../windows/tablewindow.cpp" line="210"/>
<source>Rollback structure changes</source>
<comment>table window</comment>
<translation>Annuler les modification de la structure</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="200"/>
+ <location filename="../windows/tablewindow.cpp" line="211"/>
<source>Add column</source>
<comment>table window</comment>
<translation>Ajouter une colonne</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="201"/>
+ <location filename="../windows/tablewindow.cpp" line="212"/>
<source>Edit column</source>
<comment>table window</comment>
<translation>Modifier une colonne</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="202"/>
- <location filename="../windows/tablewindow.cpp" line="289"/>
+ <location filename="../windows/tablewindow.cpp" line="213"/>
+ <location filename="../windows/tablewindow.cpp" line="300"/>
<source>Delete column</source>
<comment>table window</comment>
<translation>Supprimer une colonne</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="203"/>
+ <location filename="../windows/tablewindow.cpp" line="214"/>
<source>Move column up</source>
<comment>table window</comment>
<translation>Monter la colonne</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="204"/>
+ <location filename="../windows/tablewindow.cpp" line="215"/>
<source>Move column down</source>
<comment>table window</comment>
<translation>Descendre la colonne</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="210"/>
+ <location filename="../windows/tablewindow.cpp" line="221"/>
<source>Create similar table</source>
<comment>table window</comment>
<translation>Créer une table identique</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="211"/>
+ <location filename="../windows/tablewindow.cpp" line="222"/>
<source>Reset autoincrement value</source>
<comment>table window</comment>
<translation>Réinitialisation de l&apos;incrémentatio,</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="214"/>
+ <location filename="../windows/tablewindow.cpp" line="225"/>
<source>Add table constraint</source>
<comment>table window</comment>
<translation>Ajouter une contrainte de table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="215"/>
+ <location filename="../windows/tablewindow.cpp" line="226"/>
<source>Edit table constraint</source>
<comment>table window</comment>
<translation>Modifier la contrainte de table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="216"/>
+ <location filename="../windows/tablewindow.cpp" line="227"/>
<source>Delete table constraint</source>
<comment>table window</comment>
<translation>Supprimer la contrainte de table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="217"/>
+ <location filename="../windows/tablewindow.cpp" line="228"/>
<source>Move table constraint up</source>
<comment>table window</comment>
<translation>Monter la contrainte de table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="218"/>
+ <location filename="../windows/tablewindow.cpp" line="229"/>
<source>Move table constraint down</source>
<comment>table window</comment>
<translation>Descendre la contrainte de table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="220"/>
+ <location filename="../windows/tablewindow.cpp" line="231"/>
<source>Add table primary key</source>
<comment>table window</comment>
<translation>Ajouter une clé primaire à la table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="221"/>
+ <location filename="../windows/tablewindow.cpp" line="232"/>
<source>Add table foreign key</source>
<comment>table window</comment>
<translation>Ajouter une clé étrangère à la table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="222"/>
+ <location filename="../windows/tablewindow.cpp" line="233"/>
<source>Add table unique constraint</source>
<comment>table window</comment>
<translation>Ajouter une contrainte clé unique à la table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="223"/>
+ <location filename="../windows/tablewindow.cpp" line="234"/>
<source>Add table check constraint</source>
<comment>table window</comment>
<translation>Ajouter une contrainte de contrôle à la table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="241"/>
+ <location filename="../windows/tablewindow.cpp" line="252"/>
<source>Refresh index list</source>
<comment>table window</comment>
<translation>Actualiser la liste d&apos;index</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="243"/>
+ <location filename="../windows/tablewindow.cpp" line="254"/>
<source>Create index</source>
<comment>table window</comment>
<translation>Créer un index</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="244"/>
+ <location filename="../windows/tablewindow.cpp" line="255"/>
<source>Edit index</source>
<comment>table window</comment>
<translation>Modifier un index</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="245"/>
+ <location filename="../windows/tablewindow.cpp" line="256"/>
<source>Delete index</source>
<comment>table window</comment>
<translation>Supprimer un index</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="251"/>
+ <location filename="../windows/tablewindow.cpp" line="262"/>
<source>Refresh trigger list</source>
<comment>table window</comment>
<translation>Actualiser la liste d&apos;index</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="253"/>
+ <location filename="../windows/tablewindow.cpp" line="264"/>
<source>Create trigger</source>
<comment>table window</comment>
<translation>Créer un déclencheur</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="254"/>
+ <location filename="../windows/tablewindow.cpp" line="265"/>
<source>Edit trigger</source>
<comment>table window</comment>
<translation>Modifier un déclencheur</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="255"/>
+ <location filename="../windows/tablewindow.cpp" line="266"/>
<source>Delete trigger</source>
<comment>table window</comment>
<translation>Supprimer un déclencheur</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="288"/>
+ <location filename="../windows/tablewindow.cpp" line="299"/>
<source>Are you sure you want to delete column &apos;%1&apos;?</source>
<comment>table window</comment>
<translation>Etes-vous certain de vouloir supprimer lla colonne: %1?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="316"/>
+ <location filename="../windows/tablewindow.cpp" line="327"/>
<source>Following problems will take place while modifying the table.
Would you like to proceed?</source>
<comment>table window</comment>
@@ -5491,194 +5586,212 @@ Would you like to proceed?</source>
Voudriez-vous procéder?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="318"/>
+ <location filename="../windows/tablewindow.cpp" line="329"/>
<source>Table modification</source>
<comment>table window</comment>
<translation>Modification de la table</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="456"/>
+ <location filename="../windows/tablewindow.cpp" line="467"/>
<source>Could not load data for table %1. Error details: %2</source>
<translation>Impossible de charger les données de table %1. Détails d&apos; erreur: %2</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="569"/>
+ <location filename="../windows/tablewindow.cpp" line="580"/>
<source>Could not process the %1 table correctly. Unable to open a table window.</source>
<translation>Impossible de lancer correctement la table %1. Impossible d&apos;ouvrir la fenêtre de table.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="637"/>
+ <location filename="../windows/tablewindow.cpp" line="635"/>
+ <source>Could not restore window %1, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="641"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="648"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="657"/>
+ <source>Could not restore window &apos;%1&apos;&apos;, because the table %2 doesn&apos;t exist in the database %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>Could not restore window, because database %1 could not be resolved.</source>
- <translation>Impossible de restaurer la fenêtre, car la base de données %1 ne peut ëtre résolue.</translation>
+ <translation type="vanished">Impossible de restaurer la fenêtre, car la base de données %1 ne peut ëtre résolue.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="646"/>
<source>Could not restore window, because the table %1 doesn&apos;t exist in the database %2.</source>
- <translation>Impossible de restaurer la fenêtre, car la vue %1 n&apos;existe pas dans la base de données %2..</translation>
+ <translation type="vanished">Impossible de restaurer la fenêtre, car la vue %1 n&apos;existe pas dans la base de données %2..</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="671"/>
- <location filename="../windows/tablewindow.cpp" line="673"/>
+ <location filename="../windows/tablewindow.cpp" line="682"/>
+ <location filename="../windows/tablewindow.cpp" line="684"/>
<source>New table %1</source>
<translation>Nouvelle table %1</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="824"/>
+ <location filename="../windows/tablewindow.cpp" line="835"/>
<source>Could not commit table structure. Error message: %1</source>
<comment>table window</comment>
<translation>Impossible d&apos;enregistrer la structure de table. Message d&apos;erreur: %1</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Reset autoincrement</source>
<translation>Réinitialisation de l&apos;incrémentation</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation>Etes-vous certain de vouloir réinitialiser l&apos;autoincrémentation de la table %1?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="853"/>
+ <location filename="../windows/tablewindow.cpp" line="864"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation>Une erreur est survenue pendant la réinitialisation de la valeur de l&apos;autoincrémentation de la table &apos;%1&apos;: %2</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="855"/>
+ <location filename="../windows/tablewindow.cpp" line="866"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation>La valeur de l&apos;autoincrémentaion de la table %1 a été réinitialisé avec succès.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>Empty name</source>
<translation>Nom vide</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>A blank name for the table is allowed in SQLite, but it is not recommended.
Are you sure you want to create a table with blank name?</source>
<translation>Un nom vide pour la vue dans SQLITE est admis, mais on ne le recommande pas.
Êtes-vous sûrs que vous voulez créer une vue avec le nom vide ?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="944"/>
+ <location filename="../windows/tablewindow.cpp" line="955"/>
<source>Cannot create a table without at least one column.</source>
<translation>Impossible de créer une table sans au moins une colonne.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="970"/>
+ <location filename="../windows/tablewindow.cpp" line="981"/>
<source>Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key.</source>
<translation>Impossible de créer la table %1, s&apos;l n&apos;y a pas de clé primaire de définie. Toute fois ne pas contrôler %2 ou définir une clé primaire.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="977"/>
+ <location filename="../windows/tablewindow.cpp" line="988"/>
<source>Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key.</source>
<translation>Impossible d&apos;utiliser l&apos;autoincrémentation pour une clé primaire quand la clause %1 est utilisée. Toute fois ne pas contrôler %2, ou utiliser l&apos;autoincrémentation sur une clé primaire.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1114"/>
+ <location filename="../windows/tablewindow.cpp" line="1125"/>
<source>Are you sure you want to delete table constraint &apos;%1&apos;?</source>
<comment>table window</comment>
<translation>Etes-vous sûr de vouloir supprimer la contrainte &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1115"/>
+ <location filename="../windows/tablewindow.cpp" line="1126"/>
<source>Delete constraint</source>
<comment>table window</comment>
<translation>Supprimer la contrainte</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1169"/>
+ <location filename="../windows/tablewindow.cpp" line="1180"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Export impossible, car aucun plugin d&apos;import n&apos;est chargé.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1182"/>
+ <location filename="../windows/tablewindow.cpp" line="1193"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation>Import impossible, car aucun plugin d&apos;import n&apos;est chargé.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1214"/>
+ <location filename="../windows/tablewindow.cpp" line="1225"/>
<source>Uncommited changes</source>
<translation>Modification non enregistrées</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1215"/>
+ <location filename="../windows/tablewindow.cpp" line="1226"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation>Il ya des modifications de structure non enregistrées. Vous ne pouvez pas naviguer ou modifier des données jusqu&apos;à ce que vous ailliez installer la structure de table.
Voulez-vous enregistrer la structure, ou voulez-vous retourner à l&apos;onglet de structure ?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Go back to structure tab</source>
<translation>Retour à l&apos;onglet de structure</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Commit modifications and browse data.</source>
<translation>Enregistrer les modifications et naviger dans les données.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1368"/>
+ <location filename="../windows/tablewindow.cpp" line="1379"/>
<source>Name</source>
<comment>table window indexes</comment>
<translation>Nom</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1369"/>
+ <location filename="../windows/tablewindow.cpp" line="1380"/>
<source>Unique</source>
<comment>table window indexes</comment>
<translation>Unique</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1370"/>
+ <location filename="../windows/tablewindow.cpp" line="1381"/>
<source>Columns</source>
<comment>table window indexes</comment>
<translation>Colonnes</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1371"/>
+ <location filename="../windows/tablewindow.cpp" line="1382"/>
<source>Partial index condition</source>
<comment>table window indexes</comment>
<translation>Condition partielle d&apos;index</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1425"/>
+ <location filename="../windows/tablewindow.cpp" line="1436"/>
<source>Name</source>
<comment>table window triggers</comment>
<translation>Nom</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1426"/>
+ <location filename="../windows/tablewindow.cpp" line="1437"/>
<source>Event</source>
<comment>table window triggers</comment>
<translation>Événement</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1427"/>
+ <location filename="../windows/tablewindow.cpp" line="1438"/>
<source>Condition</source>
<comment>table window triggers</comment>
<translation>Condition</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1428"/>
+ <location filename="../windows/tablewindow.cpp" line="1439"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation>Details</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1517"/>
+ <location filename="../windows/tablewindow.cpp" line="1528"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation>La fenêtre de table &quot;%1&quot; n&apos;a pas enregistré les modifications de structure et de données.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1519"/>
+ <location filename="../windows/tablewindow.cpp" line="1530"/>
<source>Table window &quot;%1&quot; has uncommited data.</source>
<translation>La fenêtre de table &quot;%1&quot; n&apos;a pas enregistrer les données.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1521"/>
+ <location filename="../windows/tablewindow.cpp" line="1532"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications.</source>
<translation>La fenêtre de table &quot;%1&quot; n&apos;a pas enregistré les modifications de structure.</translation>
</message>
@@ -5849,176 +5962,194 @@ Voulez-vous enregistrer la structure, ou voulez-vous retourner à l&apos;onglet
<translation>DDL</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="115"/>
<source>Could not restore window, because database %1 could not be resolved.</source>
- <translation>Impossible de restaurer la fenêtre, car la base de données %1 ne peut ëtre résolue.</translation>
+ <translation type="vanished">Impossible de restaurer la fenêtre, car la base de données %1 ne peut ëtre résolue.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="121"/>
<source>Could not restore window, because database %1 could not be open.</source>
- <translation>Impossible de restaurer la fenêtre, car la base de données %1 ne peut ëtre ouverte.</translation>
+ <translation type="vanished">Impossible de restaurer la fenêtre, car la base de données %1 ne peut ëtre ouverte.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="130"/>
<source>Could not restore window, because the view %1 doesn&apos;t exist in the database %2.</source>
- <translation>Impossible de restaurer la fenêtre, car la vue %1 n&apos;existe pas dans la base de données %2..</translation>
+ <translation type="vanished">Impossible de restaurer la fenêtre, car la vue %1 n&apos;existe pas dans la base de données %2..</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="155"/>
- <location filename="../windows/viewwindow.cpp" line="157"/>
+ <location filename="../windows/viewwindow.cpp" line="103"/>
+ <location filename="../windows/viewwindow.cpp" line="109"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or view was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="116"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="122"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be open.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="131"/>
+ <source>Could not restore window &apos;%1&apos;, because the view %2 doesn&apos;t exist in the database %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="156"/>
+ <location filename="../windows/viewwindow.cpp" line="158"/>
<source>New view %1</source>
<translation>Nouvelle vue %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="275"/>
+ <location filename="../windows/viewwindow.cpp" line="283"/>
<source>Refresh the view</source>
<comment>view window</comment>
<translation>Actualisation de la vue</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="277"/>
+ <location filename="../windows/viewwindow.cpp" line="285"/>
<source>Commit the view changes</source>
<comment>view window</comment>
<translation>Enregistrement des changements dans la vue</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="278"/>
+ <location filename="../windows/viewwindow.cpp" line="286"/>
<source>Rollback the view changes</source>
<comment>view window</comment>
<translation>Annulation des changements dans la vue</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="285"/>
+ <location filename="../windows/viewwindow.cpp" line="293"/>
<source>Refresh trigger list</source>
<comment>view window</comment>
<translation>Actualisation de la liste des déclencheurs</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="287"/>
+ <location filename="../windows/viewwindow.cpp" line="295"/>
<source>Create new trigger</source>
<comment>view window</comment>
<translation>Création d&apos;un nouveau déclencheur</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="288"/>
+ <location filename="../windows/viewwindow.cpp" line="296"/>
<source>Edit selected trigger</source>
<comment>view window</comment>
<translation>Modification du déclencheur sélectionné</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="289"/>
+ <location filename="../windows/viewwindow.cpp" line="297"/>
<source>Delete selected trigger</source>
<comment>view window</comment>
<translation>Suppression du déclencheur sélectionné</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="310"/>
+ <location filename="../windows/viewwindow.cpp" line="318"/>
<source>View window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation>La fenêtre de la vue &quot;%1&quot; n&apos;a pas enregistré les modifications de structure et de données.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="312"/>
+ <location filename="../windows/viewwindow.cpp" line="320"/>
<source>View window &quot;%1&quot; has uncommited data.</source>
<translation>La fenêtre de la vue &quot;%1&quot; n&apos;a pas enregistré les modifications de données.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="314"/>
+ <location filename="../windows/viewwindow.cpp" line="322"/>
<source>View window &quot;%1&quot; has uncommited structure modifications.</source>
<translation>La fenêtre de la vue &quot;%1&quot; n&apos;a pas enregistré les modifications de structure.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="455"/>
+ <location filename="../windows/viewwindow.cpp" line="463"/>
<source>Could not load data for view %1. Error details: %2</source>
<translation>Impossible de charher les données de vue %1. Détails d&apos; erreur: %2</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="466"/>
+ <location filename="../windows/viewwindow.cpp" line="474"/>
<source>Uncommited changes</source>
<translation>Modifications non enregistrées</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="467"/>
+ <location filename="../windows/viewwindow.cpp" line="475"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation>Des modifications de structure n&apos;ont pa été enregistrées. Vous ne pouvez pas naviger ou éditer des données jusqu&apos;à ce que vous installliez la structure de vue.
Voulez-vousenregistrere la structure, ou voulez-vous retourner à l&apos;onglet de structure?</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Go back to structure tab</source>
<translation>Retour à l&apos;onlet de structure</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Commit modifications and browse data.</source>
<translation>Enregistrement des modifications et navigation des données.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="528"/>
+ <location filename="../windows/viewwindow.cpp" line="536"/>
<source>Could not commit view changes. Error message: %1</source>
<comment>view window</comment>
<translation>Impossible d&apos;enregistrer les modifivations de vue. Message d&apos;erreur: %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="606"/>
+ <location filename="../windows/viewwindow.cpp" line="614"/>
<source>Name</source>
<comment>view window triggers</comment>
<translation>Nom</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="607"/>
+ <location filename="../windows/viewwindow.cpp" line="615"/>
<source>Instead of</source>
<comment>view window triggers</comment>
<translation>A la place de</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="608"/>
+ <location filename="../windows/viewwindow.cpp" line="616"/>
<source>Condition</source>
<comment>view window triggers</comment>
<translation>Condition</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="609"/>
+ <location filename="../windows/viewwindow.cpp" line="617"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation>Détails</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="649"/>
+ <location filename="../windows/viewwindow.cpp" line="657"/>
<source>Could not process the %1 view correctly. Unable to open a view window.</source>
<translation>Impossible de lancer correctement la vue %1. Impossible d&apos;ouvrir la fenêtre de vue.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>Empty name</source>
<translation>Nom vode</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>A blank name for the view is allowed in SQLite, but it is not recommended.
Are you sure you want to create a view with blank name?</source>
<translation>Un nom vide pour la vue dans SQLITE est admis, mais on ne le recommande pas.
Êtes-vous sûrs que vous voulez créer une vue avec le nom vide ?</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="699"/>
+ <location filename="../windows/viewwindow.cpp" line="707"/>
<source>The SELECT statement could not be parsed. Please correct the query and retry.
Details: %1</source>
<translation>La déclaration SELECT ne peut être analysé. SVP corrigez la requête et réessayez.
Details: %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="707"/>
+ <location filename="../windows/viewwindow.cpp" line="715"/>
<source>The view could not be modified due to internal SQLiteStudio error. Please report this!</source>
<translation>La vue ne peut être modifiée a cause d&apos;une erreur interne de SQLiteStudio. SVP repportez l&apos;erreur!</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="733"/>
+ <location filename="../windows/viewwindow.cpp" line="741"/>
<source>The view code could not be parsed properly for execution. This is a SQLiteStudio&apos;s bug. Please report it.</source>
<translation>La vue ne être correctement analysée avant exécution.Cest un bug SQLiteStudion. SVP reporter le.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="746"/>
+ <location filename="../windows/viewwindow.cpp" line="754"/>
<source>Following problems will take place while modifying the view.
Would you like to proceed?</source>
<comment>view window</comment>
@@ -6026,7 +6157,7 @@ Would you like to proceed?</source>
Voudriez-vous procéder?</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="748"/>
+ <location filename="../windows/viewwindow.cpp" line="756"/>
<source>View modification</source>
<comment>view window</comment>
<translation>Fenêtre vue</translation>
@@ -6035,7 +6166,7 @@ Voudriez-vous procéder?</translation>
<context>
<name>WidgetCover</name>
<message>
- <location filename="../common/widgetcover.cpp" line="198"/>
+ <location filename="../common/widgetcover.cpp" line="234"/>
<source>Interrupt</source>
<translation>Inperruption</translation>
</message>
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.qm
index f927e35..dfc8b5e 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.qm
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.qm
Binary files differ
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.ts
index dcd9b50..b38c58b 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.ts
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.ts
@@ -355,32 +355,32 @@
<translation>Filtruj zestawienia</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="110"/>
+ <location filename="../windows/collationseditor.ui" line="194"/>
<source>Collation name:</source>
<translation>Nazwa zestawienia:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="120"/>
+ <location filename="../windows/collationseditor.ui" line="204"/>
<source>Implementation language:</source>
<translation>Język implementacji:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="152"/>
+ <location filename="../windows/collationseditor.ui" line="132"/>
<source>Databases</source>
<translation>Bazy danych</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="158"/>
+ <location filename="../windows/collationseditor.ui" line="138"/>
<source>Register in all databases</source>
<translation>Zarejestruj we wszystkich bazach danych</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="165"/>
+ <location filename="../windows/collationseditor.ui" line="145"/>
<source>Register in following databases:</source>
<translation>Zarejestruj w następujących bazach danych:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="186"/>
+ <location filename="../windows/collationseditor.ui" line="166"/>
<source>Implementation code:</source>
<translation>Kod implementacji:</translation>
</message>
@@ -891,7 +891,7 @@ ale można go używać.</translation>
<name>ConfigDialog</name>
<message>
<location filename="../dialogs/configdialog.ui" line="14"/>
- <location filename="../dialogs/configdialog.ui" line="1216"/>
+ <location filename="../dialogs/configdialog.ui" line="1293"/>
<source>Configuration</source>
<translation>Konfiguracja</translation>
</message>
@@ -1068,127 +1068,162 @@ ale można go używać.</translation>
<translation>Kombinacja klawiszy</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="662"/>
+ <location filename="../dialogs/configdialog.ui" line="677"/>
<source>Changing language requires application restart to take effect.</source>
<translation>Zmiana języka wymaga restartu aplikacji, aby zadziałać.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="679"/>
+ <location filename="../dialogs/configdialog.ui" line="694"/>
+ <source>Compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="700"/>
+ <source>&lt;p&gt;Compact layout reduces all margins and spacing on the UI to minimum, making space for displaying more data. It makes the interface a little bit less aesthetic, but allows to display more data at once.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="703"/>
+ <source>Use compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="709"/>
+ <source>General.CompactLayout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="719"/>
<source>Database list</source>
<translation>Lista baz</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="685"/>
+ <location filename="../dialogs/configdialog.ui" line="725"/>
<source>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</source>
<translation>Gdy wyłączone, to kolumny będą ułożone w takiej kolejności, w jakiej wystąpiły w zapytaniu CREATE TABLE.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="688"/>
+ <location filename="../dialogs/configdialog.ui" line="728"/>
<source>Sort table columns alphabetically</source>
<translation>Sortuj kolumny tabel alfabetycznie.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="698"/>
+ <location filename="../dialogs/configdialog.ui" line="738"/>
<source>Expand tables node when connected to a database</source>
<translation>Rozwiń listę tabel po połączeniu z bazą danych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="708"/>
+ <location filename="../dialogs/configdialog.ui" line="748"/>
<source>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</source>
<translation>&lt;p&gt;Dodatkowe etykiety, to te wyświetlane obok nazw na liście baz danych (są niebieskie, chyba że skonfigurowano je inaczej). Włączenie tej opcji spowoduje wyświetlenie etykiet dla baz danych, niepoprawnych baz danych, oraz dla węzłów agregujących (grupa kolumn, grupa indeksów, grupa wyzwalaczy). Więcej etykiet jest dostępne niżej.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="711"/>
+ <location filename="../dialogs/configdialog.ui" line="751"/>
<source>Display additional labels on the list</source>
<translation>Wyświetlaj dodatkowe etykiety na liście</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="726"/>
+ <location filename="../dialogs/configdialog.ui" line="766"/>
<source>For regular tables labels will show number of columns, indexes and triggers for each of tables.</source>
<translation>Dla zwykłych tabel etykiety będą pokazywać liczbę kolumn, inseksów, oraz wyzwalaczy dla tych tabel.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="729"/>
+ <location filename="../dialogs/configdialog.ui" line="769"/>
<source>Display labels for regular tables</source>
<translation>Wyświetlaj etykiety dla zwykłych tabel</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="739"/>
+ <location filename="../dialogs/configdialog.ui" line="779"/>
<source>Virtual tables will be marked with a &apos;virtual&apos; label.</source>
<translation>Tabele wirtualne będą oznaczone etykietą &apos;wirtualna&apos;.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="742"/>
+ <location filename="../dialogs/configdialog.ui" line="782"/>
<source>Display labels for virtual tables</source>
<translation>Wyświetlaj etykiety dla tabel wirtualnych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="755"/>
+ <location filename="../dialogs/configdialog.ui" line="795"/>
<source>Expand views node when connected to a database</source>
<translation>Rozwiń listę widoków po połączeniu z bazą.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="765"/>
+ <location filename="../dialogs/configdialog.ui" line="805"/>
<source>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</source>
<translation>Gdy ta opcja jest wyłączona, to wszystkie obiekty będą ułożone w takiej kolejności, w jakiej występują w tabeli sqlite_master (czyli w takiej, w jakiej zostały stworzone)</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="768"/>
+ <location filename="../dialogs/configdialog.ui" line="808"/>
<source>Sort objects (tables, indexes, triggers and views) alphabetically</source>
<translation>Sortuj obiekty (tabele, indeksy, wyzwalacze i widoki) alfabetycznie</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="778"/>
+ <location filename="../dialogs/configdialog.ui" line="818"/>
<source>Display system tables and indexes on the list</source>
<translation>Wyświetlaj tabele i indeksy systemowe na liście</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="791"/>
+ <location filename="../dialogs/configdialog.ui" line="831"/>
<source>Table windows</source>
<translation>Okna tabel</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="797"/>
+ <location filename="../dialogs/configdialog.ui" line="837"/>
<source>When enabled, Table Windows will show up with the data tab, instead of the structure tab.</source>
<translation>Gdy włączone, Okna Tabel będą się pokazywać z zakładką danych, zamiast z zakładką struktury.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="800"/>
+ <location filename="../dialogs/configdialog.ui" line="840"/>
<source>Open Table Windows with the data tab for start</source>
<translation>Otwieraj Okna Tabeli z zakładką danych na początek</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="813"/>
+ <location filename="../dialogs/configdialog.ui" line="853"/>
<source>View windows</source>
<translation>Okna Widoków</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="819"/>
+ <location filename="../dialogs/configdialog.ui" line="859"/>
<source>When enabled, View Windows will show up with the data tab, instead of the structure tab.</source>
<translation>Gdy włączone, Okna Widoków będą się pokazywać z zakładką danych, zamiast z zakładką struktury.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="822"/>
+ <location filename="../dialogs/configdialog.ui" line="862"/>
<source>Open View Windows with the data tab for start</source>
<translation>Otwieraj Okna Widoku z zakładką danych na początek</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="933"/>
+ <location filename="../dialogs/configdialog.ui" line="875"/>
+ <source>Main window dock areas</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="881"/>
+ <source>Left and right areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="901"/>
+ <source>Top and bottom areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="1010"/>
<source>Hide built-in plugins</source>
<translation>Ukryj wtyczki wbudowane</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="962"/>
+ <location filename="../dialogs/configdialog.ui" line="1039"/>
<source>Current style:</source>
<translation>Aktualny styl:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="979"/>
+ <location filename="../dialogs/configdialog.ui" line="1056"/>
<source>Preview</source>
<translation>Podgląd</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="989"/>
+ <location filename="../dialogs/configdialog.ui" line="1066"/>
<source>Enabled</source>
<translation>Włączone</translation>
</message>
@@ -1197,281 +1232,281 @@ ale można go używać.</translation>
<translation type="obsolete">Kolumna</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1162"/>
+ <location filename="../dialogs/configdialog.ui" line="1239"/>
<source>Disabled</source>
<translation>Wyłączone</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="656"/>
- <location filename="../dialogs/configdialog.ui" line="1206"/>
+ <location filename="../dialogs/configdialog.ui" line="671"/>
+ <location filename="../dialogs/configdialog.ui" line="1283"/>
<source>Language</source>
<translation>Język</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1211"/>
+ <location filename="../dialogs/configdialog.ui" line="1288"/>
<source>Active formatter plugin</source>
<translation>Aktywna wtyczka formatera</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1249"/>
+ <location filename="../dialogs/configdialog.ui" line="1326"/>
<source>SQL editor font</source>
<translation>Czcionka edytora SQL</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1265"/>
+ <location filename="../dialogs/configdialog.ui" line="1342"/>
<source>Database list font</source>
<translation>Czcionka listy baz danych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1281"/>
+ <location filename="../dialogs/configdialog.ui" line="1358"/>
<source>Database list additional label font</source>
<translation>Czcionka dodatkowych etykiety listy baz danych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1297"/>
+ <location filename="../dialogs/configdialog.ui" line="1374"/>
<source>Data view font</source>
<translation>Czcionka widoku danych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1313"/>
+ <location filename="../dialogs/configdialog.ui" line="1390"/>
<source>Status field font</source>
<translation>Czcionka pola statusu</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1371"/>
+ <location filename="../dialogs/configdialog.ui" line="1448"/>
<source>SQL editor colors</source>
<translation>Kolory edytora SQL</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1377"/>
+ <location filename="../dialogs/configdialog.ui" line="1454"/>
<source>Current line background</source>
<translation>Tło bieżącej linii</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1384"/>
+ <location filename="../dialogs/configdialog.ui" line="1461"/>
<source>&lt;p&gt;SQL strings are enclosed with single quote characters.&lt;/p&gt;</source>
<translation>&lt;p&gt;Łańcuchy znaków SQL są zamknięte pomiędzy znakami apostrofu.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1387"/>
+ <location filename="../dialogs/configdialog.ui" line="1464"/>
<source>String foreground</source>
<translation>Czcionka łańcucha znaków</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1490"/>
+ <location filename="../dialogs/configdialog.ui" line="1567"/>
<source>&lt;p&gt;Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;:param_name&lt;/li&gt;&lt;li&gt;$param_name&lt;/li&gt;&lt;li&gt;@param_name&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</source>
<translation>&lt;b&gt;Parametry wiążące to wyrażenia zastępcze dla wartości, które mają być dopiero dostarczone przez użytkownika. Mają one jedną z form: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;:nazwa_parametru&lt;/li&gt;&lt;li&gt;$nazwa_parametru&lt;/li&gt;&lt;li&gt;@nazwa_parametru&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1493"/>
+ <location filename="../dialogs/configdialog.ui" line="1570"/>
<source>Bind parameter foreground</source>
<translation>Czcionka parametru wiążącego</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1516"/>
+ <location filename="../dialogs/configdialog.ui" line="1593"/>
<source>Highlighted parenthesis background</source>
<translation>Tło podświetlonych nawiasów</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1523"/>
+ <location filename="../dialogs/configdialog.ui" line="1600"/>
<source>&lt;p&gt;BLOB values are binary values represented as hexadecimal numbers, like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</source>
<translation>&lt;p&gt;Wartości BLOB są wartościami binarnymi, reprezentowanymi jako liczby heksadecymalne, jak np:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1526"/>
+ <location filename="../dialogs/configdialog.ui" line="1603"/>
<source>BLOB value foreground</source>
<translation></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1533"/>
+ <location filename="../dialogs/configdialog.ui" line="1610"/>
<source>Regular foreground</source>
<translation>Standardowa czcionka</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1540"/>
+ <location filename="../dialogs/configdialog.ui" line="1617"/>
<source>Line numbers area background</source>
<translation>Tło obszaru numerów linii</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1563"/>
+ <location filename="../dialogs/configdialog.ui" line="1640"/>
<source>Keyword foreground</source>
<translation>Czcionka słowa kluczowego</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1570"/>
+ <location filename="../dialogs/configdialog.ui" line="1647"/>
<source>Number foreground</source>
<translation>Czcionka liczby</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1577"/>
+ <location filename="../dialogs/configdialog.ui" line="1654"/>
<source>Comment foreground</source>
<translation>Czcionka komentarza</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1616"/>
+ <location filename="../dialogs/configdialog.ui" line="1693"/>
<source>&lt;p&gt;Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.&lt;/p&gt;</source>
<translation>&lt;p&gt;Poprawne obiekty to nazwy tabel, indekstów, wyzwalaczy i widoków, które istnieją w basie SQLite.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1619"/>
+ <location filename="../dialogs/configdialog.ui" line="1696"/>
<source>Valid objects foreground</source>
<translation>Czcionka poprawnych obiektów</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1645"/>
+ <location filename="../dialogs/configdialog.ui" line="1722"/>
<source>Data view colors</source>
<translation>Kolory widoku danych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1651"/>
+ <location filename="../dialogs/configdialog.ui" line="1728"/>
<source>&lt;p&gt;Any data changes will be outlined with this color, until they&apos;re commited to the database.&lt;/p&gt;</source>
<translation>&lt;p&gt;Jakakolwiek zmiana danych będzie obrysowana tym kolorem, dopóki nie zostanie zatwierdzona do bazy danych.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1654"/>
+ <location filename="../dialogs/configdialog.ui" line="1731"/>
<source>Uncommited data outline color</source>
<translation>Kolor obrysu niezatwierdzonych danych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1677"/>
+ <location filename="../dialogs/configdialog.ui" line="1754"/>
<source>&lt;p&gt;In case of error while commiting data changes, the problematic cell will be outlined with this color.&lt;/p&gt;</source>
<translation>&lt;p&gt;W przypadku błędu podczas zatwierdzania zmian danych, komórka będąca przyczyną problemu zostanie obrysowana tym kolorem.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1680"/>
+ <location filename="../dialogs/configdialog.ui" line="1757"/>
<source>Commit error outline color</source>
<translation>Kolor obrysu błędu zatwierdzania</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1703"/>
+ <location filename="../dialogs/configdialog.ui" line="1780"/>
<source>NULL value foreground</source>
<translation>Kolor czcionki wartości NULL</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1726"/>
+ <location filename="../dialogs/configdialog.ui" line="1803"/>
<source>Deleted row background</source>
<translation>Tło wiersza usuniętego</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1752"/>
+ <location filename="../dialogs/configdialog.ui" line="1829"/>
<source>Database list colors</source>
<translation>Kolory listy baz danych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1758"/>
+ <location filename="../dialogs/configdialog.ui" line="1835"/>
<source>&lt;p&gt;Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.&lt;/p&gt;</source>
<translation>&lt;p&gt;Dodatkowe etykiety to te, które mówią o wersji SQLite, liczbie obiektów w głębszych częściach drzewa, itp.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1761"/>
+ <location filename="../dialogs/configdialog.ui" line="1838"/>
<source>Additional labels foreground</source>
<translation>Czcionka dodatkowych etykiet</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1787"/>
+ <location filename="../dialogs/configdialog.ui" line="1864"/>
<source>Status field colors</source>
<translation>Kolory pola statusu</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1793"/>
+ <location filename="../dialogs/configdialog.ui" line="1870"/>
<source>Information message foreground</source>
<translation>Czcionka wiadomości informującej</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1816"/>
+ <location filename="../dialogs/configdialog.ui" line="1893"/>
<source>Warning message foreground</source>
<translation>Czcionka wiadomości ostrzegającej</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1839"/>
+ <location filename="../dialogs/configdialog.ui" line="1916"/>
<source>Error message foreground</source>
<translation>Czcionka wiadomości błędu</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="765"/>
+ <location filename="../dialogs/configdialog.cpp" line="785"/>
<source>Description:</source>
<comment>plugin details</comment>
<translation>Opis:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="766"/>
+ <location filename="../dialogs/configdialog.cpp" line="786"/>
<source>Category:</source>
<comment>plugin details</comment>
<translation>Kategoria:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="767"/>
+ <location filename="../dialogs/configdialog.cpp" line="787"/>
<source>Version:</source>
<comment>plugin details</comment>
<translation>Wersja:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="768"/>
+ <location filename="../dialogs/configdialog.cpp" line="788"/>
<source>Author:</source>
<comment>plugin details</comment>
<translation>Autor:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="770"/>
+ <location filename="../dialogs/configdialog.cpp" line="790"/>
<source>Internal name:</source>
<comment>plugin details</comment>
<translation>Nazwa wewnętrzna:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="771"/>
+ <location filename="../dialogs/configdialog.cpp" line="791"/>
<source>Dependencies:</source>
<comment>plugin details</comment>
<translation>Zależności:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="772"/>
+ <location filename="../dialogs/configdialog.cpp" line="792"/>
<source>Conflicts:</source>
<comment>plugin details</comment>
<translation>Konflikty:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="776"/>
+ <location filename="../dialogs/configdialog.cpp" line="796"/>
<source>Plugin details</source>
<translation>Szczegóły wtyczki</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1177"/>
+ <location filename="../dialogs/configdialog.cpp" line="1202"/>
<source>Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog.</source>
<translation>Wtyczki są ładowane/wyładowywane natychmiast po zaznaczeniu/odznaczeniu, ale zmodyfikowana lista wtyczek, które należy załadować przy starcie nie jest zapisana, dopóki nie zatwierdzisz całego okna configuracji.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1241"/>
+ <location filename="../dialogs/configdialog.cpp" line="1266"/>
<source>%1 (built-in)</source>
<comment>plugins manager in configuration dialog</comment>
<translation>%1 (wbudowany)</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1254"/>
+ <location filename="../dialogs/configdialog.cpp" line="1279"/>
<source>Details</source>
<translation>Szczegóły</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1266"/>
+ <location filename="../dialogs/configdialog.cpp" line="1291"/>
<source>No plugins in this category.</source>
<translation>Brak wtyczek w tej kategorii.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1362"/>
+ <location filename="../dialogs/configdialog.cpp" line="1387"/>
<source>Add new data type</source>
<translation>Dodaj nowy typ danych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1366"/>
+ <location filename="../dialogs/configdialog.cpp" line="1391"/>
<source>Rename selected data type</source>
<translation>Zmień nazwę wybranego typu danych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1370"/>
+ <location filename="../dialogs/configdialog.cpp" line="1395"/>
<source>Delete selected data type</source>
<translation>Usuń wybrany typ danych</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1374"/>
+ <location filename="../dialogs/configdialog.cpp" line="1399"/>
<source>Help for configuring data type editors</source>
<translation>Pomoc w konfiguracji edytorów typów danych</translation>
</message>
@@ -1613,122 +1648,130 @@ ale można go używać.</translation>
</message>
</context>
<context>
+ <name>CssDebugDialog</name>
+ <message>
+ <location filename="../dialogs/cssdebugdialog.ui" line="14"/>
+ <source>SQLiteStudio CSS console</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DataView</name>
<message>
- <location filename="../dataview.cpp" line="95"/>
+ <location filename="../dataview.cpp" line="98"/>
<source>Filter data</source>
<comment>data view</comment>
<translation>Filtruj dane</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="104"/>
+ <location filename="../dataview.cpp" line="107"/>
<source>Grid view</source>
<translation>Widok siatki</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="105"/>
+ <location filename="../dataview.cpp" line="108"/>
<source>Form view</source>
<translation>Widok formularza</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="148"/>
+ <location filename="../dataview.cpp" line="165"/>
<source>Refresh table data</source>
<comment>data view</comment>
<translation>Odśwież dane tabeli</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="162"/>
+ <location filename="../dataview.cpp" line="179"/>
<source>First page</source>
<comment>data view</comment>
<translation>Pierwsza strona</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="163"/>
+ <location filename="../dataview.cpp" line="180"/>
<source>Previous page</source>
<comment>data view</comment>
<translation>Poprzednia strona</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="165"/>
+ <location filename="../dataview.cpp" line="182"/>
<source>Next page</source>
<comment>data view</comment>
<translation>Następna strona</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="166"/>
+ <location filename="../dataview.cpp" line="183"/>
<source>Last page</source>
<comment>data view</comment>
<translation>Ostatnia strona</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="171"/>
+ <location filename="../dataview.cpp" line="188"/>
<source>Apply filter</source>
<comment>data view</comment>
<translation>Zastosuj filtr</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="186"/>
+ <location filename="../dataview.cpp" line="203"/>
<source>Commit changes for selected cells</source>
<comment>data view</comment>
<translation>Zatwierdź zmiany dla wybranych komórek</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="187"/>
+ <location filename="../dataview.cpp" line="204"/>
<source>Rollback changes for selected cells</source>
<comment>data view</comment>
<translation>Wycofaj zmiany dla wybranych komórek</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="188"/>
+ <location filename="../dataview.cpp" line="205"/>
<source>Show grid view of results</source>
<comment>sql editor</comment>
<translation>Pokaż widok siatki dla wyników</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="189"/>
+ <location filename="../dataview.cpp" line="206"/>
<source>Show form view of results</source>
<comment>sql editor</comment>
<translation>Pokaż widok formularza dla wyników</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="258"/>
+ <location filename="../dataview.cpp" line="275"/>
<source>Filter by text</source>
<comment>data view</comment>
<translation>Filtruj po tekście</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="259"/>
+ <location filename="../dataview.cpp" line="276"/>
<source>Filter by the Regular Expression</source>
<comment>data view</comment>
<translation>Filtruj używając Wyrażeń Regularnych</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="260"/>
+ <location filename="../dataview.cpp" line="277"/>
<source>Filter by SQL expression</source>
<comment>data view</comment>
<translation>Filtruj używając wyrażenia SQL</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="291"/>
+ <location filename="../dataview.cpp" line="308"/>
<source>Tabs on top</source>
<comment>data view</comment>
<translation>Karty na górze</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="292"/>
+ <location filename="../dataview.cpp" line="309"/>
<source>Tabs at bottom</source>
<comment>data view</comment>
<translation>Karty na dole</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="510"/>
+ <location filename="../dataview.cpp" line="555"/>
<source>Total number of rows is being counted.
Browsing other pages will be possible after the row counting is done.</source>
<translation>Całkowita liczba wierszy jest liczona.
Przeglądanie pozostałych stron będzie możliwe kiedy liczenie wierszy zostanie zakończone.</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="521"/>
+ <location filename="../dataview.cpp" line="566"/>
<source>Row: %1</source>
<translation>Wiersz: %1</translation>
</message>
@@ -1926,32 +1969,32 @@ Przeglądanie pozostałych stron będzie możliwe kiedy liczenie wierszy zostani
<translation>Przeglądaj</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="488"/>
+ <location filename="../dialogs/dbdialog.cpp" line="483"/>
<source>Enter an unique database name.</source>
<translation>Wprowadź unikalną nazwę bazy danych.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="497"/>
+ <location filename="../dialogs/dbdialog.cpp" line="492"/>
<source>This name is already in use. Please enter unique name.</source>
<translation>Ta nazwa jest już w użyciu. Proszę wprowadzić unikalną nazwę.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="505"/>
+ <location filename="../dialogs/dbdialog.cpp" line="500"/>
<source>Enter a database file path.</source>
<translation>Wprowadź ścieżkę do pliku bazy danych.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="512"/>
+ <location filename="../dialogs/dbdialog.cpp" line="507"/>
<source>This database is already on the list under name: %1</source>
<translation>Ta baza jest już na liście pod nazwą: %1</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="528"/>
+ <location filename="../dialogs/dbdialog.cpp" line="523"/>
<source>Select a database type.</source>
<translation>Wybierz typ bazy danych.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="585"/>
+ <location filename="../dialogs/dbdialog.cpp" line="580"/>
<source>Auto-generated</source>
<translation>Auto-generowana</translation>
</message>
@@ -1960,7 +2003,7 @@ Przeglądanie pozostałych stron będzie możliwe kiedy liczenie wierszy zostani
<translation type="vanished">Nazwa będzie generowana automatycznie</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="590"/>
+ <location filename="../dialogs/dbdialog.cpp" line="585"/>
<source>Type the name</source>
<translation>Wprowadź nazwę</translation>
</message>
@@ -2021,102 +2064,102 @@ Przeglądanie pozostałych stron będzie możliwe kiedy liczenie wierszy zostani
<translation>Bazy danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.ui" line="67"/>
+ <location filename="../dbtree/dbtree.ui" line="73"/>
<source>Filter by name</source>
<translation>Filtruj po nazwie</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="99"/>
+ <location filename="../dbtree/dbtree.cpp" line="102"/>
<source>Copy</source>
<translation>Kopiuj</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="100"/>
+ <location filename="../dbtree/dbtree.cpp" line="103"/>
<source>Paste</source>
<translation>Wklej</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="101"/>
+ <location filename="../dbtree/dbtree.cpp" line="104"/>
<source>Select all</source>
<translation>Zaznacz wszystko</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="102"/>
+ <location filename="../dbtree/dbtree.cpp" line="105"/>
<source>Create a group</source>
<translation>Utwórz grupę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="103"/>
+ <location filename="../dbtree/dbtree.cpp" line="106"/>
<source>Delete the group</source>
<translation>Usuń grupę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="104"/>
+ <location filename="../dbtree/dbtree.cpp" line="107"/>
<source>Rename the group</source>
<translation>Zmień nazwę grupy</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="105"/>
+ <location filename="../dbtree/dbtree.cpp" line="108"/>
<source>Add a database</source>
<translation>Dodaj bazę danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="106"/>
+ <location filename="../dbtree/dbtree.cpp" line="109"/>
<source>Edit the database</source>
<translation>Edytuj bazę danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="107"/>
+ <location filename="../dbtree/dbtree.cpp" line="110"/>
<source>Remove the database</source>
<translation>Usuń bazę danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="108"/>
+ <location filename="../dbtree/dbtree.cpp" line="111"/>
<source>Connect to the database</source>
<translation>Połącz z bazą danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="109"/>
+ <location filename="../dbtree/dbtree.cpp" line="112"/>
<source>Disconnect from the database</source>
<translation>Rozłącz się z bazą danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="110"/>
+ <location filename="../dbtree/dbtree.cpp" line="113"/>
<source>Import</source>
<translation>Importuj</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="111"/>
+ <location filename="../dbtree/dbtree.cpp" line="114"/>
<source>Export the database</source>
<translation>Eksportuj bazę danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="112"/>
+ <location filename="../dbtree/dbtree.cpp" line="115"/>
<source>Convert database type</source>
<translation>Konwertuj typ bazy danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="113"/>
+ <location filename="../dbtree/dbtree.cpp" line="116"/>
<source>Vacuum</source>
<translation>Odkurz</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="114"/>
+ <location filename="../dbtree/dbtree.cpp" line="117"/>
<source>Integrity check</source>
<translation>Sprawdź spójność</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="115"/>
+ <location filename="../dbtree/dbtree.cpp" line="118"/>
<source>Create a table</source>
<translation>Utwórz tabelę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="116"/>
+ <location filename="../dbtree/dbtree.cpp" line="119"/>
<source>Edit the table</source>
<translation>Edytuj tabelę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Entry with name %1 already exists in group %2.</source>
<translation>Pozycja o nazwie %1 istnieje już w grupie %2.</translation>
</message>
@@ -2125,32 +2168,32 @@ Przeglądanie pozostałych stron będzie możliwe kiedy liczenie wierszy zostani
<translation type="obsolete">Porzuć tabelę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="118"/>
+ <location filename="../dbtree/dbtree.cpp" line="121"/>
<source>Export the table</source>
<translation>Eksportuj tabelę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="119"/>
+ <location filename="../dbtree/dbtree.cpp" line="122"/>
<source>Import into the table</source>
<translation>Importuj do tabeli</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="120"/>
+ <location filename="../dbtree/dbtree.cpp" line="123"/>
<source>Populate table</source>
<translation>Zaludnij tabelę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="121"/>
+ <location filename="../dbtree/dbtree.cpp" line="124"/>
<source>Create similar table</source>
<translation>Utwórz podobną tabelę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="123"/>
+ <location filename="../dbtree/dbtree.cpp" line="126"/>
<source>Create an index</source>
<translation>Utwórz indeks</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="124"/>
+ <location filename="../dbtree/dbtree.cpp" line="127"/>
<source>Edit the index</source>
<translation>Edytuj indeks</translation>
</message>
@@ -2159,12 +2202,12 @@ Przeglądanie pozostałych stron będzie możliwe kiedy liczenie wierszy zostani
<translation type="obsolete">Porzuć indeks</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="126"/>
+ <location filename="../dbtree/dbtree.cpp" line="129"/>
<source>Create a trigger</source>
<translation>Utwórz wyzwalacz</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="127"/>
+ <location filename="../dbtree/dbtree.cpp" line="130"/>
<source>Edit the trigger</source>
<translation>Edytuj wyzwalacz</translation>
</message>
@@ -2173,12 +2216,12 @@ Przeglądanie pozostałych stron będzie możliwe kiedy liczenie wierszy zostani
<translation type="obsolete">Porzuć wyzwalacz</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="129"/>
+ <location filename="../dbtree/dbtree.cpp" line="132"/>
<source>Create a view</source>
<translation>Utwórz widok</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="130"/>
+ <location filename="../dbtree/dbtree.cpp" line="133"/>
<source>Edit the view</source>
<translation>Edytuj widok</translation>
</message>
@@ -2187,178 +2230,199 @@ Przeglądanie pozostałych stron będzie możliwe kiedy liczenie wierszy zostani
<translation type="obsolete">Porzuć widok</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="132"/>
+ <location filename="../dbtree/dbtree.cpp" line="135"/>
<source>Add a column</source>
<translation>Dodaj kolumnę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="133"/>
+ <location filename="../dbtree/dbtree.cpp" line="136"/>
<source>Edit the column</source>
<translation>Edytuj kolumnę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="134"/>
+ <location filename="../dbtree/dbtree.cpp" line="137"/>
<source>Delete the column</source>
<translation>Usuń kolumnę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="135"/>
+ <location filename="../dbtree/dbtree.cpp" line="138"/>
<source>Delete selected items</source>
<translation>Usuń wybrane elementy</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="136"/>
+ <location filename="../dbtree/dbtree.cpp" line="139"/>
<source>Clear filter</source>
<translation>Wyczyść filtr</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="137"/>
+ <location filename="../dbtree/dbtree.cpp" line="140"/>
<source>Refresh all database schemas</source>
<translation>Odśwież schematy wszystkich baz danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="138"/>
+ <location filename="../dbtree/dbtree.cpp" line="141"/>
<source>Refresh selected database schema</source>
<translation>Odśwież schemat wybranej bazy danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="117"/>
+ <location filename="../dbtree/dbtree.cpp" line="120"/>
<source>Delete the table</source>
<translation>Usuń tabelę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="122"/>
+ <location filename="../dbtree/dbtree.cpp" line="125"/>
<source>Reset autoincrement sequence</source>
<translation>Wyzeruj sekwencję autoinkrementacji</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="125"/>
+ <location filename="../dbtree/dbtree.cpp" line="128"/>
<source>Delete the index</source>
<translation>Usuń indeks</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="128"/>
+ <location filename="../dbtree/dbtree.cpp" line="131"/>
<source>Delete the trigger</source>
<translation>Usuń wyzwalacz</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="131"/>
+ <location filename="../dbtree/dbtree.cpp" line="134"/>
<source>Delete the view</source>
<translation>Usuń widok</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="308"/>
- <location filename="../dbtree/dbtree.cpp" line="313"/>
+ <location filename="../dbtree/dbtree.cpp" line="142"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Erase table data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="312"/>
+ <location filename="../dbtree/dbtree.cpp" line="317"/>
<source>Database</source>
<translation>Baza danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="323"/>
+ <location filename="../dbtree/dbtree.cpp" line="327"/>
<source>Grouping</source>
<translation>Grupowanie</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Create group</source>
<translation>Utwórz grupę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
<source>Group name</source>
<translation>Nazwa grupy</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="953"/>
+ <location filename="../dbtree/dbtree.cpp" line="958"/>
<source>Delete group</source>
<translation>Usuń grupę</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="954"/>
+ <location filename="../dbtree/dbtree.cpp" line="959"/>
<source>Are you sure you want to delete group %1?
All objects from this group will be moved to parent group.</source>
<translation>Czy na pewno chcesz usunąć grupę %1?
Wszystkie obiekty z tej grupy zostaną przeniesione do nadrzędnej grupy.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Delete database</source>
<translation>Usuń bazę danych</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Are you sure you want to delete database &apos;%1&apos;?</source>
<translation>Czy na pewno chcesz usunąć bazę danych &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1050"/>
- <location filename="../dbtree/dbtree.cpp" line="1260"/>
+ <location filename="../dbtree/dbtree.cpp" line="1055"/>
+ <location filename="../dbtree/dbtree.cpp" line="1265"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation>Nie można zaimportować, ponieważ żadna wtyczka importu nie została załadowana.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1070"/>
- <location filename="../dbtree/dbtree.cpp" line="1235"/>
+ <location filename="../dbtree/dbtree.cpp" line="1075"/>
+ <location filename="../dbtree/dbtree.cpp" line="1240"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Nie można wyeksportować, ponieważ żadna wtyczka eksportu nie została załadowana.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1334"/>
+ <location filename="../dbtree/dbtree.cpp" line="1339"/>
<source>Error while executing VACUUM on the database %1: %2</source>
<translation>Błąd podczas wykonywania VACUUM na bazie danych %1: %2</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1336"/>
+ <location filename="../dbtree/dbtree.cpp" line="1341"/>
<source>VACUUM execution finished successfully.</source>
<translation>Wykonanie VACUUM przebiegło pomyślnie.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1353"/>
+ <location filename="../dbtree/dbtree.cpp" line="1358"/>
<source>Integrity check (%1)</source>
<translation>Sprawdzanie spójności (%1)</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Reset autoincrement</source>
<translation>Wyzeruj autoinkrementację</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation>Czy na pewno chcesz wyzerować wartość autoinkrementacji dla tabeli &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1397"/>
+ <location filename="../dbtree/dbtree.cpp" line="1402"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation>Wystąpił błąd podczas próby wyzerowania wartości autoinkrementacji dla tabeli &apos;%1&apos;: %2</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1399"/>
+ <location filename="../dbtree/dbtree.cpp" line="1404"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation>Wartość autoinkrementacji dla tabeli &apos;%1&apos; została pomyślnie wyzerowana.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1501"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Are you sure you want to delete all data from table &apos;%1&apos;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1429"/>
+ <source>An error occurred while trying to delete data from table &apos;%1&apos;: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1433"/>
+ <source>All data has been deleted for table &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1535"/>
<source>Following objects will be deleted: %1.</source>
<translation>Następujące obiekty zostaną usunięte: %1</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1504"/>
+ <location filename="../dbtree/dbtree.cpp" line="1538"/>
<source>Following databases will be removed from list: %1.</source>
<translation>Następujące bazy danych zostaną usunięte z listy: %1</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1507"/>
+ <location filename="../dbtree/dbtree.cpp" line="1541"/>
<source>Remainig objects from deleted group will be moved in place where the group used to be.</source>
<translation>Pozostałe obiekty z usuniętej grupy będą przeniesione w miejsce, gdzie dotychczas była ta grupa.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1509"/>
+ <location filename="../dbtree/dbtree.cpp" line="1543"/>
<source>%1&lt;br&gt;&lt;br&gt;Are you sure you want to continue?</source>
<translation>%1&lt;br&gt;&lt;br&gt;Czy na pewno chcesz kontynuować?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1511"/>
+ <location filename="../dbtree/dbtree.cpp" line="1545"/>
<source>Delete objects</source>
<translation>Usuń obiekty</translation>
</message>
@@ -2393,125 +2457,130 @@ Wszystkie obiekty z tej grupy zostaną przeniesione do nadrzędnej grupy.</trans
<context>
<name>DbTreeModel</name>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="407"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="422"/>
<source>Database: %1</source>
<comment>dbtree tooltip</comment>
<translation>Baza danych: %1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="412"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="427"/>
<source>Version:</source>
<comment>dbtree tooltip</comment>
<translation>Wersja:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="413"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="430"/>
<source>File size:</source>
<comment>dbtree tooltip</comment>
<translation>Rozmiar pliku:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="414"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="433"/>
<source>Encoding:</source>
<comment>dbtree tooltip</comment>
<translation>Kodowanie:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="419"/>
<source>Error details:</source>
<comment>dbtree tooltip</comment>
- <translation>Szczegóły błędu:</translation>
+ <translation type="vanished">Szczegóły błędu:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="429"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="438"/>
+ <source>Error:</source>
+ <comment>dbtree tooltip</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtreemodel.cpp" line="448"/>
<source>Table : %1</source>
<comment>dbtree tooltip</comment>
<translation>Tablela: : %1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="452"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="471"/>
<source>Columns (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Kolumny (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="455"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="474"/>
<source>Indexes (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Indeksy (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="458"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="477"/>
<source>Triggers (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Wyzwalacze (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1073"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1092"/>
<source>Copy</source>
<translation>Kopiuj</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1074"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1093"/>
<source>Move</source>
<translation>Przenieś</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1076"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1095"/>
<source>Include data</source>
<translation>Również dane</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1077"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1096"/>
<source>Include indexes</source>
<translation>Również indeksy</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1078"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1097"/>
<source>Include triggers</source>
<translation>Również wyzwalacze</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1080"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1099"/>
<source>Abort</source>
<translation>Przerwij</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1156"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1175"/>
<source>Referenced tables</source>
<translation>Tabele powiązane</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1157"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1176"/>
<source>Do you want to include following referenced tables as well:
%1</source>
<translation>Czy chcesz zawrzeć również powiązane tabele:
%1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1166"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1185"/>
<source>Name conflict</source>
<translation>Konflikt nazwy</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1167"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1186"/>
<source>Following object already exists in the target database.
Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</source>
<translation>Następująy obiekt istnieje już w docelowej bazie danych.
Proszę podać nową, unikalną nazwę, lub nacisnąć &apos;%1&apos;, aby przerwać operację.</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1180"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1199"/>
<source>SQL statements conversion</source>
<translation>Konwersja zapytań SQL</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1188"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1207"/>
<source>Following error occurred while converting SQL statements to the target SQLite version:</source>
<translation>Następujące błędy wystąpiły podczas konwersji zapytań SQL do docelowej wersji SQLite:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1189"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1208"/>
<source>Would you like to ignore those errors and proceed?</source>
<translation>Czy chcesz zignorować te błędy i kontynuować?</translation>
</message>
@@ -2562,110 +2631,110 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć &apos;%1&apos;, aby przer
<context>
<name>EditorWindow</name>
<message>
- <location filename="../windows/editorwindow.ui" line="39"/>
+ <location filename="../windows/editorwindow.ui" line="42"/>
<source>Query</source>
<translation>Zapytanie</translation>
</message>
<message>
- <location filename="../windows/editorwindow.ui" line="109"/>
+ <location filename="../windows/editorwindow.ui" line="112"/>
<source>History</source>
<translation>Historia</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="130"/>
+ <location filename="../windows/editorwindow.cpp" line="137"/>
<source>Results in the separate tab</source>
<translation>Wyniki w osobnej karcie</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="131"/>
+ <location filename="../windows/editorwindow.cpp" line="138"/>
<source>Results below the query</source>
<translation>Wyniki pod zapytaniem</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="164"/>
- <location filename="../windows/editorwindow.cpp" line="166"/>
+ <location filename="../windows/editorwindow.cpp" line="171"/>
+ <location filename="../windows/editorwindow.cpp" line="173"/>
<source>SQL editor %1</source>
<translation>Edytor SQL %1</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="324"/>
+ <location filename="../windows/editorwindow.cpp" line="331"/>
<source>Results</source>
<translation>Wyniki</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="357"/>
+ <location filename="../windows/editorwindow.cpp" line="364"/>
<source>Execute query</source>
<translation>Wykonaj zapytanie</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="358"/>
+ <location filename="../windows/editorwindow.cpp" line="365"/>
<source>Explain query</source>
<translation>Wytłumacz zapytanie</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="361"/>
+ <location filename="../windows/editorwindow.cpp" line="368"/>
<source>Clear execution history</source>
<comment>sql editor</comment>
<translation>Wymaż historię zapytań</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="363"/>
+ <location filename="../windows/editorwindow.cpp" line="370"/>
<source>Export results</source>
<comment>sql editor</comment>
<translation>Wyeksportuj wyniki</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="365"/>
+ <location filename="../windows/editorwindow.cpp" line="372"/>
<source>Create view from query</source>
<comment>sql editor</comment>
<translation>Utwórz widok z zapytania</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="374"/>
+ <location filename="../windows/editorwindow.cpp" line="382"/>
<source>Previous database</source>
<translation>Poprzednia baza danych</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="375"/>
+ <location filename="../windows/editorwindow.cpp" line="383"/>
<source>Next database</source>
<translation>Następna baza danych</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="378"/>
+ <location filename="../windows/editorwindow.cpp" line="386"/>
<source>Show next tab</source>
<comment>sql editor</comment>
<translation>Pokaż następną kartę</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="379"/>
+ <location filename="../windows/editorwindow.cpp" line="387"/>
<source>Show previous tab</source>
<comment>sql editor</comment>
<translation>Pokaż poprzednią kartę</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="380"/>
+ <location filename="../windows/editorwindow.cpp" line="388"/>
<source>Focus results below</source>
<comment>sql editor</comment>
<translation>Aktywuj wyniki poniżej</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="381"/>
+ <location filename="../windows/editorwindow.cpp" line="389"/>
<source>Focus SQL editor above</source>
<comment>sql editor</comment>
<translation>Aktywuj edytor SQL powyżej</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="455"/>
+ <location filename="../windows/editorwindow.cpp" line="463"/>
<source>Active database (%1/%2)</source>
<translation>Aktywna baza danych (%1/%2)</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="495"/>
+ <location filename="../windows/editorwindow.cpp" line="503"/>
<source>Query finished in %1 second(s). Rows affected: %2</source>
<translation>Zapytanie ukończone w %1 sekund(y). Liczba przetworzonych wierszy: %2</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="499"/>
+ <location filename="../windows/editorwindow.cpp" line="507"/>
<source>Query finished in %1 second(s).</source>
<translation>Zapytanie ukończone w %1 sekund(y).</translation>
</message>
@@ -2674,27 +2743,27 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć &apos;%1&apos;, aby przer
<translation type="obsolete">Zapytanie ukończone w %2 sekund(y).</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Clear execution history</source>
<translation>Wymaż historię zapytań</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Are you sure you want to erase the entire SQL execution history? This cannot be undone.</source>
<translation>Czy na pewno chcesz wymazać całą historię zapytań SQL? Tego nie można odwrócić.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="613"/>
+ <location filename="../windows/editorwindow.cpp" line="621"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Nie można wyeksportować, ponieważ żadna wtyczka eksportu nie została załadowana.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="634"/>
+ <location filename="../windows/editorwindow.cpp" line="642"/>
<source>No database selected in the SQL editor. Cannot create a view for unknown database.</source>
<translation>Nie wybrano bazdy danych w edytorze SQL. Nie można utworzyć widoku dla nieznanej bazy.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="664"/>
+ <location filename="../windows/editorwindow.cpp" line="672"/>
<source>Editor window &quot;%1&quot; has uncommited data.</source>
<translation>Okno edytora &quot;%1&quot; ma niezatwierdzone dane.</translation>
</message>
@@ -2948,49 +3017,49 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć &apos;%1&apos;, aby przer
<context>
<name>FormView</name>
<message>
- <location filename="../formview.cpp" line="253"/>
+ <location filename="../formview.cpp" line="241"/>
<source>Commit row</source>
<comment>form view</comment>
<translation>Zatwierdź wiersz</translation>
</message>
<message>
- <location filename="../formview.cpp" line="254"/>
+ <location filename="../formview.cpp" line="242"/>
<source>Rollback row</source>
<comment>form view</comment>
<translation>Wycofaj wiersz</translation>
</message>
<message>
- <location filename="../formview.cpp" line="255"/>
+ <location filename="../formview.cpp" line="243"/>
<source>First row</source>
<comment>form view</comment>
<translation>Pierwszy wiersz</translation>
</message>
<message>
- <location filename="../formview.cpp" line="256"/>
+ <location filename="../formview.cpp" line="244"/>
<source>Previous row</source>
<comment>form view</comment>
<translation>Poprzedni wiersz</translation>
</message>
<message>
- <location filename="../formview.cpp" line="257"/>
+ <location filename="../formview.cpp" line="245"/>
<source>Next row</source>
<comment>form view</comment>
<translation>Następny wiersz</translation>
</message>
<message>
- <location filename="../formview.cpp" line="258"/>
+ <location filename="../formview.cpp" line="246"/>
<source>Last row</source>
<comment>form view</comment>
<translation>Ostatni wiersz</translation>
</message>
<message>
- <location filename="../formview.cpp" line="259"/>
+ <location filename="../formview.cpp" line="247"/>
<source>Insert new row</source>
<comment>form view</comment>
<translation>Wstaw nowy wiersz</translation>
</message>
<message>
- <location filename="../formview.cpp" line="260"/>
+ <location filename="../formview.cpp" line="248"/>
<source>Delete current row</source>
<comment>form view</comment>
<translation>Usuń bieżący wiersz</translation>
@@ -3004,58 +3073,58 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć &apos;%1&apos;, aby przer
<translation>Filtruj funkcje</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="151"/>
+ <location filename="../windows/functionseditor.ui" line="260"/>
<source>Function name:</source>
<translation>Nazwa funkcji:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="161"/>
+ <location filename="../windows/functionseditor.ui" line="273"/>
<source>Implementation language:</source>
<translation>Język implementacji:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="171"/>
+ <location filename="../windows/functionseditor.ui" line="253"/>
<source>Type:</source>
<translation>Typ:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="187"/>
+ <location filename="../windows/functionseditor.ui" line="157"/>
<source>Input arguments</source>
<translation>Argumenty wejściowe</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="193"/>
+ <location filename="../windows/functionseditor.ui" line="163"/>
<source>Undefined</source>
<translation>Niezdefiniowane</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="235"/>
+ <location filename="../windows/functionseditor.ui" line="205"/>
<source>Databases</source>
<translation>Bazy danych</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="241"/>
+ <location filename="../windows/functionseditor.ui" line="211"/>
<source>Register in all databases</source>
<translation>Zarejestruj we wszystkich bazach danych</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="248"/>
+ <location filename="../windows/functionseditor.ui" line="218"/>
<source>Register in following databases:</source>
<translation>Zarejestruj w następujących bazach danych:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="278"/>
+ <location filename="../windows/functionseditor.ui" line="293"/>
<source>Initialization code:</source>
<translation>Kod inicjalizacji:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="294"/>
+ <location filename="../windows/functionseditor.ui" line="309"/>
<location filename="../windows/functionseditor.cpp" line="426"/>
<source>Function implementation code:</source>
<translation>Kod implementacji funkcji:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="310"/>
+ <location filename="../windows/functionseditor.ui" line="325"/>
<source>Final step implementation code:</source>
<translation>Kod implementacji ostatniego kroku:</translation>
</message>
@@ -3380,293 +3449,298 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć &apos;%1&apos;, aby przer
<context>
<name>MainWindow</name>
<message>
- <location filename="../mainwindow.ui" line="66"/>
+ <location filename="../mainwindow.ui" line="81"/>
<source>Database toolbar</source>
<translation>Pasek narzędzi baz danych</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="77"/>
+ <location filename="../mainwindow.ui" line="92"/>
<source>Structure toolbar</source>
<translation>Pasek narzędzi struktury</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="88"/>
+ <location filename="../mainwindow.ui" line="103"/>
<source>Tools</source>
<translation>Narzędzia</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="105"/>
+ <location filename="../mainwindow.ui" line="120"/>
<source>Window list</source>
<translation>Lista okien</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="119"/>
+ <location filename="../mainwindow.ui" line="134"/>
<source>View toolbar</source>
<translation>Pasek narzędzi widoku</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="104"/>
+ <location filename="../mainwindow.cpp" line="107"/>
<source>Configuration widgets</source>
<translation>Kontrolki konfiguracji</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="105"/>
+ <location filename="../mainwindow.cpp" line="108"/>
<source>Syntax highlighting engines</source>
<translation>Silniki podświetlania składni</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="106"/>
+ <location filename="../mainwindow.cpp" line="109"/>
<source>Data editors</source>
<translation>Edytory danych</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="118"/>
+ <location filename="../mainwindow.cpp" line="121"/>
<source>Running in debug mode. Press %1 or use &apos;Help / Open debug console&apos; menu entry to open the debug console.</source>
<translation>Uruchomiono tryb debugowania. Wciśnij %1 lub wybierz menu &apos;Pomoc / Otwórz konsolę debugowania&apos; aby otworzyć konsolę debugowania.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="120"/>
+ <location filename="../mainwindow.cpp" line="123"/>
<source>Running in debug mode. Debug messages are printed to the standard output.</source>
<translation>Uruchomiono tryb debugowania. Wiadomości debugujące są wyświetlane na standardowym wyjściu.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="202"/>
+ <location filename="../mainwindow.cpp" line="211"/>
<source>You need to restart application to make the language change take effect.</source>
<translation>Należy zrestartować aplikację, aby nastąpiła zmiana języka.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="245"/>
+ <location filename="../mainwindow.cpp" line="254"/>
<source>Open SQL editor</source>
<translation>Otwórz edytor SQL</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="246"/>
+ <location filename="../mainwindow.cpp" line="255"/>
<source>Open DDL history</source>
<translation>Otwórz historię DDL</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="247"/>
+ <location filename="../mainwindow.cpp" line="256"/>
<source>Open SQL functions editor</source>
<translation>Otwórz edytor funkcji SQL</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="248"/>
+ <location filename="../mainwindow.cpp" line="257"/>
<source>Open collations editor</source>
<translation>Otwórz edytor zestawień</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="249"/>
+ <location filename="../mainwindow.cpp" line="258"/>
<source>Import</source>
<translation>Importuj</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="250"/>
+ <location filename="../mainwindow.cpp" line="259"/>
<source>Export</source>
<translation>Eksportuj</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="252"/>
+ <location filename="../mainwindow.cpp" line="261"/>
<source>Open configuration dialog</source>
<translation>Otwórz okno konfiguracji</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="254"/>
+ <location filename="../mainwindow.cpp" line="263"/>
<source>Tile windows</source>
<translation>Ustaw okna w płytki</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="255"/>
+ <location filename="../mainwindow.cpp" line="264"/>
<source>Tile windows horizontally</source>
<translation>Ustaw okno poziomo</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="256"/>
+ <location filename="../mainwindow.cpp" line="265"/>
<source>Tile windows vertically</source>
<translation>Ustaw okna pionowo</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="257"/>
+ <location filename="../mainwindow.cpp" line="266"/>
<source>Cascade windows</source>
<translation>Ustaw okna caskadowo</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="258"/>
+ <location filename="../mainwindow.cpp" line="267"/>
<source>Next window</source>
<translation>Następne okno</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="259"/>
+ <location filename="../mainwindow.cpp" line="268"/>
<source>Previous window</source>
<translation>Poprzednie okno</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="260"/>
+ <location filename="../mainwindow.cpp" line="269"/>
<source>Hide status field</source>
<translation>Ukryj pole statusu</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="262"/>
+ <location filename="../mainwindow.cpp" line="271"/>
<source>Close selected window</source>
<translation>Zamknij wybrane okno</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="263"/>
+ <location filename="../mainwindow.cpp" line="272"/>
<source>Close all windows but selected</source>
<translation>Zamknij wszystkie okna, oprócz wybranego</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="264"/>
+ <location filename="../mainwindow.cpp" line="273"/>
<source>Close all windows</source>
<translation>Zamknij wszystkie okna</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="265"/>
+ <location filename="../mainwindow.cpp" line="274"/>
<source>Restore recently closed window</source>
<translation>Przywróć ostatnio zamknięte okno</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="266"/>
+ <location filename="../mainwindow.cpp" line="275"/>
<source>Rename selected window</source>
<translation>Zmień nazwę wybranego okna</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="268"/>
+ <location filename="../mainwindow.cpp" line="277"/>
<source>Open Debug Console</source>
<translation>Otwórz Konsolę Debugowania</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="269"/>
+ <location filename="../mainwindow.cpp" line="278"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="279"/>
<source>Report a bug</source>
<translation>Zgłoś błąd</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="270"/>
+ <location filename="../mainwindow.cpp" line="280"/>
<source>Propose a new feature</source>
<translation>Zgłoś pomysł</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="271"/>
+ <location filename="../mainwindow.cpp" line="281"/>
<source>About</source>
<translation>O programie</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="272"/>
+ <location filename="../mainwindow.cpp" line="282"/>
<source>Licenses</source>
<translation>Licencje</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="273"/>
+ <location filename="../mainwindow.cpp" line="283"/>
<source>Open home page</source>
<translation>Otwórz stronę domową</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="274"/>
+ <location filename="../mainwindow.cpp" line="284"/>
<source>Open forum page</source>
<translation>Otwórz stronę forum</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="275"/>
+ <location filename="../mainwindow.cpp" line="285"/>
<source>User Manual</source>
<translation>Podręcznik Użytkownika</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="276"/>
+ <location filename="../mainwindow.cpp" line="286"/>
<source>SQLite documentation</source>
<translation>Dokumentacja SQLite</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="277"/>
+ <location filename="../mainwindow.cpp" line="287"/>
<source>Report history</source>
<translation>Historia zgłoszeń</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="278"/>
+ <location filename="../mainwindow.cpp" line="289"/>
<source>Check for updates</source>
<translation>Sprawdź aktualizacje</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="315"/>
+ <location filename="../mainwindow.cpp" line="327"/>
<source>Database</source>
<comment>menubar</comment>
<translation>Baza danych</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="335"/>
+ <location filename="../mainwindow.cpp" line="347"/>
<source>Structure</source>
<comment>menubar</comment>
<translation>Struktura</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="356"/>
+ <location filename="../mainwindow.cpp" line="368"/>
<source>View</source>
<comment>menubar</comment>
<translation>Widok</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="360"/>
+ <location filename="../mainwindow.cpp" line="372"/>
<source>Window list</source>
<comment>menubar view menu</comment>
<translation>Lista okien</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="381"/>
+ <location filename="../mainwindow.cpp" line="393"/>
<source>Tools</source>
<comment>menubar</comment>
<translation>Narzędzia</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="395"/>
+ <location filename="../mainwindow.cpp" line="407"/>
<source>Help</source>
<translation>Pomoc</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="549"/>
+ <location filename="../mainwindow.cpp" line="569"/>
<source>Could not set style: %1</source>
<comment>main window</comment>
<translation>Nie udało się ustawić stylu: %1</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="621"/>
+ <location filename="../mainwindow.cpp" line="642"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Nie można wyeksportować, ponieważ żadna wtyczka eksportu nie została załadowana.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="637"/>
+ <location filename="../mainwindow.cpp" line="658"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation>Nie można zaimportować, ponieważ żadna wtyczka importu nie została załadowana.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Rename window</source>
<translation>Zmień nazwę okna</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Enter new name for the window:</source>
<translation>Wprowadź nową nazwę dla okna:</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="738"/>
+ <location filename="../mainwindow.cpp" line="777"/>
<source>New updates are available. &lt;a href=&quot;%1&quot;&gt;Click here for details&lt;/a&gt;.</source>
<translation>Nowe aktualizacje są dostępne: &lt;a href=&quot;%1&quot;&gt;Kliknij aby poznać szczegóły&lt;/a&gt;.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="746"/>
+ <location filename="../mainwindow.cpp" line="785"/>
<source>You&apos;re running the most recent version. No updates are available.</source>
<translation>Uruchomiona jest najnowsza wersja. Nie ma dostępnych aktualizacji.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="845"/>
+ <location filename="../mainwindow.cpp" line="891"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation>Baza danych podana w parametrach linii poleceń (%1) była już na liście pod nazwą: %2</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="852"/>
+ <location filename="../mainwindow.cpp" line="898"/>
<source>Database passed in command line parameters (%1) has been temporarily added to the list under name: %2</source>
<translation>Baza danych podana w linii poleceń (%1) jest tymczasowo dodana do listy pod nazwą: %2</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="857"/>
+ <location filename="../mainwindow.cpp" line="903"/>
<source>Could not add database %1 to list.</source>
<translation>Nie udało się dodać bazy danych %1 do listy.</translation>
</message>
@@ -3692,29 +3766,29 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć &apos;%1&apos;, aby przer
<context>
<name>MultiEditor</name>
<message>
- <location filename="../multieditor/multieditor.cpp" line="53"/>
+ <location filename="../multieditor/multieditor.cpp" line="62"/>
<source>Null value</source>
<comment>multieditor</comment>
<translation>Wartość null</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="68"/>
+ <location filename="../multieditor/multieditor.cpp" line="77"/>
<source>Configure editors for this data type</source>
<translation>Skonfiguruj edytory dla tego typu danych</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="271"/>
+ <location filename="../multieditor/multieditor.cpp" line="287"/>
<source>Data editor plugin &apos;%1&apos; not loaded, while it is defined for editing &apos;%1&apos; data type.</source>
<translation>Wtyczka edytora danych &apos;%1&apos; nie jest załadowana, podczas gdy jest ona zdefiniowana do edycji typu danych &apos;%1&apos;.</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="356"/>
+ <location filename="../multieditor/multieditor.cpp" line="372"/>
<source>Deleted</source>
<comment>multieditor</comment>
<translation>Usunięto</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="358"/>
+ <location filename="../multieditor/multieditor.cpp" line="374"/>
<source>Read only</source>
<comment>multieditor</comment>
<translation>Tylko do odczytu</translation>
@@ -3970,27 +4044,32 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć &apos;%1&apos;, aby przer
<translation>Zaludnij</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="158"/>
+ <location filename="../dialogs/populatedialog.cpp" line="54"/>
+ <source>Abort</source>
+ <translation type="unfinished">Przerwij</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/populatedialog.cpp" line="161"/>
<source>Configure</source>
<translation>Konfiguruj</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="256"/>
+ <location filename="../dialogs/populatedialog.cpp" line="259"/>
<source>Populating configuration for this column is invalid or incomplete.</source>
<translation>Konfiguracja zaludniania dla tej kolumny jest niepoprawna lub niekompletna.</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="287"/>
+ <location filename="../dialogs/populatedialog.cpp" line="290"/>
<source>Select database with table to populate</source>
<translation>Wybierz bazę danych z tabelą do zaludnienia</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="288"/>
+ <location filename="../dialogs/populatedialog.cpp" line="291"/>
<source>Select table to populate</source>
<translation>Wybierz tabelę do zaludnienia</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="289"/>
+ <location filename="../dialogs/populatedialog.cpp" line="292"/>
<source>You have to select at least one column.</source>
<translation>Musisz zaznaczyć przynajmniej jedną kolumnę.</translation>
</message>
@@ -4115,32 +4194,32 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć &apos;%1&apos;, aby przer
<translation>Otwórz zawartość wybranej komórki w osobnym edytorze</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="487"/>
+ <location filename="../dataview.cpp" line="532"/>
<source>Total pages available: %1</source>
<translation>Liczba dostępnych stron: %1</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="497"/>
+ <location filename="../dataview.cpp" line="542"/>
<source>Total rows loaded: %1</source>
<translation>Liczba załadowanych wierszy: %1</translation>
</message>
<message>
- <location filename="../dataview.h" line="17"/>
+ <location filename="../dataview.h" line="18"/>
<source>Data view (both grid and form)</source>
<translation>Widok danych (zarówno siatki i formularza)</translation>
</message>
<message>
- <location filename="../dataview.h" line="18"/>
+ <location filename="../dataview.h" line="19"/>
<source>Refresh data</source>
<translation>Odśwież dane</translation>
</message>
<message>
- <location filename="../dataview.h" line="19"/>
+ <location filename="../dataview.h" line="20"/>
<source>Switch to grid view of the data</source>
<translation>Przełącz do widoku siatki danych</translation>
</message>
<message>
- <location filename="../dataview.h" line="20"/>
+ <location filename="../dataview.h" line="21"/>
<source>Switch to form view of the data</source>
<translation>Przełącz do widoku formularza danych</translation>
</message>
@@ -4262,41 +4341,46 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć &apos;%1&apos;, aby przer
<translation>Usuń bieżący wiersz</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="42"/>
+ <location filename="../mainwindow.h" line="43"/>
<source>Main window</source>
<translation>Okno główne</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="43"/>
+ <location filename="../mainwindow.h" line="44"/>
<source>Open SQL editor</source>
<translation>Otwórz edytor SQL</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="44"/>
+ <location filename="../mainwindow.h" line="45"/>
<source>Previous window</source>
<translation>Poprzednie okno</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="45"/>
+ <location filename="../mainwindow.h" line="46"/>
<source>Next window</source>
<translation>Następne okno</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="46"/>
+ <location filename="../mainwindow.h" line="47"/>
<source>Hide status area</source>
<translation>Ukryj pole statusu</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="47"/>
+ <location filename="../mainwindow.h" line="48"/>
<source>Open configuration dialog</source>
<translation>Otwórz okno konfiguracji</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="48"/>
+ <location filename="../mainwindow.h" line="49"/>
<source>Open Debug Console</source>
<translation>Otwórz Konsolę Debugowania</translation>
</message>
<message>
+ <location filename="../mainwindow.h" line="50"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../multieditor/multieditortext.h" line="12"/>
<source>Cell text value editor</source>
<translation>Edytor tekstowy wartości komórki</translation>
@@ -4759,101 +4843,112 @@ znajdź następny</translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="128"/>
+ <source>Select file to save SQL</source>
+ <comment>sql editor</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="129"/>
<source>Load SQL from file</source>
<comment>sql editor</comment>
<translation>Wczytaj SQL z pliku</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="129"/>
+ <location filename="../sqleditor.cpp" line="130"/>
<source>Delete line</source>
<comment>sql editor</comment>
<translation>Usuń linię</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="130"/>
+ <location filename="../sqleditor.cpp" line="131"/>
<source>Move block down</source>
<comment>sql editor</comment>
<translation>Przesuń blok w dół</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="131"/>
+ <location filename="../sqleditor.cpp" line="132"/>
<source>Move block up</source>
<comment>sql editor</comment>
<translation>Przesuń blok w górę</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="132"/>
+ <location filename="../sqleditor.cpp" line="133"/>
<source>Copy block down</source>
<comment>sql editor</comment>
<translation>Skopiuj blok w dół</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="133"/>
+ <location filename="../sqleditor.cpp" line="134"/>
<source>Copy up down</source>
<comment>sql editor</comment>
<translation>Skopiuj blok w górę</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="134"/>
+ <location filename="../sqleditor.cpp" line="135"/>
<source>Find</source>
<comment>sql editor</comment>
<translation>Znajdź</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="135"/>
+ <location filename="../sqleditor.cpp" line="136"/>
<source>Find next</source>
<comment>sql editor</comment>
<translation>Znajdź następny</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="136"/>
+ <location filename="../sqleditor.cpp" line="137"/>
<source>Find previous</source>
<comment>sql editor</comment>
<translation>Znajdź poprzedni</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="137"/>
+ <location filename="../sqleditor.cpp" line="138"/>
<source>Replace</source>
<comment>sql editor</comment>
<translation>Zastąp</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="412"/>
+ <location filename="../sqleditor.cpp" line="252"/>
+ <source>Saved SQL contents to file: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="431"/>
<source>Syntax completion can be used only when a valid database is set for the SQL editor.</source>
<translation>Dopełnianie składni może być użyte tylko wtedy, gdy poprawna baza danych jest ustawiona w edytorze SQL.</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="800"/>
+ <location filename="../sqleditor.cpp" line="819"/>
<source>Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled.</source>
<translation>Zawartość edytora SQL jest ogromna, więc sprawdzanie błędów i podświetlanie istniejących obiektów zostało tymczasowo wyłączone.</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1027"/>
+ <location filename="../sqleditor.cpp" line="1054"/>
<source>Save to file</source>
<translation>Zapisz do pliku</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1036"/>
+ <location filename="../sqleditor.cpp" line="242"/>
<source>Could not open file &apos;%1&apos; for writing: %2</source>
<translation>Nie udało się otworzyć pliku &apos;%1&apos; do zapisu: %2</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1050"/>
+ <location filename="../sqleditor.cpp" line="1066"/>
<source>SQL scripts (*.sql);;All files (*)</source>
<translation>Skrypty SQL (*.sql);;Wszystkie pliki (*)</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1051"/>
+ <location filename="../sqleditor.cpp" line="1067"/>
<source>Open file</source>
<translation>Otwórz plik</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1060"/>
+ <location filename="../sqleditor.cpp" line="1076"/>
<source>Could not open file &apos;%1&apos; for reading: %2</source>
<translation>Nie udało się otworzyć pliku &apos;%1&apos; do odczytu: %2</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1267"/>
+ <location filename="../sqleditor.cpp" line="1285"/>
<source>Reached the end of document. Hit the find again to restart the search.</source>
<translation>Osiągnięto koniec dokumentu. Wciśnij szukanie ponownie, aby zrestartować szukanie.</translation>
</message>
@@ -4913,7 +5008,7 @@ znajdź następny</translation>
<name>SqlQueryModel</name>
<message>
<location filename="../datagrid/sqlquerymodel.cpp" line="63"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="474"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="487"/>
<source>Only one query can be executed simultaneously.</source>
<translation>Tylko jedno zapytanie może być wykonywane w danym momencie.</translation>
</message>
@@ -4938,28 +5033,28 @@ znajdź następny</translation>
<translation>Nie udało się rozpocząć transakcji na bazie danych. Szczegóły: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="415"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="420"/>
<source>An error occurred while commiting the transaction: %1</source>
<translation>Wystąpił błąd podczas zatwierdzania transakcji: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="434"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="445"/>
<source>An error occurred while rolling back the transaction: %1</source>
<translation>Wystąpił błąd podczas wycofywania transakcji: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="560"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="573"/>
<source>Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it.</source>
<translation>Próbowano zatwierdzić komórkę, której nie można edytować (a mimo to została zmodyfikowana i czeka na zatwierdzenie)! To jest błąd. Proszę to zgłosić.</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="586"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="599"/>
<source>An error occurred while commiting the data: %1</source>
<translation>Wystąpił błąd podczas zatwierdzania danych: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1031"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1086"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1045"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1100"/>
<source>Error while executing SQL query on database &apos;%1&apos;: %2</source>
<translation>Błąd podczas wykonywania zapytania SQL na bazie &apos;%1&apos;: %2</translation>
</message>
@@ -4968,17 +5063,17 @@ znajdź następny</translation>
<translation type="obsolete">Błąd podczas wykonywania zapytania SQL: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1083"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1097"/>
<source>Error while loading query results: %1</source>
<translation>Błąd podczas wczytywania wyników zapytania: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Insert multiple rows</source>
<translation>Wstaw wiele wierszy</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Number of rows to insert:</source>
<translation>Liczba wierszy do wstawienia:</translation>
</message>
@@ -5097,12 +5192,12 @@ znajdź następny</translation>
<translation>Status</translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="161"/>
+ <location filename="../statusfield.cpp" line="164"/>
<source>Copy</source>
<translation>Kopiuj</translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="168"/>
+ <location filename="../statusfield.cpp" line="171"/>
<source>Clear</source>
<translation>Wyczyść</translation>
</message>
@@ -5308,219 +5403,219 @@ ale można ich używać.</translation>
<translation>Nazwa tabeli:</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="184"/>
+ <location filename="../windows/tablewindow.ui" line="190"/>
<source>Data</source>
<translation>Dane</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="201"/>
+ <location filename="../windows/tablewindow.ui" line="207"/>
<source>Constraints</source>
<translation>Ograniczenia</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="215"/>
+ <location filename="../windows/tablewindow.ui" line="221"/>
<source>Indexes</source>
<translation>Indeksy</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="244"/>
+ <location filename="../windows/tablewindow.ui" line="250"/>
<source>Triggers</source>
<translation>Wyzwalacze</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="276"/>
+ <location filename="../windows/tablewindow.ui" line="282"/>
<source>DDL</source>
<translation>DDL</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="180"/>
+ <location filename="../windows/tablewindow.cpp" line="191"/>
<source>Export table</source>
<comment>table window</comment>
<translation>Eksportuj tabelę</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="181"/>
+ <location filename="../windows/tablewindow.cpp" line="192"/>
<source>Import data to table</source>
<comment>table window</comment>
<translation>Importuj do tabeli</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="182"/>
+ <location filename="../windows/tablewindow.cpp" line="193"/>
<source>Populate table</source>
<comment>table window</comment>
<translation>Zaludnij tabelę</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="196"/>
+ <location filename="../windows/tablewindow.cpp" line="207"/>
<source>Refresh structure</source>
<comment>table window</comment>
<translation>Odśwież strukturę</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="198"/>
+ <location filename="../windows/tablewindow.cpp" line="209"/>
<source>Commit structure changes</source>
<comment>table window</comment>
<translation>Zatwierdź zmiany w strukturze</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="199"/>
+ <location filename="../windows/tablewindow.cpp" line="210"/>
<source>Rollback structure changes</source>
<comment>table window</comment>
<translation>Wycofaj zmiany w strukturze</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="200"/>
+ <location filename="../windows/tablewindow.cpp" line="211"/>
<source>Add column</source>
<comment>table window</comment>
<translation>Dodaj kolumnę</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="201"/>
+ <location filename="../windows/tablewindow.cpp" line="212"/>
<source>Edit column</source>
<comment>table window</comment>
<translation>Edytuj kolumnę</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="202"/>
- <location filename="../windows/tablewindow.cpp" line="289"/>
+ <location filename="../windows/tablewindow.cpp" line="213"/>
+ <location filename="../windows/tablewindow.cpp" line="300"/>
<source>Delete column</source>
<comment>table window</comment>
<translation>Usuń kolumnę</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="203"/>
+ <location filename="../windows/tablewindow.cpp" line="214"/>
<source>Move column up</source>
<comment>table window</comment>
<translation>Przesuń kolumnę w górę</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="204"/>
+ <location filename="../windows/tablewindow.cpp" line="215"/>
<source>Move column down</source>
<comment>table window</comment>
<translation>Przesuń kolumnę w dół</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="210"/>
+ <location filename="../windows/tablewindow.cpp" line="221"/>
<source>Create similar table</source>
<comment>table window</comment>
<translation>Utwórz podobną tabelę</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="211"/>
+ <location filename="../windows/tablewindow.cpp" line="222"/>
<source>Reset autoincrement value</source>
<comment>table window</comment>
<translation>Wyzeruj wartość autoinkrementacji</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="214"/>
+ <location filename="../windows/tablewindow.cpp" line="225"/>
<source>Add table constraint</source>
<comment>table window</comment>
<translation>Dodaj ograniczenie tabeli</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="215"/>
+ <location filename="../windows/tablewindow.cpp" line="226"/>
<source>Edit table constraint</source>
<comment>table window</comment>
<translation>Edytuj ograniczenie tabeli</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="216"/>
+ <location filename="../windows/tablewindow.cpp" line="227"/>
<source>Delete table constraint</source>
<comment>table window</comment>
<translation>Usuń ograniczenie tabeli</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="217"/>
+ <location filename="../windows/tablewindow.cpp" line="228"/>
<source>Move table constraint up</source>
<comment>table window</comment>
<translation>Przesuń ograniczenie tabeli w górę</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="218"/>
+ <location filename="../windows/tablewindow.cpp" line="229"/>
<source>Move table constraint down</source>
<comment>table window</comment>
<translation>Przesuń ograniczenie tabeli w dół</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="220"/>
+ <location filename="../windows/tablewindow.cpp" line="231"/>
<source>Add table primary key</source>
<comment>table window</comment>
<translation>Dodaj klucz główny tabeli</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="221"/>
+ <location filename="../windows/tablewindow.cpp" line="232"/>
<source>Add table foreign key</source>
<comment>table window</comment>
<translation>Dodaj klucz obcy tabeli</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="222"/>
+ <location filename="../windows/tablewindow.cpp" line="233"/>
<source>Add table unique constraint</source>
<comment>table window</comment>
<translation>Dodaj ograniczenie unikalnych wartości tabeli</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="223"/>
+ <location filename="../windows/tablewindow.cpp" line="234"/>
<source>Add table check constraint</source>
<comment>table window</comment>
<translation>Dodaj ograniczenie warunkiem tabeli</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="241"/>
+ <location filename="../windows/tablewindow.cpp" line="252"/>
<source>Refresh index list</source>
<comment>table window</comment>
<translation>Odśwież listę indeksów</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="243"/>
+ <location filename="../windows/tablewindow.cpp" line="254"/>
<source>Create index</source>
<comment>table window</comment>
<translation>Utwórz indeks</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="244"/>
+ <location filename="../windows/tablewindow.cpp" line="255"/>
<source>Edit index</source>
<comment>table window</comment>
<translation>Edytuj indeks</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="245"/>
+ <location filename="../windows/tablewindow.cpp" line="256"/>
<source>Delete index</source>
<comment>table window</comment>
<translation>Usuń indeks</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="251"/>
+ <location filename="../windows/tablewindow.cpp" line="262"/>
<source>Refresh trigger list</source>
<comment>table window</comment>
<translation>Odśwież listę wyzwalaczy</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="253"/>
+ <location filename="../windows/tablewindow.cpp" line="264"/>
<source>Create trigger</source>
<comment>table window</comment>
<translation>Utwórz wyzwalacz</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="254"/>
+ <location filename="../windows/tablewindow.cpp" line="265"/>
<source>Edit trigger</source>
<comment>table window</comment>
<translation>Edytuj wyzwalacz</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="255"/>
+ <location filename="../windows/tablewindow.cpp" line="266"/>
<source>Delete trigger</source>
<comment>table window</comment>
<translation>Usuń wyzwalacz</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="288"/>
+ <location filename="../windows/tablewindow.cpp" line="299"/>
<source>Are you sure you want to delete column &apos;%1&apos;?</source>
<comment>table window</comment>
<translation>Czy na pewno chcesz usunąć kolumnę &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="316"/>
+ <location filename="../windows/tablewindow.cpp" line="327"/>
<source>Following problems will take place while modifying the table.
Would you like to proceed?</source>
<comment>table window</comment>
@@ -5528,194 +5623,212 @@ Would you like to proceed?</source>
Czy chcesz kontynuować?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="318"/>
+ <location filename="../windows/tablewindow.cpp" line="329"/>
<source>Table modification</source>
<comment>table window</comment>
<translation>Modyfikacja tabeli</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="456"/>
+ <location filename="../windows/tablewindow.cpp" line="467"/>
<source>Could not load data for table %1. Error details: %2</source>
<translation>Nie udało się załadować danych dla tabeli %1. Szczegóły błędu: %2</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="569"/>
+ <location filename="../windows/tablewindow.cpp" line="580"/>
<source>Could not process the %1 table correctly. Unable to open a table window.</source>
<translation>Nie udało się przetworzyć poprawnie tabeli %1. Nie można otworzyć okna tabeli.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="637"/>
+ <location filename="../windows/tablewindow.cpp" line="635"/>
+ <source>Could not restore window %1, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="641"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="648"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="657"/>
+ <source>Could not restore window &apos;%1&apos;&apos;, because the table %2 doesn&apos;t exist in the database %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>Could not restore window, because database %1 could not be resolved.</source>
- <translation>Nie można przywrócić okna, ponieważ nie znaleziono bazy danych %1.</translation>
+ <translation type="vanished">Nie można przywrócić okna, ponieważ nie znaleziono bazy danych %1.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="646"/>
<source>Could not restore window, because the table %1 doesn&apos;t exist in the database %2.</source>
- <translation>Nie można przywrócić okna, ponieważ tabela %1 już nie jestnieje w bazie danych %2.</translation>
+ <translation type="vanished">Nie można przywrócić okna, ponieważ tabela %1 już nie jestnieje w bazie danych %2.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="671"/>
- <location filename="../windows/tablewindow.cpp" line="673"/>
+ <location filename="../windows/tablewindow.cpp" line="682"/>
+ <location filename="../windows/tablewindow.cpp" line="684"/>
<source>New table %1</source>
<translation>Nowa tabela %1</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="824"/>
+ <location filename="../windows/tablewindow.cpp" line="835"/>
<source>Could not commit table structure. Error message: %1</source>
<comment>table window</comment>
<translation>Nie udało się zatwierdzić struktury tabeli. Treść błędu: %1</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Reset autoincrement</source>
<translation>Wyzeruj autoinkrementację</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation>Czy na pewno chcesz wyzerować wartość autoinkrementacji dla tabeli &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="853"/>
+ <location filename="../windows/tablewindow.cpp" line="864"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation>Wystąpił błąd podczas próby wyzerowania wartości autoinkrementacji dla tabeli &apos;%1&apos;: %2</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="855"/>
+ <location filename="../windows/tablewindow.cpp" line="866"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation>Wartość autoinkrementacji dla tabeli &apos;%1&apos; została pomyślnie wyzerowana.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>Empty name</source>
<translation>Pusta nazwa</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>A blank name for the table is allowed in SQLite, but it is not recommended.
Are you sure you want to create a table with blank name?</source>
<translation>Pusta nazwa dla tabeli jest dozwolona w SQLite, ale nie jest zalecana.
Czy na pewno chcesz utworzyć tabelę o pustej nazwie?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="944"/>
+ <location filename="../windows/tablewindow.cpp" line="955"/>
<source>Cannot create a table without at least one column.</source>
<translation>Nie można utworzyć tabeli bez przynajmniej jednej kolumny.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="970"/>
+ <location filename="../windows/tablewindow.cpp" line="981"/>
<source>Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key.</source>
<translation>Nie można utworzyć tabeli %1, jeśli nie ma zdefiniowanego klucza głównego. Albo udznacz %2, albo zdefiniuj klucz główny.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="977"/>
+ <location filename="../windows/tablewindow.cpp" line="988"/>
<source>Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key.</source>
<translation>Nie można użyć autoinkrementacji dla klucza głównego, kiedy klauzula %1 jest użyta. Albo odnacz %2, albo autonkrementację w kluczu głównym.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1114"/>
+ <location filename="../windows/tablewindow.cpp" line="1125"/>
<source>Are you sure you want to delete table constraint &apos;%1&apos;?</source>
<comment>table window</comment>
<translation>Czy na pewno chcesz usunąć ograniczenie tabeli &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1115"/>
+ <location filename="../windows/tablewindow.cpp" line="1126"/>
<source>Delete constraint</source>
<comment>table window</comment>
<translation>Usuń ograniczenie</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1169"/>
+ <location filename="../windows/tablewindow.cpp" line="1180"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Nie można wyeksportować, ponieważ żadna wtyczka eksportu nie została załadowana.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1182"/>
+ <location filename="../windows/tablewindow.cpp" line="1193"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation>Nie można zaimportować, ponieważ żadna wtyczka importu nie została załadowana.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1214"/>
+ <location filename="../windows/tablewindow.cpp" line="1225"/>
<source>Uncommited changes</source>
<translation>Niezatwierdzone dane</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1215"/>
+ <location filename="../windows/tablewindow.cpp" line="1226"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation>Zmiany w strukturze nie zostały zatwierdzone. Nie można przeglądać, ani edytować danych, dopóki struktura tabeli nie zostanie ustalona.
Czy chcesz zatwierdzić strukturę, czy jednak chcesz wrócić do karty struktury?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Go back to structure tab</source>
<translation>Wróć do karty struktury</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Commit modifications and browse data.</source>
<translation>Zatwierdź modyfikacje i przeglądaj dane.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1368"/>
+ <location filename="../windows/tablewindow.cpp" line="1379"/>
<source>Name</source>
<comment>table window indexes</comment>
<translation>Nazwa</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1369"/>
+ <location filename="../windows/tablewindow.cpp" line="1380"/>
<source>Unique</source>
<comment>table window indexes</comment>
<translation>Wartości unikalne</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1370"/>
+ <location filename="../windows/tablewindow.cpp" line="1381"/>
<source>Columns</source>
<comment>table window indexes</comment>
<translation>Kolumny</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1371"/>
+ <location filename="../windows/tablewindow.cpp" line="1382"/>
<source>Partial index condition</source>
<comment>table window indexes</comment>
<translation>Warunek indeksu częściowego:</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1425"/>
+ <location filename="../windows/tablewindow.cpp" line="1436"/>
<source>Name</source>
<comment>table window triggers</comment>
<translation>Nazwa</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1426"/>
+ <location filename="../windows/tablewindow.cpp" line="1437"/>
<source>Event</source>
<comment>table window triggers</comment>
<translation>Zdarzenie</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1427"/>
+ <location filename="../windows/tablewindow.cpp" line="1438"/>
<source>Condition</source>
<comment>table window triggers</comment>
<translation>Warunek</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1428"/>
+ <location filename="../windows/tablewindow.cpp" line="1439"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation>Szczegóły</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1517"/>
+ <location filename="../windows/tablewindow.cpp" line="1528"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation>Okno tabeli &quot;%1&quot; ma niezatwierdzone modyfikacje struktury i danych.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1519"/>
+ <location filename="../windows/tablewindow.cpp" line="1530"/>
<source>Table window &quot;%1&quot; has uncommited data.</source>
<translation>Okno tabeli &quot;%1&quot; ma niezatwierdzone dane.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1521"/>
+ <location filename="../windows/tablewindow.cpp" line="1532"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications.</source>
<translation>Okno tabeli &quot;%1&quot; ma niezatwierdzone modyfikacje struktury.</translation>
</message>
@@ -5887,176 +6000,194 @@ Czy chcesz zatwierdzić strukturę, czy jednak chcesz wrócić do karty struktur
<translation>DDL</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="115"/>
<source>Could not restore window, because database %1 could not be resolved.</source>
- <translation>Nie można przywrócić okna, ponieważ nie znaleziono bazy danych %1.</translation>
+ <translation type="vanished">Nie można przywrócić okna, ponieważ nie znaleziono bazy danych %1.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="121"/>
<source>Could not restore window, because database %1 could not be open.</source>
- <translation>Nie można przywrócić okna, ponieważ nie udało się otworzyć bazy danych %1.</translation>
+ <translation type="vanished">Nie można przywrócić okna, ponieważ nie udało się otworzyć bazy danych %1.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="130"/>
<source>Could not restore window, because the view %1 doesn&apos;t exist in the database %2.</source>
- <translation>Nie można przywrócić okna, ponieważ widok %1 już nie jestnieje w bazie danych %2.</translation>
+ <translation type="vanished">Nie można przywrócić okna, ponieważ widok %1 już nie jestnieje w bazie danych %2.</translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="103"/>
+ <location filename="../windows/viewwindow.cpp" line="109"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or view was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="116"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="122"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be open.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="131"/>
+ <source>Could not restore window &apos;%1&apos;, because the view %2 doesn&apos;t exist in the database %3.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="155"/>
- <location filename="../windows/viewwindow.cpp" line="157"/>
+ <location filename="../windows/viewwindow.cpp" line="156"/>
+ <location filename="../windows/viewwindow.cpp" line="158"/>
<source>New view %1</source>
<translation>Nowy widok %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="275"/>
+ <location filename="../windows/viewwindow.cpp" line="283"/>
<source>Refresh the view</source>
<comment>view window</comment>
<translation>Odśwież widok</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="277"/>
+ <location filename="../windows/viewwindow.cpp" line="285"/>
<source>Commit the view changes</source>
<comment>view window</comment>
<translation>Zatwierdź zmiany w widoku</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="278"/>
+ <location filename="../windows/viewwindow.cpp" line="286"/>
<source>Rollback the view changes</source>
<comment>view window</comment>
<translation>Wycofaj zmiany w widoku</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="285"/>
+ <location filename="../windows/viewwindow.cpp" line="293"/>
<source>Refresh trigger list</source>
<comment>view window</comment>
<translation>Odśwież listę wyzwalaczy</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="287"/>
+ <location filename="../windows/viewwindow.cpp" line="295"/>
<source>Create new trigger</source>
<comment>view window</comment>
<translation>Utwórz nowy wyzwalacz</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="288"/>
+ <location filename="../windows/viewwindow.cpp" line="296"/>
<source>Edit selected trigger</source>
<comment>view window</comment>
<translation>Edytuj wybrany wyzwalacz</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="289"/>
+ <location filename="../windows/viewwindow.cpp" line="297"/>
<source>Delete selected trigger</source>
<comment>view window</comment>
<translation>Usuń wybrany wyzwalacz</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="310"/>
+ <location filename="../windows/viewwindow.cpp" line="318"/>
<source>View window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation>Okno widoku &quot;%1&quot; ma niezatwierdzone modyfikacje struktury i danych.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="312"/>
+ <location filename="../windows/viewwindow.cpp" line="320"/>
<source>View window &quot;%1&quot; has uncommited data.</source>
<translation>Okno widoku &quot;%1&quot; ma niezatwierdzone dane.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="314"/>
+ <location filename="../windows/viewwindow.cpp" line="322"/>
<source>View window &quot;%1&quot; has uncommited structure modifications.</source>
<translation>Okno widoku &quot;%1&quot; ma niezatwierdzone modyfikacje struktury.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="455"/>
+ <location filename="../windows/viewwindow.cpp" line="463"/>
<source>Could not load data for view %1. Error details: %2</source>
<translation>Nie udało się załadować danych dla widoku %1. Szczegóły błędu: %2</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="466"/>
+ <location filename="../windows/viewwindow.cpp" line="474"/>
<source>Uncommited changes</source>
<translation>Niezatwierdzone dane</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="467"/>
+ <location filename="../windows/viewwindow.cpp" line="475"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation>Zmiany w strukturze nie zostały zatwierdzone. Nie można przeglądać, ani edytować danych, dopóki struktura widoku nie zostanie ustalona.
Czy chcesz zatwierdzić strukturę, czy jednak chcesz wrócić do karty struktury?</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Go back to structure tab</source>
<translation>Wróć do karty struktury</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Commit modifications and browse data.</source>
<translation>Zatwierdź modyfikacje i przeglądaj dane.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="528"/>
+ <location filename="../windows/viewwindow.cpp" line="536"/>
<source>Could not commit view changes. Error message: %1</source>
<comment>view window</comment>
<translation>Nie udało się zatwierdzić widoku. Treść błędu: %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="606"/>
+ <location filename="../windows/viewwindow.cpp" line="614"/>
<source>Name</source>
<comment>view window triggers</comment>
<translation>Nazwa</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="607"/>
+ <location filename="../windows/viewwindow.cpp" line="615"/>
<source>Instead of</source>
<comment>view window triggers</comment>
<translation>Zamiast</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="608"/>
+ <location filename="../windows/viewwindow.cpp" line="616"/>
<source>Condition</source>
<comment>view window triggers</comment>
<translation>Warunek</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="609"/>
+ <location filename="../windows/viewwindow.cpp" line="617"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation>Szczegóły</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="649"/>
+ <location filename="../windows/viewwindow.cpp" line="657"/>
<source>Could not process the %1 view correctly. Unable to open a view window.</source>
<translation>Nie udało się przetworzyć poprawnie widoku %1. Nie można otworzyć okna widoku.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>Empty name</source>
<translation>Pusta nazwa</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>A blank name for the view is allowed in SQLite, but it is not recommended.
Are you sure you want to create a view with blank name?</source>
<translation>Pusta nazwa dla widoku jest dozwolona w SQLite, ale nie jest zalecana.
Czy na pewno chcesz utworzyć widok o pustej nazwie?</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="699"/>
+ <location filename="../windows/viewwindow.cpp" line="707"/>
<source>The SELECT statement could not be parsed. Please correct the query and retry.
Details: %1</source>
<translation>Zapytanie SELECT nie mogło być poprawnie przeanalizowane. Proszę poprawić zapytanie i spróbować ponownie.
Szczegóły: %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="707"/>
+ <location filename="../windows/viewwindow.cpp" line="715"/>
<source>The view could not be modified due to internal SQLiteStudio error. Please report this!</source>
<translation>Widok nie mógł być zmodyfikowany w związku z wewnętrznym błędem SQLiteStudio. Proszę to zgłosić!</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="733"/>
+ <location filename="../windows/viewwindow.cpp" line="741"/>
<source>The view code could not be parsed properly for execution. This is a SQLiteStudio&apos;s bug. Please report it.</source>
<translation>Kod widok nie mógł być poprawnie przeanalizowany. To jest błąd SQLiteStudio Proszę to zgłosić!</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="746"/>
+ <location filename="../windows/viewwindow.cpp" line="754"/>
<source>Following problems will take place while modifying the view.
Would you like to proceed?</source>
<comment>view window</comment>
@@ -6064,7 +6195,7 @@ Would you like to proceed?</source>
Czy chcesz kontynuować?</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="748"/>
+ <location filename="../windows/viewwindow.cpp" line="756"/>
<source>View modification</source>
<comment>view window</comment>
<translation>Modyfikacja widoku</translation>
@@ -6073,7 +6204,7 @@ Czy chcesz kontynuować?</translation>
<context>
<name>WidgetCover</name>
<message>
- <location filename="../common/widgetcover.cpp" line="198"/>
+ <location filename="../common/widgetcover.cpp" line="234"/>
<source>Interrupt</source>
<translation>Przerwij</translation>
</message>
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.ts
index 450cfbf..491b6ea 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.ts
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.ts
@@ -353,32 +353,32 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="110"/>
+ <location filename="../windows/collationseditor.ui" line="194"/>
<source>Collation name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="120"/>
+ <location filename="../windows/collationseditor.ui" line="204"/>
<source>Implementation language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="152"/>
+ <location filename="../windows/collationseditor.ui" line="132"/>
<source>Databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="158"/>
+ <location filename="../windows/collationseditor.ui" line="138"/>
<source>Register in all databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="165"/>
+ <location filename="../windows/collationseditor.ui" line="145"/>
<source>Register in following databases:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="186"/>
+ <location filename="../windows/collationseditor.ui" line="166"/>
<source>Implementation code:</source>
<translation type="unfinished"></translation>
</message>
@@ -888,7 +888,7 @@ but it&apos;s okay to use it.</source>
<name>ConfigDialog</name>
<message>
<location filename="../dialogs/configdialog.ui" line="14"/>
- <location filename="../dialogs/configdialog.ui" line="1216"/>
+ <location filename="../dialogs/configdialog.ui" line="1293"/>
<source>Configuration</source>
<translation type="unfinished"></translation>
</message>
@@ -1065,406 +1065,441 @@ but it&apos;s okay to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="656"/>
- <location filename="../dialogs/configdialog.ui" line="1206"/>
+ <location filename="../dialogs/configdialog.ui" line="671"/>
+ <location filename="../dialogs/configdialog.ui" line="1283"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="662"/>
+ <location filename="../dialogs/configdialog.ui" line="677"/>
<source>Changing language requires application restart to take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="679"/>
+ <location filename="../dialogs/configdialog.ui" line="694"/>
+ <source>Compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="700"/>
+ <source>&lt;p&gt;Compact layout reduces all margins and spacing on the UI to minimum, making space for displaying more data. It makes the interface a little bit less aesthetic, but allows to display more data at once.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="703"/>
+ <source>Use compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="709"/>
+ <source>General.CompactLayout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="719"/>
<source>Database list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="685"/>
+ <location filename="../dialogs/configdialog.ui" line="725"/>
<source>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="688"/>
+ <location filename="../dialogs/configdialog.ui" line="728"/>
<source>Sort table columns alphabetically</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="698"/>
+ <location filename="../dialogs/configdialog.ui" line="738"/>
<source>Expand tables node when connected to a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="708"/>
+ <location filename="../dialogs/configdialog.ui" line="748"/>
<source>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="711"/>
+ <location filename="../dialogs/configdialog.ui" line="751"/>
<source>Display additional labels on the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="726"/>
+ <location filename="../dialogs/configdialog.ui" line="766"/>
<source>For regular tables labels will show number of columns, indexes and triggers for each of tables.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="729"/>
+ <location filename="../dialogs/configdialog.ui" line="769"/>
<source>Display labels for regular tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="739"/>
+ <location filename="../dialogs/configdialog.ui" line="779"/>
<source>Virtual tables will be marked with a &apos;virtual&apos; label.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="742"/>
+ <location filename="../dialogs/configdialog.ui" line="782"/>
<source>Display labels for virtual tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="755"/>
+ <location filename="../dialogs/configdialog.ui" line="795"/>
<source>Expand views node when connected to a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="765"/>
+ <location filename="../dialogs/configdialog.ui" line="805"/>
<source>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="768"/>
+ <location filename="../dialogs/configdialog.ui" line="808"/>
<source>Sort objects (tables, indexes, triggers and views) alphabetically</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="778"/>
+ <location filename="../dialogs/configdialog.ui" line="818"/>
<source>Display system tables and indexes on the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="791"/>
+ <location filename="../dialogs/configdialog.ui" line="831"/>
<source>Table windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="797"/>
+ <location filename="../dialogs/configdialog.ui" line="837"/>
<source>When enabled, Table Windows will show up with the data tab, instead of the structure tab.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="800"/>
+ <location filename="../dialogs/configdialog.ui" line="840"/>
<source>Open Table Windows with the data tab for start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="813"/>
+ <location filename="../dialogs/configdialog.ui" line="853"/>
<source>View windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="819"/>
+ <location filename="../dialogs/configdialog.ui" line="859"/>
<source>When enabled, View Windows will show up with the data tab, instead of the structure tab.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="822"/>
+ <location filename="../dialogs/configdialog.ui" line="862"/>
<source>Open View Windows with the data tab for start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="933"/>
+ <location filename="../dialogs/configdialog.ui" line="875"/>
+ <source>Main window dock areas</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="881"/>
+ <source>Left and right areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="901"/>
+ <source>Top and bottom areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="1010"/>
<source>Hide built-in plugins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="962"/>
+ <location filename="../dialogs/configdialog.ui" line="1039"/>
<source>Current style:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="979"/>
+ <location filename="../dialogs/configdialog.ui" line="1056"/>
<source>Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="989"/>
+ <location filename="../dialogs/configdialog.ui" line="1066"/>
<source>Enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1162"/>
+ <location filename="../dialogs/configdialog.ui" line="1239"/>
<source>Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1211"/>
+ <location filename="../dialogs/configdialog.ui" line="1288"/>
<source>Active formatter plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1249"/>
+ <location filename="../dialogs/configdialog.ui" line="1326"/>
<source>SQL editor font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1265"/>
+ <location filename="../dialogs/configdialog.ui" line="1342"/>
<source>Database list font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1281"/>
+ <location filename="../dialogs/configdialog.ui" line="1358"/>
<source>Database list additional label font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1297"/>
+ <location filename="../dialogs/configdialog.ui" line="1374"/>
<source>Data view font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1313"/>
+ <location filename="../dialogs/configdialog.ui" line="1390"/>
<source>Status field font</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1371"/>
+ <location filename="../dialogs/configdialog.ui" line="1448"/>
<source>SQL editor colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1377"/>
+ <location filename="../dialogs/configdialog.ui" line="1454"/>
<source>Current line background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1384"/>
+ <location filename="../dialogs/configdialog.ui" line="1461"/>
<source>&lt;p&gt;SQL strings are enclosed with single quote characters.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1387"/>
+ <location filename="../dialogs/configdialog.ui" line="1464"/>
<source>String foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1490"/>
+ <location filename="../dialogs/configdialog.ui" line="1567"/>
<source>&lt;p&gt;Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;:param_name&lt;/li&gt;&lt;li&gt;$param_name&lt;/li&gt;&lt;li&gt;@param_name&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1493"/>
+ <location filename="../dialogs/configdialog.ui" line="1570"/>
<source>Bind parameter foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1516"/>
+ <location filename="../dialogs/configdialog.ui" line="1593"/>
<source>Highlighted parenthesis background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1523"/>
+ <location filename="../dialogs/configdialog.ui" line="1600"/>
<source>&lt;p&gt;BLOB values are binary values represented as hexadecimal numbers, like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1526"/>
+ <location filename="../dialogs/configdialog.ui" line="1603"/>
<source>BLOB value foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1533"/>
+ <location filename="../dialogs/configdialog.ui" line="1610"/>
<source>Regular foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1540"/>
+ <location filename="../dialogs/configdialog.ui" line="1617"/>
<source>Line numbers area background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1563"/>
+ <location filename="../dialogs/configdialog.ui" line="1640"/>
<source>Keyword foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1570"/>
+ <location filename="../dialogs/configdialog.ui" line="1647"/>
<source>Number foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1577"/>
+ <location filename="../dialogs/configdialog.ui" line="1654"/>
<source>Comment foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1616"/>
+ <location filename="../dialogs/configdialog.ui" line="1693"/>
<source>&lt;p&gt;Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1619"/>
+ <location filename="../dialogs/configdialog.ui" line="1696"/>
<source>Valid objects foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1645"/>
+ <location filename="../dialogs/configdialog.ui" line="1722"/>
<source>Data view colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1651"/>
+ <location filename="../dialogs/configdialog.ui" line="1728"/>
<source>&lt;p&gt;Any data changes will be outlined with this color, until they&apos;re commited to the database.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1654"/>
+ <location filename="../dialogs/configdialog.ui" line="1731"/>
<source>Uncommited data outline color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1677"/>
+ <location filename="../dialogs/configdialog.ui" line="1754"/>
<source>&lt;p&gt;In case of error while commiting data changes, the problematic cell will be outlined with this color.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1680"/>
+ <location filename="../dialogs/configdialog.ui" line="1757"/>
<source>Commit error outline color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1703"/>
+ <location filename="../dialogs/configdialog.ui" line="1780"/>
<source>NULL value foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1726"/>
+ <location filename="../dialogs/configdialog.ui" line="1803"/>
<source>Deleted row background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1752"/>
+ <location filename="../dialogs/configdialog.ui" line="1829"/>
<source>Database list colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1758"/>
+ <location filename="../dialogs/configdialog.ui" line="1835"/>
<source>&lt;p&gt;Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1761"/>
+ <location filename="../dialogs/configdialog.ui" line="1838"/>
<source>Additional labels foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1787"/>
+ <location filename="../dialogs/configdialog.ui" line="1864"/>
<source>Status field colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1793"/>
+ <location filename="../dialogs/configdialog.ui" line="1870"/>
<source>Information message foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1816"/>
+ <location filename="../dialogs/configdialog.ui" line="1893"/>
<source>Warning message foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1839"/>
+ <location filename="../dialogs/configdialog.ui" line="1916"/>
<source>Error message foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="765"/>
+ <location filename="../dialogs/configdialog.cpp" line="785"/>
<source>Description:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="766"/>
+ <location filename="../dialogs/configdialog.cpp" line="786"/>
<source>Category:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="767"/>
+ <location filename="../dialogs/configdialog.cpp" line="787"/>
<source>Version:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="768"/>
+ <location filename="../dialogs/configdialog.cpp" line="788"/>
<source>Author:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="770"/>
+ <location filename="../dialogs/configdialog.cpp" line="790"/>
<source>Internal name:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="771"/>
+ <location filename="../dialogs/configdialog.cpp" line="791"/>
<source>Dependencies:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="772"/>
+ <location filename="../dialogs/configdialog.cpp" line="792"/>
<source>Conflicts:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="776"/>
+ <location filename="../dialogs/configdialog.cpp" line="796"/>
<source>Plugin details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1177"/>
+ <location filename="../dialogs/configdialog.cpp" line="1202"/>
<source>Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1241"/>
+ <location filename="../dialogs/configdialog.cpp" line="1266"/>
<source>%1 (built-in)</source>
<comment>plugins manager in configuration dialog</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1254"/>
+ <location filename="../dialogs/configdialog.cpp" line="1279"/>
<source>Details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1266"/>
+ <location filename="../dialogs/configdialog.cpp" line="1291"/>
<source>No plugins in this category.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1362"/>
+ <location filename="../dialogs/configdialog.cpp" line="1387"/>
<source>Add new data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1366"/>
+ <location filename="../dialogs/configdialog.cpp" line="1391"/>
<source>Rename selected data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1370"/>
+ <location filename="../dialogs/configdialog.cpp" line="1395"/>
<source>Delete selected data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1374"/>
+ <location filename="../dialogs/configdialog.cpp" line="1399"/>
<source>Help for configuring data type editors</source>
<translation type="unfinished"></translation>
</message>
@@ -1606,121 +1641,129 @@ but it&apos;s okay to use it.</source>
</message>
</context>
<context>
+ <name>CssDebugDialog</name>
+ <message>
+ <location filename="../dialogs/cssdebugdialog.ui" line="14"/>
+ <source>SQLiteStudio CSS console</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DataView</name>
<message>
- <location filename="../dataview.cpp" line="95"/>
+ <location filename="../dataview.cpp" line="98"/>
<source>Filter data</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="104"/>
+ <location filename="../dataview.cpp" line="107"/>
<source>Grid view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="105"/>
+ <location filename="../dataview.cpp" line="108"/>
<source>Form view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="148"/>
+ <location filename="../dataview.cpp" line="165"/>
<source>Refresh table data</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="162"/>
+ <location filename="../dataview.cpp" line="179"/>
<source>First page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="163"/>
+ <location filename="../dataview.cpp" line="180"/>
<source>Previous page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="165"/>
+ <location filename="../dataview.cpp" line="182"/>
<source>Next page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="166"/>
+ <location filename="../dataview.cpp" line="183"/>
<source>Last page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="171"/>
+ <location filename="../dataview.cpp" line="188"/>
<source>Apply filter</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="186"/>
+ <location filename="../dataview.cpp" line="203"/>
<source>Commit changes for selected cells</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="187"/>
+ <location filename="../dataview.cpp" line="204"/>
<source>Rollback changes for selected cells</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="188"/>
+ <location filename="../dataview.cpp" line="205"/>
<source>Show grid view of results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="189"/>
+ <location filename="../dataview.cpp" line="206"/>
<source>Show form view of results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="258"/>
+ <location filename="../dataview.cpp" line="275"/>
<source>Filter by text</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="259"/>
+ <location filename="../dataview.cpp" line="276"/>
<source>Filter by the Regular Expression</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="260"/>
+ <location filename="../dataview.cpp" line="277"/>
<source>Filter by SQL expression</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="291"/>
+ <location filename="../dataview.cpp" line="308"/>
<source>Tabs on top</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="292"/>
+ <location filename="../dataview.cpp" line="309"/>
<source>Tabs at bottom</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="510"/>
+ <location filename="../dataview.cpp" line="555"/>
<source>Total number of rows is being counted.
Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="521"/>
+ <location filename="../dataview.cpp" line="566"/>
<source>Row: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1898,37 +1941,37 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="488"/>
+ <location filename="../dialogs/dbdialog.cpp" line="483"/>
<source>Enter an unique database name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="497"/>
+ <location filename="../dialogs/dbdialog.cpp" line="492"/>
<source>This name is already in use. Please enter unique name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="505"/>
+ <location filename="../dialogs/dbdialog.cpp" line="500"/>
<source>Enter a database file path.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="512"/>
+ <location filename="../dialogs/dbdialog.cpp" line="507"/>
<source>This database is already on the list under name: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="528"/>
+ <location filename="../dialogs/dbdialog.cpp" line="523"/>
<source>Select a database type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="585"/>
+ <location filename="../dialogs/dbdialog.cpp" line="580"/>
<source>Auto-generated</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="590"/>
+ <location filename="../dialogs/dbdialog.cpp" line="585"/>
<source>Type the name</source>
<translation type="unfinished"></translation>
</message>
@@ -1989,327 +2032,348 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.ui" line="67"/>
+ <location filename="../dbtree/dbtree.ui" line="73"/>
<source>Filter by name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="99"/>
+ <location filename="../dbtree/dbtree.cpp" line="102"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="100"/>
+ <location filename="../dbtree/dbtree.cpp" line="103"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="101"/>
+ <location filename="../dbtree/dbtree.cpp" line="104"/>
<source>Select all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="102"/>
+ <location filename="../dbtree/dbtree.cpp" line="105"/>
<source>Create a group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="103"/>
+ <location filename="../dbtree/dbtree.cpp" line="106"/>
<source>Delete the group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="104"/>
+ <location filename="../dbtree/dbtree.cpp" line="107"/>
<source>Rename the group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="105"/>
+ <location filename="../dbtree/dbtree.cpp" line="108"/>
<source>Add a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="106"/>
+ <location filename="../dbtree/dbtree.cpp" line="109"/>
<source>Edit the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="107"/>
+ <location filename="../dbtree/dbtree.cpp" line="110"/>
<source>Remove the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="108"/>
+ <location filename="../dbtree/dbtree.cpp" line="111"/>
<source>Connect to the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="109"/>
+ <location filename="../dbtree/dbtree.cpp" line="112"/>
<source>Disconnect from the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="110"/>
+ <location filename="../dbtree/dbtree.cpp" line="113"/>
<source>Import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="111"/>
+ <location filename="../dbtree/dbtree.cpp" line="114"/>
<source>Export the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="112"/>
+ <location filename="../dbtree/dbtree.cpp" line="115"/>
<source>Convert database type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="113"/>
+ <location filename="../dbtree/dbtree.cpp" line="116"/>
<source>Vacuum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="114"/>
+ <location filename="../dbtree/dbtree.cpp" line="117"/>
<source>Integrity check</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="115"/>
+ <location filename="../dbtree/dbtree.cpp" line="118"/>
<source>Create a table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="116"/>
+ <location filename="../dbtree/dbtree.cpp" line="119"/>
<source>Edit the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="117"/>
+ <location filename="../dbtree/dbtree.cpp" line="120"/>
<source>Delete the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="118"/>
+ <location filename="../dbtree/dbtree.cpp" line="121"/>
<source>Export the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="119"/>
+ <location filename="../dbtree/dbtree.cpp" line="122"/>
<source>Import into the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="120"/>
+ <location filename="../dbtree/dbtree.cpp" line="123"/>
<source>Populate table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="121"/>
+ <location filename="../dbtree/dbtree.cpp" line="124"/>
<source>Create similar table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="122"/>
+ <location filename="../dbtree/dbtree.cpp" line="125"/>
<source>Reset autoincrement sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="123"/>
+ <location filename="../dbtree/dbtree.cpp" line="126"/>
<source>Create an index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="124"/>
+ <location filename="../dbtree/dbtree.cpp" line="127"/>
<source>Edit the index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="125"/>
+ <location filename="../dbtree/dbtree.cpp" line="128"/>
<source>Delete the index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="126"/>
+ <location filename="../dbtree/dbtree.cpp" line="129"/>
<source>Create a trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="127"/>
+ <location filename="../dbtree/dbtree.cpp" line="130"/>
<source>Edit the trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="128"/>
+ <location filename="../dbtree/dbtree.cpp" line="131"/>
<source>Delete the trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="129"/>
+ <location filename="../dbtree/dbtree.cpp" line="132"/>
<source>Create a view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="130"/>
+ <location filename="../dbtree/dbtree.cpp" line="133"/>
<source>Edit the view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="131"/>
+ <location filename="../dbtree/dbtree.cpp" line="134"/>
<source>Delete the view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="132"/>
+ <location filename="../dbtree/dbtree.cpp" line="135"/>
<source>Add a column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="133"/>
+ <location filename="../dbtree/dbtree.cpp" line="136"/>
<source>Edit the column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="134"/>
+ <location filename="../dbtree/dbtree.cpp" line="137"/>
<source>Delete the column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="135"/>
+ <location filename="../dbtree/dbtree.cpp" line="138"/>
<source>Delete selected items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="136"/>
+ <location filename="../dbtree/dbtree.cpp" line="139"/>
<source>Clear filter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="137"/>
+ <location filename="../dbtree/dbtree.cpp" line="140"/>
<source>Refresh all database schemas</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="138"/>
+ <location filename="../dbtree/dbtree.cpp" line="141"/>
<source>Refresh selected database schema</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="308"/>
- <location filename="../dbtree/dbtree.cpp" line="313"/>
+ <location filename="../dbtree/dbtree.cpp" line="142"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Erase table data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="312"/>
+ <location filename="../dbtree/dbtree.cpp" line="317"/>
<source>Database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="323"/>
+ <location filename="../dbtree/dbtree.cpp" line="327"/>
<source>Grouping</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Create group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
<source>Group name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Entry with name %1 already exists in group %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="953"/>
+ <location filename="../dbtree/dbtree.cpp" line="958"/>
<source>Delete group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="954"/>
+ <location filename="../dbtree/dbtree.cpp" line="959"/>
<source>Are you sure you want to delete group %1?
All objects from this group will be moved to parent group.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Delete database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Are you sure you want to delete database &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1050"/>
- <location filename="../dbtree/dbtree.cpp" line="1260"/>
+ <location filename="../dbtree/dbtree.cpp" line="1055"/>
+ <location filename="../dbtree/dbtree.cpp" line="1265"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1070"/>
- <location filename="../dbtree/dbtree.cpp" line="1235"/>
+ <location filename="../dbtree/dbtree.cpp" line="1075"/>
+ <location filename="../dbtree/dbtree.cpp" line="1240"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1334"/>
+ <location filename="../dbtree/dbtree.cpp" line="1339"/>
<source>Error while executing VACUUM on the database %1: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1336"/>
+ <location filename="../dbtree/dbtree.cpp" line="1341"/>
<source>VACUUM execution finished successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1353"/>
+ <location filename="../dbtree/dbtree.cpp" line="1358"/>
<source>Integrity check (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Reset autoincrement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1397"/>
+ <location filename="../dbtree/dbtree.cpp" line="1402"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1399"/>
+ <location filename="../dbtree/dbtree.cpp" line="1404"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1501"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Are you sure you want to delete all data from table &apos;%1&apos;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1429"/>
+ <source>An error occurred while trying to delete data from table &apos;%1&apos;: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1433"/>
+ <source>All data has been deleted for table &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1535"/>
<source>Following objects will be deleted: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1504"/>
+ <location filename="../dbtree/dbtree.cpp" line="1538"/>
<source>Following databases will be removed from list: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1507"/>
+ <location filename="../dbtree/dbtree.cpp" line="1541"/>
<source>Remainig objects from deleted group will be moved in place where the group used to be.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1509"/>
+ <location filename="../dbtree/dbtree.cpp" line="1543"/>
<source>%1&lt;br&gt;&lt;br&gt;Are you sure you want to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1511"/>
+ <location filename="../dbtree/dbtree.cpp" line="1545"/>
<source>Delete objects</source>
<translation type="unfinished"></translation>
</message>
@@ -2344,123 +2408,123 @@ All objects from this group will be moved to parent group.</source>
<context>
<name>DbTreeModel</name>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="407"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="422"/>
<source>Database: %1</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="412"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="427"/>
<source>Version:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="413"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="430"/>
<source>File size:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="414"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="433"/>
<source>Encoding:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="419"/>
- <source>Error details:</source>
+ <location filename="../dbtree/dbtreemodel.cpp" line="438"/>
+ <source>Error:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="429"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="448"/>
<source>Table : %1</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="452"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="471"/>
<source>Columns (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="455"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="474"/>
<source>Indexes (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="458"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="477"/>
<source>Triggers (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1073"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1092"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1074"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1093"/>
<source>Move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1076"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1095"/>
<source>Include data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1077"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1096"/>
<source>Include indexes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1078"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1097"/>
<source>Include triggers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1080"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1099"/>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1156"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1175"/>
<source>Referenced tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1157"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1176"/>
<source>Do you want to include following referenced tables as well:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1166"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1185"/>
<source>Name conflict</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1167"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1186"/>
<source>Following object already exists in the target database.
Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1180"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1199"/>
<source>SQL statements conversion</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1188"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1207"/>
<source>Following error occurred while converting SQL statements to the target SQLite version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1189"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1208"/>
<source>Would you like to ignore those errors and proceed?</source>
<translation type="unfinished"></translation>
</message>
@@ -2509,135 +2573,135 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>EditorWindow</name>
<message>
- <location filename="../windows/editorwindow.ui" line="39"/>
+ <location filename="../windows/editorwindow.ui" line="42"/>
<source>Query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.ui" line="109"/>
+ <location filename="../windows/editorwindow.ui" line="112"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="130"/>
+ <location filename="../windows/editorwindow.cpp" line="137"/>
<source>Results in the separate tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="131"/>
+ <location filename="../windows/editorwindow.cpp" line="138"/>
<source>Results below the query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="164"/>
- <location filename="../windows/editorwindow.cpp" line="166"/>
+ <location filename="../windows/editorwindow.cpp" line="171"/>
+ <location filename="../windows/editorwindow.cpp" line="173"/>
<source>SQL editor %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="324"/>
+ <location filename="../windows/editorwindow.cpp" line="331"/>
<source>Results</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="357"/>
+ <location filename="../windows/editorwindow.cpp" line="364"/>
<source>Execute query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="358"/>
+ <location filename="../windows/editorwindow.cpp" line="365"/>
<source>Explain query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="361"/>
+ <location filename="../windows/editorwindow.cpp" line="368"/>
<source>Clear execution history</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="363"/>
+ <location filename="../windows/editorwindow.cpp" line="370"/>
<source>Export results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="365"/>
+ <location filename="../windows/editorwindow.cpp" line="372"/>
<source>Create view from query</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="374"/>
+ <location filename="../windows/editorwindow.cpp" line="382"/>
<source>Previous database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="375"/>
+ <location filename="../windows/editorwindow.cpp" line="383"/>
<source>Next database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="378"/>
+ <location filename="../windows/editorwindow.cpp" line="386"/>
<source>Show next tab</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="379"/>
+ <location filename="../windows/editorwindow.cpp" line="387"/>
<source>Show previous tab</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="380"/>
+ <location filename="../windows/editorwindow.cpp" line="388"/>
<source>Focus results below</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="381"/>
+ <location filename="../windows/editorwindow.cpp" line="389"/>
<source>Focus SQL editor above</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="455"/>
+ <location filename="../windows/editorwindow.cpp" line="463"/>
<source>Active database (%1/%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="495"/>
+ <location filename="../windows/editorwindow.cpp" line="503"/>
<source>Query finished in %1 second(s). Rows affected: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="499"/>
+ <location filename="../windows/editorwindow.cpp" line="507"/>
<source>Query finished in %1 second(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Clear execution history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Are you sure you want to erase the entire SQL execution history? This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="613"/>
+ <location filename="../windows/editorwindow.cpp" line="621"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="634"/>
+ <location filename="../windows/editorwindow.cpp" line="642"/>
<source>No database selected in the SQL editor. Cannot create a view for unknown database.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="664"/>
+ <location filename="../windows/editorwindow.cpp" line="672"/>
<source>Editor window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
@@ -2891,49 +2955,49 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>FormView</name>
<message>
- <location filename="../formview.cpp" line="253"/>
+ <location filename="../formview.cpp" line="241"/>
<source>Commit row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="254"/>
+ <location filename="../formview.cpp" line="242"/>
<source>Rollback row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="255"/>
+ <location filename="../formview.cpp" line="243"/>
<source>First row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="256"/>
+ <location filename="../formview.cpp" line="244"/>
<source>Previous row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="257"/>
+ <location filename="../formview.cpp" line="245"/>
<source>Next row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="258"/>
+ <location filename="../formview.cpp" line="246"/>
<source>Last row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="259"/>
+ <location filename="../formview.cpp" line="247"/>
<source>Insert new row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="260"/>
+ <location filename="../formview.cpp" line="248"/>
<source>Delete current row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
@@ -2947,58 +3011,58 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="151"/>
+ <location filename="../windows/functionseditor.ui" line="260"/>
<source>Function name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="161"/>
+ <location filename="../windows/functionseditor.ui" line="273"/>
<source>Implementation language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="171"/>
+ <location filename="../windows/functionseditor.ui" line="253"/>
<source>Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="187"/>
+ <location filename="../windows/functionseditor.ui" line="157"/>
<source>Input arguments</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="193"/>
+ <location filename="../windows/functionseditor.ui" line="163"/>
<source>Undefined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="235"/>
+ <location filename="../windows/functionseditor.ui" line="205"/>
<source>Databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="241"/>
+ <location filename="../windows/functionseditor.ui" line="211"/>
<source>Register in all databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="248"/>
+ <location filename="../windows/functionseditor.ui" line="218"/>
<source>Register in following databases:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="278"/>
+ <location filename="../windows/functionseditor.ui" line="293"/>
<source>Initialization code:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="294"/>
+ <location filename="../windows/functionseditor.ui" line="309"/>
<location filename="../windows/functionseditor.cpp" line="426"/>
<source>Function implementation code:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="310"/>
+ <location filename="../windows/functionseditor.ui" line="325"/>
<source>Final step implementation code:</source>
<translation type="unfinished"></translation>
</message>
@@ -3322,293 +3386,298 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MainWindow</name>
<message>
- <location filename="../mainwindow.ui" line="66"/>
+ <location filename="../mainwindow.ui" line="81"/>
<source>Database toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="77"/>
+ <location filename="../mainwindow.ui" line="92"/>
<source>Structure toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="88"/>
+ <location filename="../mainwindow.ui" line="103"/>
<source>Tools</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="105"/>
+ <location filename="../mainwindow.ui" line="120"/>
<source>Window list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="119"/>
+ <location filename="../mainwindow.ui" line="134"/>
<source>View toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="104"/>
+ <location filename="../mainwindow.cpp" line="107"/>
<source>Configuration widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="105"/>
+ <location filename="../mainwindow.cpp" line="108"/>
<source>Syntax highlighting engines</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="106"/>
+ <location filename="../mainwindow.cpp" line="109"/>
<source>Data editors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="118"/>
+ <location filename="../mainwindow.cpp" line="121"/>
<source>Running in debug mode. Press %1 or use &apos;Help / Open debug console&apos; menu entry to open the debug console.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="120"/>
+ <location filename="../mainwindow.cpp" line="123"/>
<source>Running in debug mode. Debug messages are printed to the standard output.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="202"/>
+ <location filename="../mainwindow.cpp" line="211"/>
<source>You need to restart application to make the language change take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="245"/>
+ <location filename="../mainwindow.cpp" line="254"/>
<source>Open SQL editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="246"/>
+ <location filename="../mainwindow.cpp" line="255"/>
<source>Open DDL history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="247"/>
+ <location filename="../mainwindow.cpp" line="256"/>
<source>Open SQL functions editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="248"/>
+ <location filename="../mainwindow.cpp" line="257"/>
<source>Open collations editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="249"/>
+ <location filename="../mainwindow.cpp" line="258"/>
<source>Import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="250"/>
+ <location filename="../mainwindow.cpp" line="259"/>
<source>Export</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="252"/>
+ <location filename="../mainwindow.cpp" line="261"/>
<source>Open configuration dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="254"/>
+ <location filename="../mainwindow.cpp" line="263"/>
<source>Tile windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="255"/>
+ <location filename="../mainwindow.cpp" line="264"/>
<source>Tile windows horizontally</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="256"/>
+ <location filename="../mainwindow.cpp" line="265"/>
<source>Tile windows vertically</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="257"/>
+ <location filename="../mainwindow.cpp" line="266"/>
<source>Cascade windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="258"/>
+ <location filename="../mainwindow.cpp" line="267"/>
<source>Next window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="259"/>
+ <location filename="../mainwindow.cpp" line="268"/>
<source>Previous window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="260"/>
+ <location filename="../mainwindow.cpp" line="269"/>
<source>Hide status field</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="262"/>
+ <location filename="../mainwindow.cpp" line="271"/>
<source>Close selected window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="263"/>
+ <location filename="../mainwindow.cpp" line="272"/>
<source>Close all windows but selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="264"/>
+ <location filename="../mainwindow.cpp" line="273"/>
<source>Close all windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="265"/>
+ <location filename="../mainwindow.cpp" line="274"/>
<source>Restore recently closed window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="266"/>
+ <location filename="../mainwindow.cpp" line="275"/>
<source>Rename selected window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="268"/>
+ <location filename="../mainwindow.cpp" line="277"/>
<source>Open Debug Console</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="269"/>
+ <location filename="../mainwindow.cpp" line="278"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="279"/>
<source>Report a bug</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="270"/>
+ <location filename="../mainwindow.cpp" line="280"/>
<source>Propose a new feature</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="271"/>
+ <location filename="../mainwindow.cpp" line="281"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="272"/>
+ <location filename="../mainwindow.cpp" line="282"/>
<source>Licenses</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="273"/>
+ <location filename="../mainwindow.cpp" line="283"/>
<source>Open home page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="274"/>
+ <location filename="../mainwindow.cpp" line="284"/>
<source>Open forum page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="275"/>
+ <location filename="../mainwindow.cpp" line="285"/>
<source>User Manual</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="276"/>
+ <location filename="../mainwindow.cpp" line="286"/>
<source>SQLite documentation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="277"/>
+ <location filename="../mainwindow.cpp" line="287"/>
<source>Report history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="278"/>
+ <location filename="../mainwindow.cpp" line="289"/>
<source>Check for updates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="315"/>
+ <location filename="../mainwindow.cpp" line="327"/>
<source>Database</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="335"/>
+ <location filename="../mainwindow.cpp" line="347"/>
<source>Structure</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="356"/>
+ <location filename="../mainwindow.cpp" line="368"/>
<source>View</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="360"/>
+ <location filename="../mainwindow.cpp" line="372"/>
<source>Window list</source>
<comment>menubar view menu</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="381"/>
+ <location filename="../mainwindow.cpp" line="393"/>
<source>Tools</source>
<comment>menubar</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="395"/>
+ <location filename="../mainwindow.cpp" line="407"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="549"/>
+ <location filename="../mainwindow.cpp" line="569"/>
<source>Could not set style: %1</source>
<comment>main window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="621"/>
+ <location filename="../mainwindow.cpp" line="642"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="637"/>
+ <location filename="../mainwindow.cpp" line="658"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Rename window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Enter new name for the window:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="738"/>
+ <location filename="../mainwindow.cpp" line="777"/>
<source>New updates are available. &lt;a href=&quot;%1&quot;&gt;Click here for details&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="746"/>
+ <location filename="../mainwindow.cpp" line="785"/>
<source>You&apos;re running the most recent version. No updates are available.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="845"/>
+ <location filename="../mainwindow.cpp" line="891"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="852"/>
+ <location filename="../mainwindow.cpp" line="898"/>
<source>Database passed in command line parameters (%1) has been temporarily added to the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="857"/>
+ <location filename="../mainwindow.cpp" line="903"/>
<source>Could not add database %1 to list.</source>
<translation type="unfinished"></translation>
</message>
@@ -3634,29 +3703,29 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MultiEditor</name>
<message>
- <location filename="../multieditor/multieditor.cpp" line="53"/>
+ <location filename="../multieditor/multieditor.cpp" line="62"/>
<source>Null value</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="68"/>
+ <location filename="../multieditor/multieditor.cpp" line="77"/>
<source>Configure editors for this data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="271"/>
+ <location filename="../multieditor/multieditor.cpp" line="287"/>
<source>Data editor plugin &apos;%1&apos; not loaded, while it is defined for editing &apos;%1&apos; data type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="356"/>
+ <location filename="../multieditor/multieditor.cpp" line="372"/>
<source>Deleted</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="358"/>
+ <location filename="../multieditor/multieditor.cpp" line="374"/>
<source>Read only</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
@@ -3908,27 +3977,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="158"/>
+ <location filename="../dialogs/populatedialog.cpp" line="54"/>
+ <source>Abort</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/populatedialog.cpp" line="161"/>
<source>Configure</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="256"/>
+ <location filename="../dialogs/populatedialog.cpp" line="259"/>
<source>Populating configuration for this column is invalid or incomplete.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="287"/>
+ <location filename="../dialogs/populatedialog.cpp" line="290"/>
<source>Select database with table to populate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="288"/>
+ <location filename="../dialogs/populatedialog.cpp" line="291"/>
<source>Select table to populate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="289"/>
+ <location filename="../dialogs/populatedialog.cpp" line="292"/>
<source>You have to select at least one column.</source>
<translation type="unfinished"></translation>
</message>
@@ -4053,32 +4127,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="487"/>
+ <location filename="../dataview.cpp" line="532"/>
<source>Total pages available: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="497"/>
+ <location filename="../dataview.cpp" line="542"/>
<source>Total rows loaded: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="17"/>
+ <location filename="../dataview.h" line="18"/>
<source>Data view (both grid and form)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="18"/>
+ <location filename="../dataview.h" line="19"/>
<source>Refresh data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="19"/>
+ <location filename="../dataview.h" line="20"/>
<source>Switch to grid view of the data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="20"/>
+ <location filename="../dataview.h" line="21"/>
<source>Switch to form view of the data</source>
<translation type="unfinished"></translation>
</message>
@@ -4200,41 +4274,46 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="42"/>
+ <location filename="../mainwindow.h" line="43"/>
<source>Main window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="43"/>
+ <location filename="../mainwindow.h" line="44"/>
<source>Open SQL editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="44"/>
+ <location filename="../mainwindow.h" line="45"/>
<source>Previous window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="45"/>
+ <location filename="../mainwindow.h" line="46"/>
<source>Next window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="46"/>
+ <location filename="../mainwindow.h" line="47"/>
<source>Hide status area</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="47"/>
+ <location filename="../mainwindow.h" line="48"/>
<source>Open configuration dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="48"/>
+ <location filename="../mainwindow.h" line="49"/>
<source>Open Debug Console</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../mainwindow.h" line="50"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../multieditor/multieditortext.h" line="12"/>
<source>Cell text value editor</source>
<translation type="unfinished"></translation>
@@ -4694,101 +4773,112 @@ find next</source>
</message>
<message>
<location filename="../sqleditor.cpp" line="128"/>
- <source>Load SQL from file</source>
+ <source>Select file to save SQL</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="129"/>
- <source>Delete line</source>
+ <source>Load SQL from file</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="130"/>
- <source>Move block down</source>
+ <source>Delete line</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="131"/>
- <source>Move block up</source>
+ <source>Move block down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="132"/>
- <source>Copy block down</source>
+ <source>Move block up</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="133"/>
- <source>Copy up down</source>
+ <source>Copy block down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="134"/>
- <source>Find</source>
+ <source>Copy up down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="135"/>
- <source>Find next</source>
+ <source>Find</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="136"/>
- <source>Find previous</source>
+ <source>Find next</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="137"/>
+ <source>Find previous</source>
+ <comment>sql editor</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="138"/>
<source>Replace</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="412"/>
+ <location filename="../sqleditor.cpp" line="252"/>
+ <source>Saved SQL contents to file: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="431"/>
<source>Syntax completion can be used only when a valid database is set for the SQL editor.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="800"/>
+ <location filename="../sqleditor.cpp" line="819"/>
<source>Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1027"/>
+ <location filename="../sqleditor.cpp" line="1054"/>
<source>Save to file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1036"/>
+ <location filename="../sqleditor.cpp" line="242"/>
<source>Could not open file &apos;%1&apos; for writing: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1050"/>
+ <location filename="../sqleditor.cpp" line="1066"/>
<source>SQL scripts (*.sql);;All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1051"/>
+ <location filename="../sqleditor.cpp" line="1067"/>
<source>Open file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1060"/>
+ <location filename="../sqleditor.cpp" line="1076"/>
<source>Could not open file &apos;%1&apos; for reading: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1267"/>
+ <location filename="../sqleditor.cpp" line="1285"/>
<source>Reached the end of document. Hit the find again to restart the search.</source>
<translation type="unfinished"></translation>
</message>
@@ -4848,7 +4938,7 @@ find next</source>
<name>SqlQueryModel</name>
<message>
<location filename="../datagrid/sqlquerymodel.cpp" line="63"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="474"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="487"/>
<source>Only one query can be executed simultaneously.</source>
<translation type="unfinished"></translation>
</message>
@@ -4873,43 +4963,43 @@ find next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="415"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="420"/>
<source>An error occurred while commiting the transaction: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="434"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="445"/>
<source>An error occurred while rolling back the transaction: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="560"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="573"/>
<source>Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="586"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="599"/>
<source>An error occurred while commiting the data: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1031"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1086"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1045"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1100"/>
<source>Error while executing SQL query on database &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1083"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1097"/>
<source>Error while loading query results: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Insert multiple rows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Number of rows to insert:</source>
<translation type="unfinished"></translation>
</message>
@@ -5028,12 +5118,12 @@ find next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="161"/>
+ <location filename="../statusfield.cpp" line="164"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="168"/>
+ <location filename="../statusfield.cpp" line="171"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
@@ -5238,411 +5328,421 @@ but it&apos;s okay to use them anyway.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="184"/>
+ <location filename="../windows/tablewindow.ui" line="190"/>
<source>Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="201"/>
+ <location filename="../windows/tablewindow.ui" line="207"/>
<source>Constraints</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="215"/>
+ <location filename="../windows/tablewindow.ui" line="221"/>
<source>Indexes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="244"/>
+ <location filename="../windows/tablewindow.ui" line="250"/>
<source>Triggers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="276"/>
+ <location filename="../windows/tablewindow.ui" line="282"/>
<source>DDL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="180"/>
+ <location filename="../windows/tablewindow.cpp" line="191"/>
<source>Export table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="181"/>
+ <location filename="../windows/tablewindow.cpp" line="192"/>
<source>Import data to table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="182"/>
+ <location filename="../windows/tablewindow.cpp" line="193"/>
<source>Populate table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="196"/>
+ <location filename="../windows/tablewindow.cpp" line="207"/>
<source>Refresh structure</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="198"/>
+ <location filename="../windows/tablewindow.cpp" line="209"/>
<source>Commit structure changes</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="199"/>
+ <location filename="../windows/tablewindow.cpp" line="210"/>
<source>Rollback structure changes</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="200"/>
+ <location filename="../windows/tablewindow.cpp" line="211"/>
<source>Add column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="201"/>
+ <location filename="../windows/tablewindow.cpp" line="212"/>
<source>Edit column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="202"/>
- <location filename="../windows/tablewindow.cpp" line="289"/>
+ <location filename="../windows/tablewindow.cpp" line="213"/>
+ <location filename="../windows/tablewindow.cpp" line="300"/>
<source>Delete column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="203"/>
+ <location filename="../windows/tablewindow.cpp" line="214"/>
<source>Move column up</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="204"/>
+ <location filename="../windows/tablewindow.cpp" line="215"/>
<source>Move column down</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="210"/>
+ <location filename="../windows/tablewindow.cpp" line="221"/>
<source>Create similar table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="211"/>
+ <location filename="../windows/tablewindow.cpp" line="222"/>
<source>Reset autoincrement value</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="214"/>
+ <location filename="../windows/tablewindow.cpp" line="225"/>
<source>Add table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="215"/>
+ <location filename="../windows/tablewindow.cpp" line="226"/>
<source>Edit table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="216"/>
+ <location filename="../windows/tablewindow.cpp" line="227"/>
<source>Delete table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="217"/>
+ <location filename="../windows/tablewindow.cpp" line="228"/>
<source>Move table constraint up</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="218"/>
+ <location filename="../windows/tablewindow.cpp" line="229"/>
<source>Move table constraint down</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="220"/>
+ <location filename="../windows/tablewindow.cpp" line="231"/>
<source>Add table primary key</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="221"/>
+ <location filename="../windows/tablewindow.cpp" line="232"/>
<source>Add table foreign key</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="222"/>
+ <location filename="../windows/tablewindow.cpp" line="233"/>
<source>Add table unique constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="223"/>
+ <location filename="../windows/tablewindow.cpp" line="234"/>
<source>Add table check constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="241"/>
+ <location filename="../windows/tablewindow.cpp" line="252"/>
<source>Refresh index list</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="243"/>
+ <location filename="../windows/tablewindow.cpp" line="254"/>
<source>Create index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="244"/>
+ <location filename="../windows/tablewindow.cpp" line="255"/>
<source>Edit index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="245"/>
+ <location filename="../windows/tablewindow.cpp" line="256"/>
<source>Delete index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="251"/>
+ <location filename="../windows/tablewindow.cpp" line="262"/>
<source>Refresh trigger list</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="253"/>
+ <location filename="../windows/tablewindow.cpp" line="264"/>
<source>Create trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="254"/>
+ <location filename="../windows/tablewindow.cpp" line="265"/>
<source>Edit trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="255"/>
+ <location filename="../windows/tablewindow.cpp" line="266"/>
<source>Delete trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="288"/>
+ <location filename="../windows/tablewindow.cpp" line="299"/>
<source>Are you sure you want to delete column &apos;%1&apos;?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="316"/>
+ <location filename="../windows/tablewindow.cpp" line="327"/>
<source>Following problems will take place while modifying the table.
Would you like to proceed?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="318"/>
+ <location filename="../windows/tablewindow.cpp" line="329"/>
<source>Table modification</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="456"/>
+ <location filename="../windows/tablewindow.cpp" line="467"/>
<source>Could not load data for table %1. Error details: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="569"/>
+ <location filename="../windows/tablewindow.cpp" line="580"/>
<source>Could not process the %1 table correctly. Unable to open a table window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="637"/>
- <source>Could not restore window, because database %1 could not be resolved.</source>
+ <location filename="../windows/tablewindow.cpp" line="635"/>
+ <source>Could not restore window %1, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="641"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="648"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="646"/>
- <source>Could not restore window, because the table %1 doesn&apos;t exist in the database %2.</source>
+ <location filename="../windows/tablewindow.cpp" line="657"/>
+ <source>Could not restore window &apos;%1&apos;&apos;, because the table %2 doesn&apos;t exist in the database %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="671"/>
- <location filename="../windows/tablewindow.cpp" line="673"/>
+ <location filename="../windows/tablewindow.cpp" line="682"/>
+ <location filename="../windows/tablewindow.cpp" line="684"/>
<source>New table %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="824"/>
+ <location filename="../windows/tablewindow.cpp" line="835"/>
<source>Could not commit table structure. Error message: %1</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Reset autoincrement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="853"/>
+ <location filename="../windows/tablewindow.cpp" line="864"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="855"/>
+ <location filename="../windows/tablewindow.cpp" line="866"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>Empty name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>A blank name for the table is allowed in SQLite, but it is not recommended.
Are you sure you want to create a table with blank name?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="944"/>
+ <location filename="../windows/tablewindow.cpp" line="955"/>
<source>Cannot create a table without at least one column.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="970"/>
+ <location filename="../windows/tablewindow.cpp" line="981"/>
<source>Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="977"/>
+ <location filename="../windows/tablewindow.cpp" line="988"/>
<source>Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1114"/>
+ <location filename="../windows/tablewindow.cpp" line="1125"/>
<source>Are you sure you want to delete table constraint &apos;%1&apos;?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1115"/>
+ <location filename="../windows/tablewindow.cpp" line="1126"/>
<source>Delete constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1169"/>
+ <location filename="../windows/tablewindow.cpp" line="1180"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1182"/>
+ <location filename="../windows/tablewindow.cpp" line="1193"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1214"/>
+ <location filename="../windows/tablewindow.cpp" line="1225"/>
<source>Uncommited changes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1215"/>
+ <location filename="../windows/tablewindow.cpp" line="1226"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Go back to structure tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Commit modifications and browse data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1368"/>
+ <location filename="../windows/tablewindow.cpp" line="1379"/>
<source>Name</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1369"/>
+ <location filename="../windows/tablewindow.cpp" line="1380"/>
<source>Unique</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1370"/>
+ <location filename="../windows/tablewindow.cpp" line="1381"/>
<source>Columns</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1371"/>
+ <location filename="../windows/tablewindow.cpp" line="1382"/>
<source>Partial index condition</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1425"/>
+ <location filename="../windows/tablewindow.cpp" line="1436"/>
<source>Name</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1426"/>
+ <location filename="../windows/tablewindow.cpp" line="1437"/>
<source>Event</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1427"/>
+ <location filename="../windows/tablewindow.cpp" line="1438"/>
<source>Condition</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1428"/>
+ <location filename="../windows/tablewindow.cpp" line="1439"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1517"/>
+ <location filename="../windows/tablewindow.cpp" line="1528"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1519"/>
+ <location filename="../windows/tablewindow.cpp" line="1530"/>
<source>Table window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1521"/>
+ <location filename="../windows/tablewindow.cpp" line="1532"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications.</source>
<translation type="unfinished"></translation>
</message>
@@ -5813,180 +5913,186 @@ Do you want to commit the structure, or do you want to go back to the structure
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="115"/>
- <source>Could not restore window, because database %1 could not be resolved.</source>
+ <location filename="../windows/viewwindow.cpp" line="103"/>
+ <location filename="../windows/viewwindow.cpp" line="109"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or view was stored in session for this window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="121"/>
- <source>Could not restore window, because database %1 could not be open.</source>
+ <location filename="../windows/viewwindow.cpp" line="116"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="130"/>
- <source>Could not restore window, because the view %1 doesn&apos;t exist in the database %2.</source>
+ <location filename="../windows/viewwindow.cpp" line="122"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="155"/>
- <location filename="../windows/viewwindow.cpp" line="157"/>
+ <location filename="../windows/viewwindow.cpp" line="131"/>
+ <source>Could not restore window &apos;%1&apos;, because the view %2 doesn&apos;t exist in the database %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="156"/>
+ <location filename="../windows/viewwindow.cpp" line="158"/>
<source>New view %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="275"/>
+ <location filename="../windows/viewwindow.cpp" line="283"/>
<source>Refresh the view</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="277"/>
+ <location filename="../windows/viewwindow.cpp" line="285"/>
<source>Commit the view changes</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="278"/>
+ <location filename="../windows/viewwindow.cpp" line="286"/>
<source>Rollback the view changes</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="285"/>
+ <location filename="../windows/viewwindow.cpp" line="293"/>
<source>Refresh trigger list</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="287"/>
+ <location filename="../windows/viewwindow.cpp" line="295"/>
<source>Create new trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="288"/>
+ <location filename="../windows/viewwindow.cpp" line="296"/>
<source>Edit selected trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="289"/>
+ <location filename="../windows/viewwindow.cpp" line="297"/>
<source>Delete selected trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="310"/>
+ <location filename="../windows/viewwindow.cpp" line="318"/>
<source>View window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="312"/>
+ <location filename="../windows/viewwindow.cpp" line="320"/>
<source>View window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="314"/>
+ <location filename="../windows/viewwindow.cpp" line="322"/>
<source>View window &quot;%1&quot; has uncommited structure modifications.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="455"/>
+ <location filename="../windows/viewwindow.cpp" line="463"/>
<source>Could not load data for view %1. Error details: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="466"/>
+ <location filename="../windows/viewwindow.cpp" line="474"/>
<source>Uncommited changes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="467"/>
+ <location filename="../windows/viewwindow.cpp" line="475"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Go back to structure tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Commit modifications and browse data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="528"/>
+ <location filename="../windows/viewwindow.cpp" line="536"/>
<source>Could not commit view changes. Error message: %1</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="606"/>
+ <location filename="../windows/viewwindow.cpp" line="614"/>
<source>Name</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="607"/>
+ <location filename="../windows/viewwindow.cpp" line="615"/>
<source>Instead of</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="608"/>
+ <location filename="../windows/viewwindow.cpp" line="616"/>
<source>Condition</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="609"/>
+ <location filename="../windows/viewwindow.cpp" line="617"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="649"/>
+ <location filename="../windows/viewwindow.cpp" line="657"/>
<source>Could not process the %1 view correctly. Unable to open a view window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>Empty name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>A blank name for the view is allowed in SQLite, but it is not recommended.
Are you sure you want to create a view with blank name?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="699"/>
+ <location filename="../windows/viewwindow.cpp" line="707"/>
<source>The SELECT statement could not be parsed. Please correct the query and retry.
Details: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="707"/>
+ <location filename="../windows/viewwindow.cpp" line="715"/>
<source>The view could not be modified due to internal SQLiteStudio error. Please report this!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="733"/>
+ <location filename="../windows/viewwindow.cpp" line="741"/>
<source>The view code could not be parsed properly for execution. This is a SQLiteStudio&apos;s bug. Please report it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="746"/>
+ <location filename="../windows/viewwindow.cpp" line="754"/>
<source>Following problems will take place while modifying the view.
Would you like to proceed?</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="748"/>
+ <location filename="../windows/viewwindow.cpp" line="756"/>
<source>View modification</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
@@ -5995,7 +6101,7 @@ Would you like to proceed?</source>
<context>
<name>WidgetCover</name>
<message>
- <location filename="../common/widgetcover.cpp" line="198"/>
+ <location filename="../common/widgetcover.cpp" line="234"/>
<source>Interrupt</source>
<translation type="unfinished"></translation>
</message>
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.qm
index 3e51d97..9e3d103 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.qm
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.qm
Binary files differ
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.ts
index 467ca92..af5e93d 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.ts
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.ts
@@ -355,32 +355,32 @@
<translation>Отфильтровать сравнения</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="110"/>
+ <location filename="../windows/collationseditor.ui" line="194"/>
<source>Collation name:</source>
<translation>Имя сравнения:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="120"/>
+ <location filename="../windows/collationseditor.ui" line="204"/>
<source>Implementation language:</source>
<translation>Язык реализации:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="152"/>
+ <location filename="../windows/collationseditor.ui" line="132"/>
<source>Databases</source>
<translation>Базы данных</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="158"/>
+ <location filename="../windows/collationseditor.ui" line="138"/>
<source>Register in all databases</source>
<translation>Зарегистрировать во всех базах данных</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="165"/>
+ <location filename="../windows/collationseditor.ui" line="145"/>
<source>Register in following databases:</source>
<translation>Зарегистрировать в следующих базах данных:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="186"/>
+ <location filename="../windows/collationseditor.ui" line="166"/>
<source>Implementation code:</source>
<translation>Код реализации:</translation>
</message>
@@ -890,7 +890,7 @@ but it&apos;s okay to use it.</source>
<name>ConfigDialog</name>
<message>
<location filename="../dialogs/configdialog.ui" line="14"/>
- <location filename="../dialogs/configdialog.ui" line="1216"/>
+ <location filename="../dialogs/configdialog.ui" line="1293"/>
<source>Configuration</source>
<translation>Конфигурация</translation>
</message>
@@ -1067,406 +1067,441 @@ but it&apos;s okay to use it.</source>
<translation>Комбинация клавиш</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="656"/>
- <location filename="../dialogs/configdialog.ui" line="1206"/>
+ <location filename="../dialogs/configdialog.ui" line="671"/>
+ <location filename="../dialogs/configdialog.ui" line="1283"/>
<source>Language</source>
<translation>Язык</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="662"/>
+ <location filename="../dialogs/configdialog.ui" line="677"/>
<source>Changing language requires application restart to take effect.</source>
<translation>Для смены языка потребуется перезапустить приложение.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="679"/>
+ <location filename="../dialogs/configdialog.ui" line="694"/>
+ <source>Compact layout</source>
+ <translation>Компактный режим</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="700"/>
+ <source>&lt;p&gt;Compact layout reduces all margins and spacing on the UI to minimum, making space for displaying more data. It makes the interface a little bit less aesthetic, but allows to display more data at once.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;В компактном режиме все поля и отступы в интерфейсе минимизированы для отображения большего количества данных. Интерфейс станет чуть менее эстетичным, однако это позволит уместить больше данных на экране.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="703"/>
+ <source>Use compact layout</source>
+ <translation>Включить компактный режим</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="709"/>
+ <source>General.CompactLayout</source>
+ <translation>General.CompactLayout</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="719"/>
<source>Database list</source>
<translation>Список баз данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="685"/>
+ <location filename="../dialogs/configdialog.ui" line="725"/>
<source>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</source>
<translation>Если опция деактивирована, столбцы будут отсортированы в том порядке, в котором они были указаны в конструкции CREATE TABLE.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="688"/>
+ <location filename="../dialogs/configdialog.ui" line="728"/>
<source>Sort table columns alphabetically</source>
<translation>Сортировать столбцы таблицы в алфавитном порядке</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="698"/>
+ <location filename="../dialogs/configdialog.ui" line="738"/>
<source>Expand tables node when connected to a database</source>
<translation>Развернуть список таблиц после подключения к базе данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="708"/>
+ <location filename="../dialogs/configdialog.ui" line="748"/>
<source>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</source>
<translation>&lt;p&gt;Дополнительные метки находятся справа от имён в списке баз данных (они отображаются синим цветом, если не выбран иной). При активации этой опции будут отображены метки у баз данных, некорректных баз данных и у групповых узлов (группа столбцов, группа индексов, группа триггеров). Для отображения дополнительных меток воспользуйтесь опциями ниже.&lt;p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="711"/>
+ <location filename="../dialogs/configdialog.ui" line="751"/>
<source>Display additional labels on the list</source>
<translation>Отображать дополнительные метки в списке</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="726"/>
+ <location filename="../dialogs/configdialog.ui" line="766"/>
<source>For regular tables labels will show number of columns, indexes and triggers for each of tables.</source>
<translation>Для обычных таблиц метки будут показывать количество столбцов, индексов и триггеров у каждой таблицы.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="729"/>
+ <location filename="../dialogs/configdialog.ui" line="769"/>
<source>Display labels for regular tables</source>
<translation>Отображать метки у обычных таблиц</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="739"/>
+ <location filename="../dialogs/configdialog.ui" line="779"/>
<source>Virtual tables will be marked with a &apos;virtual&apos; label.</source>
<translation>Виртуальные таблицы будут помечены как &apos;вирутальные&apos;.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="742"/>
+ <location filename="../dialogs/configdialog.ui" line="782"/>
<source>Display labels for virtual tables</source>
<translation>Отображать метки у виртуальных таблиц</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="755"/>
+ <location filename="../dialogs/configdialog.ui" line="795"/>
<source>Expand views node when connected to a database</source>
<translation>Развернуть список представлений после подключения к базе данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="765"/>
+ <location filename="../dialogs/configdialog.ui" line="805"/>
<source>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</source>
<translation>Если опция деактивирована, объекты будут отсортированы в том порядке, в котором они указаны в таблице sqlite_master (т.е. в порядке создания)</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="768"/>
+ <location filename="../dialogs/configdialog.ui" line="808"/>
<source>Sort objects (tables, indexes, triggers and views) alphabetically</source>
<translation>Сортировать объекты (таблицы, индексы, триггеры и представления) в алфавитном порядке</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="778"/>
+ <location filename="../dialogs/configdialog.ui" line="818"/>
<source>Display system tables and indexes on the list</source>
<translation>Отображать в списке системные таблицы и индексы</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="791"/>
+ <location filename="../dialogs/configdialog.ui" line="831"/>
<source>Table windows</source>
<translation>Окна таблиц</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="797"/>
+ <location filename="../dialogs/configdialog.ui" line="837"/>
<source>When enabled, Table Windows will show up with the data tab, instead of the structure tab.</source>
<translation>Если опция активирована, окно таблицы будет открыто на вкладке данных вместо вкладки структуры.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="800"/>
+ <location filename="../dialogs/configdialog.ui" line="840"/>
<source>Open Table Windows with the data tab for start</source>
<translation>Открывать окна таблиц на вкладке данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="813"/>
+ <location filename="../dialogs/configdialog.ui" line="853"/>
<source>View windows</source>
<translation>Окна представлений</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="819"/>
+ <location filename="../dialogs/configdialog.ui" line="859"/>
<source>When enabled, View Windows will show up with the data tab, instead of the structure tab.</source>
<translation>Если опция активирована, окно представления будет открыто на вкладке данных вместо вкладки структуры.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="822"/>
+ <location filename="../dialogs/configdialog.ui" line="862"/>
<source>Open View Windows with the data tab for start</source>
<translation>Открывать окна представлений на вкладке данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="933"/>
+ <location filename="../dialogs/configdialog.ui" line="875"/>
+ <source>Main window dock areas</source>
+ <translation>Области прикрепления вокруг главного окна</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="881"/>
+ <source>Left and right areas occupy corners</source>
+ <translation>Углы занимают правая и левая области</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="901"/>
+ <source>Top and bottom areas occupy corners</source>
+ <translation>Углы занимают верхняя и нижняя области</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="1010"/>
<source>Hide built-in plugins</source>
<translation>Скрыть встроенные модули</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="962"/>
+ <location filename="../dialogs/configdialog.ui" line="1039"/>
<source>Current style:</source>
<translation>Текущий стиль:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="979"/>
+ <location filename="../dialogs/configdialog.ui" line="1056"/>
<source>Preview</source>
<translation>Предпросмотр</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="989"/>
+ <location filename="../dialogs/configdialog.ui" line="1066"/>
<source>Enabled</source>
<translation>Активно</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1162"/>
+ <location filename="../dialogs/configdialog.ui" line="1239"/>
<source>Disabled</source>
<translation>Неактивно</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1211"/>
+ <location filename="../dialogs/configdialog.ui" line="1288"/>
<source>Active formatter plugin</source>
<translation>Активный модуль форматирования</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1249"/>
+ <location filename="../dialogs/configdialog.ui" line="1326"/>
<source>SQL editor font</source>
<translation>Шрифт редактора SQL</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1265"/>
+ <location filename="../dialogs/configdialog.ui" line="1342"/>
<source>Database list font</source>
<translation>Шрифт списка баз данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1281"/>
+ <location filename="../dialogs/configdialog.ui" line="1358"/>
<source>Database list additional label font</source>
<translation>Шрифт дополнительных меток в списке баз данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1297"/>
+ <location filename="../dialogs/configdialog.ui" line="1374"/>
<source>Data view font</source>
<translation>Шрифт просмотра данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1313"/>
+ <location filename="../dialogs/configdialog.ui" line="1390"/>
<source>Status field font</source>
<translation>Шрифт окна статуса</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1371"/>
+ <location filename="../dialogs/configdialog.ui" line="1448"/>
<source>SQL editor colors</source>
<translation>Цвета редактора SQL</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1377"/>
+ <location filename="../dialogs/configdialog.ui" line="1454"/>
<source>Current line background</source>
<translation>Фон текущей строки</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1384"/>
+ <location filename="../dialogs/configdialog.ui" line="1461"/>
<source>&lt;p&gt;SQL strings are enclosed with single quote characters.&lt;/p&gt;</source>
<translation>&lt;p&gt;Строки SQL обрамляются в одинарные кавычки.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1387"/>
+ <location filename="../dialogs/configdialog.ui" line="1464"/>
<source>String foreground</source>
<translation>Цвет строки</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1490"/>
+ <location filename="../dialogs/configdialog.ui" line="1567"/>
<source>&lt;p&gt;Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;:param_name&lt;/li&gt;&lt;li&gt;$param_name&lt;/li&gt;&lt;li&gt;@param_name&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</source>
<translation>&lt;p&gt;Подстановочные параметры предназначены для значений, которые будут в дальнейшем указаны пользователем. Они определяются одним из следующих способов:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;:имя_параметра&lt;/li&gt;&lt;li&gt;$имя_параметра&lt;/li&gt;&lt;li&gt;@имя_параметра&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1493"/>
+ <location filename="../dialogs/configdialog.ui" line="1570"/>
<source>Bind parameter foreground</source>
<translation>Цвет подстановочных параметров</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1516"/>
+ <location filename="../dialogs/configdialog.ui" line="1593"/>
<source>Highlighted parenthesis background</source>
<translation>Фон подсвечиваемых скобок</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1523"/>
+ <location filename="../dialogs/configdialog.ui" line="1600"/>
<source>&lt;p&gt;BLOB values are binary values represented as hexadecimal numbers, like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</source>
<translation>&lt;p&gt;Данные типа BLOB — это бинарные данные, представляемые в виде шестнадцатеричных чисел, например:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1526"/>
+ <location filename="../dialogs/configdialog.ui" line="1603"/>
<source>BLOB value foreground</source>
<translation>Цвет данных типа BLOB</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1533"/>
+ <location filename="../dialogs/configdialog.ui" line="1610"/>
<source>Regular foreground</source>
<translation>Стандартный цвет</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1540"/>
+ <location filename="../dialogs/configdialog.ui" line="1617"/>
<source>Line numbers area background</source>
<translation>Фон области нумерации строк</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1563"/>
+ <location filename="../dialogs/configdialog.ui" line="1640"/>
<source>Keyword foreground</source>
<translation>Цвет ключевого слова</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1570"/>
+ <location filename="../dialogs/configdialog.ui" line="1647"/>
<source>Number foreground</source>
<translation>Цвет числа</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1577"/>
+ <location filename="../dialogs/configdialog.ui" line="1654"/>
<source>Comment foreground</source>
<translation>Цвет комментария</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1616"/>
+ <location filename="../dialogs/configdialog.ui" line="1693"/>
<source>&lt;p&gt;Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.&lt;/p&gt;</source>
<translation>&lt;p&gt;Распознаваемыми объектами являются имена талиц, индексов, триггеров и представлений, существующих в базе данных SQLite.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1619"/>
+ <location filename="../dialogs/configdialog.ui" line="1696"/>
<source>Valid objects foreground</source>
<translation>Цвет распознанных объектов</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1645"/>
+ <location filename="../dialogs/configdialog.ui" line="1722"/>
<source>Data view colors</source>
<translation>Цвета в окне просмотра данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1651"/>
+ <location filename="../dialogs/configdialog.ui" line="1728"/>
<source>&lt;p&gt;Any data changes will be outlined with this color, until they&apos;re commited to the database.&lt;/p&gt;</source>
<translation>&lt;p&gt;Все изменения данных будут обрамлены этим цветом, пока не будут записаны в базу данных.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1654"/>
+ <location filename="../dialogs/configdialog.ui" line="1731"/>
<source>Uncommited data outline color</source>
<translation>Цвет обрамления неподтверждённых изменений</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1677"/>
+ <location filename="../dialogs/configdialog.ui" line="1754"/>
<source>&lt;p&gt;In case of error while commiting data changes, the problematic cell will be outlined with this color.&lt;/p&gt;</source>
<translation>&lt;p&gt;В случае ошибки при подтверждении изменений данных, этим цветом будут обрамлены проблемные ячейки.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1680"/>
+ <location filename="../dialogs/configdialog.ui" line="1757"/>
<source>Commit error outline color</source>
<translation>Цвет обрамления ошибочных ячеек</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1703"/>
+ <location filename="../dialogs/configdialog.ui" line="1780"/>
<source>NULL value foreground</source>
<translation>Цвет значений NULL</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1726"/>
+ <location filename="../dialogs/configdialog.ui" line="1803"/>
<source>Deleted row background</source>
<translation>Фон удалённых строк</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1752"/>
+ <location filename="../dialogs/configdialog.ui" line="1829"/>
<source>Database list colors</source>
<translation>Цвета списка баз данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1758"/>
+ <location filename="../dialogs/configdialog.ui" line="1835"/>
<source>&lt;p&gt;Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.&lt;/p&gt;</source>
<translation>&lt;p&gt;Дополнительные метки содержат информацию о версии SQLite, о количестве объектов в глубине дерева и т.д.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1761"/>
+ <location filename="../dialogs/configdialog.ui" line="1838"/>
<source>Additional labels foreground</source>
<translation>Цвет дополнительных меток</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1787"/>
+ <location filename="../dialogs/configdialog.ui" line="1864"/>
<source>Status field colors</source>
<translation>Цвета в окне Статуса</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1793"/>
+ <location filename="../dialogs/configdialog.ui" line="1870"/>
<source>Information message foreground</source>
<translation>Цвет информационного сообщения</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1816"/>
+ <location filename="../dialogs/configdialog.ui" line="1893"/>
<source>Warning message foreground</source>
<translation>Цвет предупреждения</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1839"/>
+ <location filename="../dialogs/configdialog.ui" line="1916"/>
<source>Error message foreground</source>
<translation>Цвет ошибки</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="765"/>
+ <location filename="../dialogs/configdialog.cpp" line="785"/>
<source>Description:</source>
<comment>plugin details</comment>
<translation>Описание:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="766"/>
+ <location filename="../dialogs/configdialog.cpp" line="786"/>
<source>Category:</source>
<comment>plugin details</comment>
<translation>Категория:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="767"/>
+ <location filename="../dialogs/configdialog.cpp" line="787"/>
<source>Version:</source>
<comment>plugin details</comment>
<translation>Версия:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="768"/>
+ <location filename="../dialogs/configdialog.cpp" line="788"/>
<source>Author:</source>
<comment>plugin details</comment>
<translation>Автор:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="770"/>
+ <location filename="../dialogs/configdialog.cpp" line="790"/>
<source>Internal name:</source>
<comment>plugin details</comment>
<translation>Внутреннее имя:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="771"/>
+ <location filename="../dialogs/configdialog.cpp" line="791"/>
<source>Dependencies:</source>
<comment>plugin details</comment>
<translation>Зависимости:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="772"/>
+ <location filename="../dialogs/configdialog.cpp" line="792"/>
<source>Conflicts:</source>
<comment>plugin details</comment>
<translation>Конфликты:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="776"/>
+ <location filename="../dialogs/configdialog.cpp" line="796"/>
<source>Plugin details</source>
<translation>Сведения о модуле</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1177"/>
+ <location filename="../dialogs/configdialog.cpp" line="1202"/>
<source>Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog.</source>
<translation>Модули загружаются и выгружаются сразу после активации/деактивации, однако изменения в списке загружаемых при старте модулей не будут сохранены пока вы не примените изменения в окне конфигурации.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1241"/>
+ <location filename="../dialogs/configdialog.cpp" line="1266"/>
<source>%1 (built-in)</source>
<comment>plugins manager in configuration dialog</comment>
<translation>%1 (встроенный)</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1254"/>
+ <location filename="../dialogs/configdialog.cpp" line="1279"/>
<source>Details</source>
<translation>Сведения</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1266"/>
+ <location filename="../dialogs/configdialog.cpp" line="1291"/>
<source>No plugins in this category.</source>
<translation>В этой категории модулей нет.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1362"/>
+ <location filename="../dialogs/configdialog.cpp" line="1387"/>
<source>Add new data type</source>
<translation>Добавить новый тип данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1366"/>
+ <location filename="../dialogs/configdialog.cpp" line="1391"/>
<source>Rename selected data type</source>
<translation>Переименовать выбранный тип данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1370"/>
+ <location filename="../dialogs/configdialog.cpp" line="1395"/>
<source>Delete selected data type</source>
<translation>Удалить выбранный тип данных</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1374"/>
+ <location filename="../dialogs/configdialog.cpp" line="1399"/>
<source>Help for configuring data type editors</source>
<translation>Справка по настройке редакторов типов данных</translation>
</message>
@@ -1608,122 +1643,130 @@ but it&apos;s okay to use it.</source>
</message>
</context>
<context>
+ <name>CssDebugDialog</name>
+ <message>
+ <location filename="../dialogs/cssdebugdialog.ui" line="14"/>
+ <source>SQLiteStudio CSS console</source>
+ <translation>Консоль CSS SQLiteStudio</translation>
+ </message>
+</context>
+<context>
<name>DataView</name>
<message>
- <location filename="../dataview.cpp" line="95"/>
+ <location filename="../dataview.cpp" line="98"/>
<source>Filter data</source>
<comment>data view</comment>
<translation>Отфильтровать данные</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="104"/>
+ <location filename="../dataview.cpp" line="107"/>
<source>Grid view</source>
<translation>Табличный вид</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="105"/>
+ <location filename="../dataview.cpp" line="108"/>
<source>Form view</source>
<translation>Форма</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="148"/>
+ <location filename="../dataview.cpp" line="165"/>
<source>Refresh table data</source>
<comment>data view</comment>
<translation>Обновить данные таблицы</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="162"/>
+ <location filename="../dataview.cpp" line="179"/>
<source>First page</source>
<comment>data view</comment>
<translation>Первая страница</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="163"/>
+ <location filename="../dataview.cpp" line="180"/>
<source>Previous page</source>
<comment>data view</comment>
<translation>Предыдущая страница</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="165"/>
+ <location filename="../dataview.cpp" line="182"/>
<source>Next page</source>
<comment>data view</comment>
<translation>Следующая страница</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="166"/>
+ <location filename="../dataview.cpp" line="183"/>
<source>Last page</source>
<comment>data view</comment>
<translation>Последняя страница</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="171"/>
+ <location filename="../dataview.cpp" line="188"/>
<source>Apply filter</source>
<comment>data view</comment>
<translation>Применить фильтр</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="186"/>
+ <location filename="../dataview.cpp" line="203"/>
<source>Commit changes for selected cells</source>
<comment>data view</comment>
<translation>Подтвердить изменения для выбранных ячеек</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="187"/>
+ <location filename="../dataview.cpp" line="204"/>
<source>Rollback changes for selected cells</source>
<comment>data view</comment>
<translation>Откатить изменения для выбранных ячеек</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="188"/>
+ <location filename="../dataview.cpp" line="205"/>
<source>Show grid view of results</source>
<comment>sql editor</comment>
<translation>Показать результаты в виде таблицы</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="189"/>
+ <location filename="../dataview.cpp" line="206"/>
<source>Show form view of results</source>
<comment>sql editor</comment>
<translation>Показать результаты в виде формы</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="258"/>
+ <location filename="../dataview.cpp" line="275"/>
<source>Filter by text</source>
<comment>data view</comment>
<translation>Текстовый фильтр</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="259"/>
+ <location filename="../dataview.cpp" line="276"/>
<source>Filter by the Regular Expression</source>
<comment>data view</comment>
<translation>Фильтр по регулярному выражению</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="260"/>
+ <location filename="../dataview.cpp" line="277"/>
<source>Filter by SQL expression</source>
<comment>data view</comment>
<translation>Фильтр по выражению SQL</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="291"/>
+ <location filename="../dataview.cpp" line="308"/>
<source>Tabs on top</source>
<comment>data view</comment>
<translation>Вкладки сверху</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="292"/>
+ <location filename="../dataview.cpp" line="309"/>
<source>Tabs at bottom</source>
<comment>data view</comment>
<translation>Вкладки снизу</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="510"/>
+ <location filename="../dataview.cpp" line="555"/>
<source>Total number of rows is being counted.
Browsing other pages will be possible after the row counting is done.</source>
<translation>Идёт подсчёт общего числа строк.
Переключение на другие страницы станет возможным после окончания подсчёта.</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="521"/>
+ <location filename="../dataview.cpp" line="566"/>
<source>Row: %1</source>
<translation>Строка: %1</translation>
</message>
@@ -1921,32 +1964,32 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation>Обзор</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="488"/>
+ <location filename="../dialogs/dbdialog.cpp" line="483"/>
<source>Enter an unique database name.</source>
<translation>Введите уникальное имя базы данных.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="497"/>
+ <location filename="../dialogs/dbdialog.cpp" line="492"/>
<source>This name is already in use. Please enter unique name.</source>
<translation>Данное имя уже используется. Пожалуйста, укажите уникальное имя.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="505"/>
+ <location filename="../dialogs/dbdialog.cpp" line="500"/>
<source>Enter a database file path.</source>
<translation>Введите путь к базе данных.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="512"/>
+ <location filename="../dialogs/dbdialog.cpp" line="507"/>
<source>This database is already on the list under name: %1</source>
<translation>Указанная база данных уже находится в списке под именем %1</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="528"/>
+ <location filename="../dialogs/dbdialog.cpp" line="523"/>
<source>Select a database type.</source>
<translation>Выберите тип базы данных.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="585"/>
+ <location filename="../dialogs/dbdialog.cpp" line="580"/>
<source>Auto-generated</source>
<translation>Автоматически сгенерировано</translation>
</message>
@@ -1955,7 +1998,7 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation>Имя будет сгенерировано автоматически</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="590"/>
+ <location filename="../dialogs/dbdialog.cpp" line="585"/>
<source>Type the name</source>
<translation>Введите имя</translation>
</message>
@@ -2016,327 +2059,348 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation>Базы данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.ui" line="67"/>
+ <location filename="../dbtree/dbtree.ui" line="73"/>
<source>Filter by name</source>
<translation>Фильтр по имени</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="99"/>
+ <location filename="../dbtree/dbtree.cpp" line="102"/>
<source>Copy</source>
<translation>Копировать</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="100"/>
+ <location filename="../dbtree/dbtree.cpp" line="103"/>
<source>Paste</source>
<translation>Вставить</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="101"/>
+ <location filename="../dbtree/dbtree.cpp" line="104"/>
<source>Select all</source>
<translation>Выделить всё</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="102"/>
+ <location filename="../dbtree/dbtree.cpp" line="105"/>
<source>Create a group</source>
<translation>Создать группу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="103"/>
+ <location filename="../dbtree/dbtree.cpp" line="106"/>
<source>Delete the group</source>
<translation>Удалить группу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="104"/>
+ <location filename="../dbtree/dbtree.cpp" line="107"/>
<source>Rename the group</source>
<translation>Переименовать группу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="105"/>
+ <location filename="../dbtree/dbtree.cpp" line="108"/>
<source>Add a database</source>
<translation>Добавить базу данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="106"/>
+ <location filename="../dbtree/dbtree.cpp" line="109"/>
<source>Edit the database</source>
<translation>Редактировать базу данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="107"/>
+ <location filename="../dbtree/dbtree.cpp" line="110"/>
<source>Remove the database</source>
<translation>Удалить базу данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="108"/>
+ <location filename="../dbtree/dbtree.cpp" line="111"/>
<source>Connect to the database</source>
<translation>Подключиться к базе данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="109"/>
+ <location filename="../dbtree/dbtree.cpp" line="112"/>
<source>Disconnect from the database</source>
<translation>Отключиться от базы данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="110"/>
+ <location filename="../dbtree/dbtree.cpp" line="113"/>
<source>Import</source>
<translation>Импорт</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="111"/>
+ <location filename="../dbtree/dbtree.cpp" line="114"/>
<source>Export the database</source>
<translation>Экспортировать базу данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="112"/>
+ <location filename="../dbtree/dbtree.cpp" line="115"/>
<source>Convert database type</source>
<translation>Сконвертировать тип базы данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="113"/>
+ <location filename="../dbtree/dbtree.cpp" line="116"/>
<source>Vacuum</source>
<translation>Выполнить VACUUM</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="114"/>
+ <location filename="../dbtree/dbtree.cpp" line="117"/>
<source>Integrity check</source>
<translation>Проверить целостность</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="115"/>
+ <location filename="../dbtree/dbtree.cpp" line="118"/>
<source>Create a table</source>
<translation>Создать таблицу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="116"/>
+ <location filename="../dbtree/dbtree.cpp" line="119"/>
<source>Edit the table</source>
<translation>Редактировать таблицу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="117"/>
+ <location filename="../dbtree/dbtree.cpp" line="120"/>
<source>Delete the table</source>
<translation>Удалить таблицу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="118"/>
+ <location filename="../dbtree/dbtree.cpp" line="121"/>
<source>Export the table</source>
<translation>Экспортировать таблицу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="119"/>
+ <location filename="../dbtree/dbtree.cpp" line="122"/>
<source>Import into the table</source>
<translation>Импортировать данные в таблицу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="120"/>
+ <location filename="../dbtree/dbtree.cpp" line="123"/>
<source>Populate table</source>
<translation>Заполнить таблицу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="121"/>
+ <location filename="../dbtree/dbtree.cpp" line="124"/>
<source>Create similar table</source>
<translation>Создать подобную таблицу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="122"/>
+ <location filename="../dbtree/dbtree.cpp" line="125"/>
<source>Reset autoincrement sequence</source>
<translation>Сбросить счётчик автоинкремента</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="123"/>
+ <location filename="../dbtree/dbtree.cpp" line="126"/>
<source>Create an index</source>
<translation>Создать индекс</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="124"/>
+ <location filename="../dbtree/dbtree.cpp" line="127"/>
<source>Edit the index</source>
<translation>Редактировать индекс</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="125"/>
+ <location filename="../dbtree/dbtree.cpp" line="128"/>
<source>Delete the index</source>
<translation>Удалить индекс</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="126"/>
+ <location filename="../dbtree/dbtree.cpp" line="129"/>
<source>Create a trigger</source>
<translation>Создать триггер</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="127"/>
+ <location filename="../dbtree/dbtree.cpp" line="130"/>
<source>Edit the trigger</source>
<translation>Редактировать триггер</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="128"/>
+ <location filename="../dbtree/dbtree.cpp" line="131"/>
<source>Delete the trigger</source>
<translation>Удалить триггер</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="129"/>
+ <location filename="../dbtree/dbtree.cpp" line="132"/>
<source>Create a view</source>
<translation>Создать представление</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="130"/>
+ <location filename="../dbtree/dbtree.cpp" line="133"/>
<source>Edit the view</source>
<translation>Редактировать представление</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="131"/>
+ <location filename="../dbtree/dbtree.cpp" line="134"/>
<source>Delete the view</source>
<translation>Удалить представление</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="132"/>
+ <location filename="../dbtree/dbtree.cpp" line="135"/>
<source>Add a column</source>
<translation>Добавить столбец</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="133"/>
+ <location filename="../dbtree/dbtree.cpp" line="136"/>
<source>Edit the column</source>
<translation>Редактировать столбец</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="134"/>
+ <location filename="../dbtree/dbtree.cpp" line="137"/>
<source>Delete the column</source>
<translation>Удалить столбец</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="135"/>
+ <location filename="../dbtree/dbtree.cpp" line="138"/>
<source>Delete selected items</source>
<translation>Удалить выбранные элементы</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="136"/>
+ <location filename="../dbtree/dbtree.cpp" line="139"/>
<source>Clear filter</source>
<translation>Сбросить фильтр</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="137"/>
+ <location filename="../dbtree/dbtree.cpp" line="140"/>
<source>Refresh all database schemas</source>
<translation>Обновить структуры всех баз данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="138"/>
+ <location filename="../dbtree/dbtree.cpp" line="141"/>
<source>Refresh selected database schema</source>
<translation>Обновить структуру выбранной базы данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="308"/>
- <location filename="../dbtree/dbtree.cpp" line="313"/>
+ <location filename="../dbtree/dbtree.cpp" line="142"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Erase table data</source>
+ <translation>Удалить данные из таблицы</translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="312"/>
+ <location filename="../dbtree/dbtree.cpp" line="317"/>
<source>Database</source>
<translation>База данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="323"/>
+ <location filename="../dbtree/dbtree.cpp" line="327"/>
<source>Grouping</source>
<translation>Группировка</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Create group</source>
<translation>Создать группу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
<source>Group name</source>
<translation>Имя группы</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Entry with name %1 already exists in group %2.</source>
<translation>Элемент с именем %1 уже входит в группу %2.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="953"/>
+ <location filename="../dbtree/dbtree.cpp" line="958"/>
<source>Delete group</source>
<translation>Удалить группу</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="954"/>
+ <location filename="../dbtree/dbtree.cpp" line="959"/>
<source>Are you sure you want to delete group %1?
All objects from this group will be moved to parent group.</source>
<translation>Вы действительно хотите удалить группу %1? Все объекты из данной группы будут перемещены в родительскую группу.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Delete database</source>
<translation>Удалить базу данных</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Are you sure you want to delete database &apos;%1&apos;?</source>
<translation>Вы действительно хотите удалить базу данных &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1050"/>
- <location filename="../dbtree/dbtree.cpp" line="1260"/>
+ <location filename="../dbtree/dbtree.cpp" line="1055"/>
+ <location filename="../dbtree/dbtree.cpp" line="1265"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation>Невозможно произвести импорт, т.к. не загружено ни одного модуля импорта.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1070"/>
- <location filename="../dbtree/dbtree.cpp" line="1235"/>
+ <location filename="../dbtree/dbtree.cpp" line="1075"/>
+ <location filename="../dbtree/dbtree.cpp" line="1240"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Невозможно произвести экспорт, т.к. не загружено ни одного модуля экспорта.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1334"/>
+ <location filename="../dbtree/dbtree.cpp" line="1339"/>
<source>Error while executing VACUUM on the database %1: %2</source>
<translation>Ошибка при выполнении команды VACUUM для базы данных %1: %2</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1336"/>
+ <location filename="../dbtree/dbtree.cpp" line="1341"/>
<source>VACUUM execution finished successfully.</source>
<translation>Выполнение команды VACUUM успешно завершено.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1353"/>
+ <location filename="../dbtree/dbtree.cpp" line="1358"/>
<source>Integrity check (%1)</source>
<translation>Проверка целостности (%1)</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Reset autoincrement</source>
<translation>Сброс счётчика автоинкремента</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation>Вы действительно хотите сбросить счётчик автоинкремента у таблицы &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1397"/>
+ <location filename="../dbtree/dbtree.cpp" line="1402"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation>При попытке сброса счётчика автоинкремента у таблицы &apos;%1&apos; произошла ошибка: %2</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1399"/>
+ <location filename="../dbtree/dbtree.cpp" line="1404"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation>Сброс счётчика автоинкремента у таблицы &apos;%1&apos; успешно выполнен.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1501"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Are you sure you want to delete all data from table &apos;%1&apos;?</source>
+ <translation>Вы действительно хотите удалить все данные из таблицы &apos;%1&apos;?</translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1429"/>
+ <source>An error occurred while trying to delete data from table &apos;%1&apos;: %2</source>
+ <translation>При попытке удаления данных из таблицы &apos;%1&apos; произошла ошибка: %2</translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1433"/>
+ <source>All data has been deleted for table &apos;%1&apos;.</source>
+ <translation>Из таблицы &apos;%1&apos; были удалены все данные.</translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1535"/>
<source>Following objects will be deleted: %1.</source>
<translation>Будут удалены следующие объекты: %1.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1504"/>
+ <location filename="../dbtree/dbtree.cpp" line="1538"/>
<source>Following databases will be removed from list: %1.</source>
<translation>Из списка будут удалены следующие базы данных: %1.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1507"/>
+ <location filename="../dbtree/dbtree.cpp" line="1541"/>
<source>Remainig objects from deleted group will be moved in place where the group used to be.</source>
<translation>Оставшиеся после удаления группы объекты будут перемещены туда, где ранее располагалась группа.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1509"/>
+ <location filename="../dbtree/dbtree.cpp" line="1543"/>
<source>%1&lt;br&gt;&lt;br&gt;Are you sure you want to continue?</source>
<translation>%11&lt;br&gt;&lt;br&gt;Вы действительно хотите продолжить?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1511"/>
+ <location filename="../dbtree/dbtree.cpp" line="1545"/>
<source>Delete objects</source>
<translation>Удалить объекты</translation>
</message>
@@ -2371,125 +2435,130 @@ All objects from this group will be moved to parent group.</source>
<context>
<name>DbTreeModel</name>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="407"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="422"/>
<source>Database: %1</source>
<comment>dbtree tooltip</comment>
<translation>База данных: %1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="412"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="427"/>
<source>Version:</source>
<comment>dbtree tooltip</comment>
<translation>Версия:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="413"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="430"/>
<source>File size:</source>
<comment>dbtree tooltip</comment>
<translation>Размер файла:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="414"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="433"/>
<source>Encoding:</source>
<comment>dbtree tooltip</comment>
<translation>Кодировка:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="419"/>
<source>Error details:</source>
<comment>dbtree tooltip</comment>
<translation>Подробности ошибки:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="429"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="438"/>
+ <source>Error:</source>
+ <comment>dbtree tooltip</comment>
+ <translation>Ошибка:</translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtreemodel.cpp" line="448"/>
<source>Table : %1</source>
<comment>dbtree tooltip</comment>
<translation>Таблица: %1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="452"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="471"/>
<source>Columns (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Столбцы (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="455"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="474"/>
<source>Indexes (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Индексы (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="458"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="477"/>
<source>Triggers (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Триггеры (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1073"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1092"/>
<source>Copy</source>
<translation>Копировать</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1074"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1093"/>
<source>Move</source>
<translation>Переместить</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1076"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1095"/>
<source>Include data</source>
<translation>Включая данные</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1077"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1096"/>
<source>Include indexes</source>
<translation>Включая индексы</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1078"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1097"/>
<source>Include triggers</source>
<translation>Включая триггеры</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1080"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1099"/>
<source>Abort</source>
<translation>Прервать</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1156"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1175"/>
<source>Referenced tables</source>
<translation>Связанные таблицы</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1157"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1176"/>
<source>Do you want to include following referenced tables as well:
%1</source>
<translation>Вы хотите также включить следующие связанные таблицы:
%1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1166"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1185"/>
<source>Name conflict</source>
<translation>Конфликт имён</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1167"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1186"/>
<source>Following object already exists in the target database.
Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</source>
<translation>Данный объект уже существует в целевой базе данных.
Пожалуйста введите новое уникальное имя или нажмите %1 для прерывания операции:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1180"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1199"/>
<source>SQL statements conversion</source>
<translation>Конвертация конструкций SQL</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1188"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1207"/>
<source>Following error occurred while converting SQL statements to the target SQLite version:</source>
<translation>При конвертации конструкций SQL в новую версию SQLite произошла ошибка:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1189"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1208"/>
<source>Would you like to ignore those errors and proceed?</source>
<translation>Вы хотите проигнорировать эти ошибки и продолжить?</translation>
</message>
@@ -2540,135 +2609,135 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>EditorWindow</name>
<message>
- <location filename="../windows/editorwindow.ui" line="39"/>
+ <location filename="../windows/editorwindow.ui" line="42"/>
<source>Query</source>
<translation>Запрос</translation>
</message>
<message>
- <location filename="../windows/editorwindow.ui" line="109"/>
+ <location filename="../windows/editorwindow.ui" line="112"/>
<source>History</source>
<translation>История</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="130"/>
+ <location filename="../windows/editorwindow.cpp" line="137"/>
<source>Results in the separate tab</source>
<translation>Результаты в отдельной вкладке</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="131"/>
+ <location filename="../windows/editorwindow.cpp" line="138"/>
<source>Results below the query</source>
<translation>Результаты под запросом</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="164"/>
- <location filename="../windows/editorwindow.cpp" line="166"/>
+ <location filename="../windows/editorwindow.cpp" line="171"/>
+ <location filename="../windows/editorwindow.cpp" line="173"/>
<source>SQL editor %1</source>
<translation>Редактор SQL %1</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="324"/>
+ <location filename="../windows/editorwindow.cpp" line="331"/>
<source>Results</source>
<translation>Результаты</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="357"/>
+ <location filename="../windows/editorwindow.cpp" line="364"/>
<source>Execute query</source>
<translation>Выполнить запрос</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="358"/>
+ <location filename="../windows/editorwindow.cpp" line="365"/>
<source>Explain query</source>
<translation>План запроса</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="361"/>
+ <location filename="../windows/editorwindow.cpp" line="368"/>
<source>Clear execution history</source>
<comment>sql editor</comment>
<translation>Очистить историю запросов</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="363"/>
+ <location filename="../windows/editorwindow.cpp" line="370"/>
<source>Export results</source>
<comment>sql editor</comment>
<translation>Экспортировать результаты</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="365"/>
+ <location filename="../windows/editorwindow.cpp" line="372"/>
<source>Create view from query</source>
<comment>sql editor</comment>
<translation>Создать представление из запроса</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="374"/>
+ <location filename="../windows/editorwindow.cpp" line="382"/>
<source>Previous database</source>
<translation>Предыдущая база данных</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="375"/>
+ <location filename="../windows/editorwindow.cpp" line="383"/>
<source>Next database</source>
<translation>Следующая база данных</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="378"/>
+ <location filename="../windows/editorwindow.cpp" line="386"/>
<source>Show next tab</source>
<comment>sql editor</comment>
<translation>Открыть следующую вкладку</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="379"/>
+ <location filename="../windows/editorwindow.cpp" line="387"/>
<source>Show previous tab</source>
<comment>sql editor</comment>
<translation>Открыть предыдущую вкладку</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="380"/>
+ <location filename="../windows/editorwindow.cpp" line="388"/>
<source>Focus results below</source>
<comment>sql editor</comment>
<translation>Фокус на результатах внизу</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="381"/>
+ <location filename="../windows/editorwindow.cpp" line="389"/>
<source>Focus SQL editor above</source>
<comment>sql editor</comment>
<translation>Фокус на редакторе SQL сверху</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="455"/>
+ <location filename="../windows/editorwindow.cpp" line="463"/>
<source>Active database (%1/%2)</source>
<translation>Текущая база данных (%1/%2)</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="495"/>
+ <location filename="../windows/editorwindow.cpp" line="503"/>
<source>Query finished in %1 second(s). Rows affected: %2</source>
<translation>Запрос выполнен за %1 секунд. Затронуто строк: %2</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="499"/>
+ <location filename="../windows/editorwindow.cpp" line="507"/>
<source>Query finished in %1 second(s).</source>
<translation>Запрос выполнен за %1 секунд.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Clear execution history</source>
<translation>Очистка истории запросов</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Are you sure you want to erase the entire SQL execution history? This cannot be undone.</source>
<translation>Вы действительно хотите удалить всю историю выполнения SQL запросов? Операцию невозможно отменить.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="613"/>
+ <location filename="../windows/editorwindow.cpp" line="621"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Невозможно произвести экспорт, т.к. не загружено ни одного модуля экспорта.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="634"/>
+ <location filename="../windows/editorwindow.cpp" line="642"/>
<source>No database selected in the SQL editor. Cannot create a view for unknown database.</source>
<translation>В редакторе SQL не выбрана база данных. Невозможно создать представление в неизвестной базе данных.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="664"/>
+ <location filename="../windows/editorwindow.cpp" line="672"/>
<source>Editor window &quot;%1&quot; has uncommited data.</source>
<translation>В окне редактора &quot;%1&quot; имеются неподтверждённые данные.</translation>
</message>
@@ -2922,49 +2991,49 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>FormView</name>
<message>
- <location filename="../formview.cpp" line="253"/>
+ <location filename="../formview.cpp" line="241"/>
<source>Commit row</source>
<comment>form view</comment>
<translation>Подтвердить строку</translation>
</message>
<message>
- <location filename="../formview.cpp" line="254"/>
+ <location filename="../formview.cpp" line="242"/>
<source>Rollback row</source>
<comment>form view</comment>
<translation>Откатить строку</translation>
</message>
<message>
- <location filename="../formview.cpp" line="255"/>
+ <location filename="../formview.cpp" line="243"/>
<source>First row</source>
<comment>form view</comment>
<translation>Первая строка</translation>
</message>
<message>
- <location filename="../formview.cpp" line="256"/>
+ <location filename="../formview.cpp" line="244"/>
<source>Previous row</source>
<comment>form view</comment>
<translation>Предыдущая строка</translation>
</message>
<message>
- <location filename="../formview.cpp" line="257"/>
+ <location filename="../formview.cpp" line="245"/>
<source>Next row</source>
<comment>form view</comment>
<translation>Следующая строка</translation>
</message>
<message>
- <location filename="../formview.cpp" line="258"/>
+ <location filename="../formview.cpp" line="246"/>
<source>Last row</source>
<comment>form view</comment>
<translation>Последняя строка</translation>
</message>
<message>
- <location filename="../formview.cpp" line="259"/>
+ <location filename="../formview.cpp" line="247"/>
<source>Insert new row</source>
<comment>form view</comment>
<translation>Вставить новую строку</translation>
</message>
<message>
- <location filename="../formview.cpp" line="260"/>
+ <location filename="../formview.cpp" line="248"/>
<source>Delete current row</source>
<comment>form view</comment>
<translation>Удалить текущую строку</translation>
@@ -2978,58 +3047,58 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation>Отфильтровать функции</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="151"/>
+ <location filename="../windows/functionseditor.ui" line="260"/>
<source>Function name:</source>
<translation>Имя функции:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="161"/>
+ <location filename="../windows/functionseditor.ui" line="273"/>
<source>Implementation language:</source>
<translation>Язык реализации:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="171"/>
+ <location filename="../windows/functionseditor.ui" line="253"/>
<source>Type:</source>
<translation>Тип:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="187"/>
+ <location filename="../windows/functionseditor.ui" line="157"/>
<source>Input arguments</source>
<translation>Передаваемые аргументы</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="193"/>
+ <location filename="../windows/functionseditor.ui" line="163"/>
<source>Undefined</source>
<translation>Не определено</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="235"/>
+ <location filename="../windows/functionseditor.ui" line="205"/>
<source>Databases</source>
<translation>Базы данных</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="241"/>
+ <location filename="../windows/functionseditor.ui" line="211"/>
<source>Register in all databases</source>
<translation>Зарегистрировать во всех базах данных</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="248"/>
+ <location filename="../windows/functionseditor.ui" line="218"/>
<source>Register in following databases:</source>
<translation>Зарегистрировать в следующих базах данных:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="278"/>
+ <location filename="../windows/functionseditor.ui" line="293"/>
<source>Initialization code:</source>
<translation>Код инициализации:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="294"/>
+ <location filename="../windows/functionseditor.ui" line="309"/>
<location filename="../windows/functionseditor.cpp" line="426"/>
<source>Function implementation code:</source>
<translation>Код реализации функции:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="310"/>
+ <location filename="../windows/functionseditor.ui" line="325"/>
<source>Final step implementation code:</source>
<translation>Код реализации последнего шага:</translation>
</message>
@@ -3354,293 +3423,298 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MainWindow</name>
<message>
- <location filename="../mainwindow.ui" line="66"/>
+ <location filename="../mainwindow.ui" line="81"/>
<source>Database toolbar</source>
<translation>Панель базы данных</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="77"/>
+ <location filename="../mainwindow.ui" line="92"/>
<source>Structure toolbar</source>
<translation>Панель структуры</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="88"/>
+ <location filename="../mainwindow.ui" line="103"/>
<source>Tools</source>
<translation>Инструменты</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="105"/>
+ <location filename="../mainwindow.ui" line="120"/>
<source>Window list</source>
<translation>Список окон</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="119"/>
+ <location filename="../mainwindow.ui" line="134"/>
<source>View toolbar</source>
<translation>Панель отображения</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="104"/>
+ <location filename="../mainwindow.cpp" line="107"/>
<source>Configuration widgets</source>
<translation>Виджеты конфигурации</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="105"/>
+ <location filename="../mainwindow.cpp" line="108"/>
<source>Syntax highlighting engines</source>
<translation>Движки синтаксической подсветки</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="106"/>
+ <location filename="../mainwindow.cpp" line="109"/>
<source>Data editors</source>
<translation>Редакторы данных</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="118"/>
+ <location filename="../mainwindow.cpp" line="121"/>
<source>Running in debug mode. Press %1 or use &apos;Help / Open debug console&apos; menu entry to open the debug console.</source>
<translation>Отладочный режим. Нажмите %1 или воспользуйтесь пунктом меню &apos;Справка / Открыть отладочную консоль&apos; для открытия отладочной консоли.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="120"/>
+ <location filename="../mainwindow.cpp" line="123"/>
<source>Running in debug mode. Debug messages are printed to the standard output.</source>
<translation>Отладочный режим. Отладочные сообщения выводятся в стандартный выходной поток.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="202"/>
+ <location filename="../mainwindow.cpp" line="211"/>
<source>You need to restart application to make the language change take effect.</source>
<translation>Для смены языка необходимо перезапустить приложение.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="245"/>
+ <location filename="../mainwindow.cpp" line="254"/>
<source>Open SQL editor</source>
<translation>Открыть редактор SQL</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="246"/>
+ <location filename="../mainwindow.cpp" line="255"/>
<source>Open DDL history</source>
<translation>Открыть историю DDL</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="247"/>
+ <location filename="../mainwindow.cpp" line="256"/>
<source>Open SQL functions editor</source>
<translation>Открыть редактор функций SQL</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="248"/>
+ <location filename="../mainwindow.cpp" line="257"/>
<source>Open collations editor</source>
<translation>Открыть редактор сравнений</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="249"/>
+ <location filename="../mainwindow.cpp" line="258"/>
<source>Import</source>
<translation>Импорт</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="250"/>
+ <location filename="../mainwindow.cpp" line="259"/>
<source>Export</source>
<translation>Экспорт</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="252"/>
+ <location filename="../mainwindow.cpp" line="261"/>
<source>Open configuration dialog</source>
<translation>Открыть диалог конфигурации</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="254"/>
+ <location filename="../mainwindow.cpp" line="263"/>
<source>Tile windows</source>
<translation>Расположить окна плиткой</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="255"/>
+ <location filename="../mainwindow.cpp" line="264"/>
<source>Tile windows horizontally</source>
<translation>Расположить окна по горизонтали</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="256"/>
+ <location filename="../mainwindow.cpp" line="265"/>
<source>Tile windows vertically</source>
<translation>Расположить окна по вертикали</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="257"/>
+ <location filename="../mainwindow.cpp" line="266"/>
<source>Cascade windows</source>
<translation>Расположить окна каскадом</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="258"/>
+ <location filename="../mainwindow.cpp" line="267"/>
<source>Next window</source>
<translation>Следующее окно</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="259"/>
+ <location filename="../mainwindow.cpp" line="268"/>
<source>Previous window</source>
<translation>Предыдущее окно</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="260"/>
+ <location filename="../mainwindow.cpp" line="269"/>
<source>Hide status field</source>
<translation>Скрыть окно статуса</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="262"/>
+ <location filename="../mainwindow.cpp" line="271"/>
<source>Close selected window</source>
<translation>Закрыть выбранное окно</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="263"/>
+ <location filename="../mainwindow.cpp" line="272"/>
<source>Close all windows but selected</source>
<translation>Закрыть все окна, кроме выбранного</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="264"/>
+ <location filename="../mainwindow.cpp" line="273"/>
<source>Close all windows</source>
<translation>Закрыть все окна</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="265"/>
+ <location filename="../mainwindow.cpp" line="274"/>
<source>Restore recently closed window</source>
<translation>Восстановить недавно закрытые окна</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="266"/>
+ <location filename="../mainwindow.cpp" line="275"/>
<source>Rename selected window</source>
<translation>Переименовать выбранное окно</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="268"/>
+ <location filename="../mainwindow.cpp" line="277"/>
<source>Open Debug Console</source>
<translation>Открыть отладочную консоль</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="269"/>
+ <location filename="../mainwindow.cpp" line="278"/>
+ <source>Open CSS Console</source>
+ <translation>Открыть консоль CSS</translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="279"/>
<source>Report a bug</source>
<translation>Сообщить об ошибке</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="270"/>
+ <location filename="../mainwindow.cpp" line="280"/>
<source>Propose a new feature</source>
<translation>Предложить новый функционал</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="271"/>
+ <location filename="../mainwindow.cpp" line="281"/>
<source>About</source>
<translation>О программе</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="272"/>
+ <location filename="../mainwindow.cpp" line="282"/>
<source>Licenses</source>
<translation>Лицензии</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="273"/>
+ <location filename="../mainwindow.cpp" line="283"/>
<source>Open home page</source>
<translation>Открыть домашнюю страницу</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="274"/>
+ <location filename="../mainwindow.cpp" line="284"/>
<source>Open forum page</source>
<translation>Открыть страницу форума</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="275"/>
+ <location filename="../mainwindow.cpp" line="285"/>
<source>User Manual</source>
<translation>Руководство пользователя</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="276"/>
+ <location filename="../mainwindow.cpp" line="286"/>
<source>SQLite documentation</source>
<translation>Документация по SQLite</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="277"/>
+ <location filename="../mainwindow.cpp" line="287"/>
<source>Report history</source>
<translation>История отчётов</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="278"/>
+ <location filename="../mainwindow.cpp" line="289"/>
<source>Check for updates</source>
<translation>Проверить обновления</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="315"/>
+ <location filename="../mainwindow.cpp" line="327"/>
<source>Database</source>
<comment>menubar</comment>
<translation>База данных</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="335"/>
+ <location filename="../mainwindow.cpp" line="347"/>
<source>Structure</source>
<comment>menubar</comment>
<translation>Структура</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="356"/>
+ <location filename="../mainwindow.cpp" line="368"/>
<source>View</source>
<comment>menubar</comment>
<translation>Вид</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="360"/>
+ <location filename="../mainwindow.cpp" line="372"/>
<source>Window list</source>
<comment>menubar view menu</comment>
<translation>Окна</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="381"/>
+ <location filename="../mainwindow.cpp" line="393"/>
<source>Tools</source>
<comment>menubar</comment>
<translation>Инструменты</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="395"/>
+ <location filename="../mainwindow.cpp" line="407"/>
<source>Help</source>
<translation>Справка</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="549"/>
+ <location filename="../mainwindow.cpp" line="569"/>
<source>Could not set style: %1</source>
<comment>main window</comment>
<translation>Невозможно применить стиль: %1</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="621"/>
+ <location filename="../mainwindow.cpp" line="642"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Невозможно произвести экспорт, т.к. не загружено ни одного модуля экспорта.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="637"/>
+ <location filename="../mainwindow.cpp" line="658"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation>Невозможно произвести импорт, т.к. не загружено ни одного модуля импорта.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Rename window</source>
<translation>Переименовать окно</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Enter new name for the window:</source>
<translation>Введите новое имя для окна:</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="738"/>
+ <location filename="../mainwindow.cpp" line="777"/>
<source>New updates are available. &lt;a href=&quot;%1&quot;&gt;Click here for details&lt;/a&gt;.</source>
<translation>Доступны обновления. &lt;a href=&quot;%1&quot;&gt;Нажмите здесь для подробностей&lt;/a&gt;.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="746"/>
+ <location filename="../mainwindow.cpp" line="785"/>
<source>You&apos;re running the most recent version. No updates are available.</source>
<translation>Установлена последняя версия. Обновлений нет.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="845"/>
+ <location filename="../mainwindow.cpp" line="891"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation>База данных, переданная через аргументы командной строки (%1), уже находится в списке под именем %2</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="852"/>
+ <location filename="../mainwindow.cpp" line="898"/>
<source>Database passed in command line parameters (%1) has been temporarily added to the list under name: %2</source>
<translation>База данных, переданная через аргументы командной строки (%1), была временно добавлена в список под именем %2</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="857"/>
+ <location filename="../mainwindow.cpp" line="903"/>
<source>Could not add database %1 to list.</source>
<translation>Невозможно добавить базу данных %1 в список.</translation>
</message>
@@ -3666,29 +3740,29 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MultiEditor</name>
<message>
- <location filename="../multieditor/multieditor.cpp" line="53"/>
+ <location filename="../multieditor/multieditor.cpp" line="62"/>
<source>Null value</source>
<comment>multieditor</comment>
<translation>Значение Null</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="68"/>
+ <location filename="../multieditor/multieditor.cpp" line="77"/>
<source>Configure editors for this data type</source>
<translation>Настройте редакторы для этого типа данных</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="271"/>
+ <location filename="../multieditor/multieditor.cpp" line="287"/>
<source>Data editor plugin &apos;%1&apos; not loaded, while it is defined for editing &apos;%1&apos; data type.</source>
<translation>Модуль редактора данных &apos;%1&apos; не загружен, хотя указан для редактирования типа данных &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="356"/>
+ <location filename="../multieditor/multieditor.cpp" line="372"/>
<source>Deleted</source>
<comment>multieditor</comment>
<translation>Удалено</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="358"/>
+ <location filename="../multieditor/multieditor.cpp" line="374"/>
<source>Read only</source>
<comment>multieditor</comment>
<translation>Только для чтения</translation>
@@ -3940,27 +4014,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation>Заполнить</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="158"/>
+ <location filename="../dialogs/populatedialog.cpp" line="54"/>
+ <source>Abort</source>
+ <translation>Прервать</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/populatedialog.cpp" line="161"/>
<source>Configure</source>
<translation>Настроить</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="256"/>
+ <location filename="../dialogs/populatedialog.cpp" line="259"/>
<source>Populating configuration for this column is invalid or incomplete.</source>
<translation>Настройка заполнения для данного столбца некорректна или незавершена.</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="287"/>
+ <location filename="../dialogs/populatedialog.cpp" line="290"/>
<source>Select database with table to populate</source>
<translation>Выберите базу данных с таблицей для заполнения</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="288"/>
+ <location filename="../dialogs/populatedialog.cpp" line="291"/>
<source>Select table to populate</source>
<translation>Выберите таблицу для заполнения</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="289"/>
+ <location filename="../dialogs/populatedialog.cpp" line="292"/>
<source>You have to select at least one column.</source>
<translation>Необходимо выбрать хотя бы один столбец.</translation>
</message>
@@ -4085,32 +4164,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation>Открыть содержимое выбранной ячейки в отдельном редакторе</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="487"/>
+ <location filename="../dataview.cpp" line="532"/>
<source>Total pages available: %1</source>
<translation>Всего доступно страниц: %1</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="497"/>
+ <location filename="../dataview.cpp" line="542"/>
<source>Total rows loaded: %1</source>
<translation>Всего загружено строк: %1</translation>
</message>
<message>
- <location filename="../dataview.h" line="17"/>
+ <location filename="../dataview.h" line="18"/>
<source>Data view (both grid and form)</source>
<translation>Окно данных (и табличный вид, и форма)</translation>
</message>
<message>
- <location filename="../dataview.h" line="18"/>
+ <location filename="../dataview.h" line="19"/>
<source>Refresh data</source>
<translation>Обновить данные</translation>
</message>
<message>
- <location filename="../dataview.h" line="19"/>
+ <location filename="../dataview.h" line="20"/>
<source>Switch to grid view of the data</source>
<translation>Переключиться с табличного вида на форму</translation>
</message>
<message>
- <location filename="../dataview.h" line="20"/>
+ <location filename="../dataview.h" line="21"/>
<source>Switch to form view of the data</source>
<translation>Переключиться из формы на табличный вид</translation>
</message>
@@ -4232,41 +4311,46 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation>Удалить текущую строку</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="42"/>
+ <location filename="../mainwindow.h" line="43"/>
<source>Main window</source>
<translation>Главное окно</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="43"/>
+ <location filename="../mainwindow.h" line="44"/>
<source>Open SQL editor</source>
<translation>Открыть редактор SQL</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="44"/>
+ <location filename="../mainwindow.h" line="45"/>
<source>Previous window</source>
<translation>Предыдущее окно</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="45"/>
+ <location filename="../mainwindow.h" line="46"/>
<source>Next window</source>
<translation>Следующее окно</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="46"/>
+ <location filename="../mainwindow.h" line="47"/>
<source>Hide status area</source>
<translation>Скрыть область статуса</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="47"/>
+ <location filename="../mainwindow.h" line="48"/>
<source>Open configuration dialog</source>
<translation>Открыть диалог конфигурации</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="48"/>
+ <location filename="../mainwindow.h" line="49"/>
<source>Open Debug Console</source>
<translation>Открыть отладочную консоль</translation>
</message>
<message>
+ <location filename="../mainwindow.h" line="50"/>
+ <source>Open CSS Console</source>
+ <translation>Открыть консоль CSS</translation>
+ </message>
+ <message>
<location filename="../multieditor/multieditortext.h" line="12"/>
<source>Cell text value editor</source>
<translation>Редактор текстового значения чейки</translation>
@@ -4661,7 +4745,7 @@ find next</source>
<message>
<location filename="../dialogs/sortdialog.cpp" line="243"/>
<source>Move column down</source>
- <translation>Переместить столбец вних</translation>
+ <translation>Переместить столбец вниз</translation>
</message>
</context>
<context>
@@ -4728,101 +4812,112 @@ find next</source>
</message>
<message>
<location filename="../sqleditor.cpp" line="128"/>
+ <source>Select file to save SQL</source>
+ <comment>sql editor</comment>
+ <translation>Выбрать файл для сохранения SQL</translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="129"/>
<source>Load SQL from file</source>
<comment>sql editor</comment>
<translation>Загрузить SQL из файла</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="129"/>
+ <location filename="../sqleditor.cpp" line="130"/>
<source>Delete line</source>
<comment>sql editor</comment>
<translation>Удалить строчку</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="130"/>
+ <location filename="../sqleditor.cpp" line="131"/>
<source>Move block down</source>
<comment>sql editor</comment>
<translation>Переместить блок вниз</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="131"/>
+ <location filename="../sqleditor.cpp" line="132"/>
<source>Move block up</source>
<comment>sql editor</comment>
<translation>Переместить блок вверх</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="132"/>
+ <location filename="../sqleditor.cpp" line="133"/>
<source>Copy block down</source>
<comment>sql editor</comment>
<translation>Копировать блок вниз</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="133"/>
+ <location filename="../sqleditor.cpp" line="134"/>
<source>Copy up down</source>
<comment>sql editor</comment>
<translation>Копировать блок вверх</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="134"/>
+ <location filename="../sqleditor.cpp" line="135"/>
<source>Find</source>
<comment>sql editor</comment>
<translation>Найти</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="135"/>
+ <location filename="../sqleditor.cpp" line="136"/>
<source>Find next</source>
<comment>sql editor</comment>
<translation>Найти далее</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="136"/>
+ <location filename="../sqleditor.cpp" line="137"/>
<source>Find previous</source>
<comment>sql editor</comment>
<translation>Найти предыдущее</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="137"/>
+ <location filename="../sqleditor.cpp" line="138"/>
<source>Replace</source>
<comment>sql editor</comment>
<translation>Заменить</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="412"/>
+ <location filename="../sqleditor.cpp" line="252"/>
+ <source>Saved SQL contents to file: %1</source>
+ <translation>SQL-код сохранён в файле %1</translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="431"/>
<source>Syntax completion can be used only when a valid database is set for the SQL editor.</source>
<translation>Дополнение синтаксиса может быть использовано только после назначения корректной базы данных редактору SQL.</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="800"/>
+ <location filename="../sqleditor.cpp" line="819"/>
<source>Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled.</source>
<translation>Размер содержимого редактора SQL слишком велико, поэтому обнаружение ошибок и подсветка существующих объектов временно отключена.</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1027"/>
+ <location filename="../sqleditor.cpp" line="1054"/>
<source>Save to file</source>
<translation>Сохранить в файл</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1036"/>
+ <location filename="../sqleditor.cpp" line="242"/>
<source>Could not open file &apos;%1&apos; for writing: %2</source>
<translation>Невозможно открыть файл &apos;%1&apos; для записи: %2</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1050"/>
+ <location filename="../sqleditor.cpp" line="1066"/>
<source>SQL scripts (*.sql);;All files (*)</source>
<translation>Скрипты SQL (*.sql);;Все файлы (*)</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1051"/>
+ <location filename="../sqleditor.cpp" line="1067"/>
<source>Open file</source>
<translation>Открыть файл</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1060"/>
+ <location filename="../sqleditor.cpp" line="1076"/>
<source>Could not open file &apos;%1&apos; for reading: %2</source>
<translation>Невозможно открыть файл &apos;%1&apos; для чтения: %2</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1267"/>
+ <location filename="../sqleditor.cpp" line="1285"/>
<source>Reached the end of document. Hit the find again to restart the search.</source>
<translation>Достигнут конец документа. Нажмите Найти снова для перезапуска поиска.</translation>
</message>
@@ -4882,7 +4977,7 @@ find next</source>
<name>SqlQueryModel</name>
<message>
<location filename="../datagrid/sqlquerymodel.cpp" line="63"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="474"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="487"/>
<source>Only one query can be executed simultaneously.</source>
<translation>Одновременно может быть выполнен только один запрос.</translation>
</message>
@@ -4907,43 +5002,43 @@ find next</source>
<translation>Невозможно начать транзакцию в базе данных. Подробности: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="415"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="420"/>
<source>An error occurred while commiting the transaction: %1</source>
<translation>При завершении транзакции возникла ошибка: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="434"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="445"/>
<source>An error occurred while rolling back the transaction: %1</source>
<translation>При отмене транзакции возникла ошибка: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="560"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="573"/>
<source>Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it.</source>
<translation>Попытка подтверждения данных для нередактируемой ячейки (которая тем не менее была изменена и ожидает подтверждения). Это программная ошибка. Пожалуйста, отправьте о ней отчёт.</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="586"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="599"/>
<source>An error occurred while commiting the data: %1</source>
<translation>При подтверждении данных произошла ошибка: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1031"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1086"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1045"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1100"/>
<source>Error while executing SQL query on database &apos;%1&apos;: %2</source>
<translation>Ошибка при выполнении SQL запроса к базе данных &apos;%1&apos;: %2</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1083"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1097"/>
<source>Error while loading query results: %1</source>
<translation>Ошибка при загрузке результатов запроса: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Insert multiple rows</source>
<translation>Вставить несколько строк</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Number of rows to insert:</source>
<translation>Количество вставляемых строк:</translation>
</message>
@@ -5062,12 +5157,12 @@ find next</source>
<translation>Статус</translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="161"/>
+ <location filename="../statusfield.cpp" line="164"/>
<source>Copy</source>
<translation>Копировать</translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="168"/>
+ <location filename="../statusfield.cpp" line="171"/>
<source>Clear</source>
<translation>Очистить</translation>
</message>
@@ -5273,219 +5368,219 @@ but it&apos;s okay to use them anyway.</source>
<translation>Имя таблицы:</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="184"/>
+ <location filename="../windows/tablewindow.ui" line="190"/>
<source>Data</source>
<translation>Данные</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="201"/>
+ <location filename="../windows/tablewindow.ui" line="207"/>
<source>Constraints</source>
<translation>Ограничения</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="215"/>
+ <location filename="../windows/tablewindow.ui" line="221"/>
<source>Indexes</source>
<translation>Индексы</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="244"/>
+ <location filename="../windows/tablewindow.ui" line="250"/>
<source>Triggers</source>
<translation>Триггеры</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="276"/>
+ <location filename="../windows/tablewindow.ui" line="282"/>
<source>DDL</source>
<translation>DDL</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="180"/>
+ <location filename="../windows/tablewindow.cpp" line="191"/>
<source>Export table</source>
<comment>table window</comment>
<translation>Экспортировать таблицу</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="181"/>
+ <location filename="../windows/tablewindow.cpp" line="192"/>
<source>Import data to table</source>
<comment>table window</comment>
<translation>Импортировать данные в таблицу</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="182"/>
+ <location filename="../windows/tablewindow.cpp" line="193"/>
<source>Populate table</source>
<comment>table window</comment>
<translation>Заполнить таблицу</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="196"/>
+ <location filename="../windows/tablewindow.cpp" line="207"/>
<source>Refresh structure</source>
<comment>table window</comment>
<translation>Обновить структуру</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="198"/>
+ <location filename="../windows/tablewindow.cpp" line="209"/>
<source>Commit structure changes</source>
<comment>table window</comment>
<translation>Подтвердить изменения структуры</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="199"/>
+ <location filename="../windows/tablewindow.cpp" line="210"/>
<source>Rollback structure changes</source>
<comment>table window</comment>
<translation>Откатить изменения структуры</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="200"/>
+ <location filename="../windows/tablewindow.cpp" line="211"/>
<source>Add column</source>
<comment>table window</comment>
<translation>Добавить столбец</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="201"/>
+ <location filename="../windows/tablewindow.cpp" line="212"/>
<source>Edit column</source>
<comment>table window</comment>
<translation>Редактировать столбец</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="202"/>
- <location filename="../windows/tablewindow.cpp" line="289"/>
+ <location filename="../windows/tablewindow.cpp" line="213"/>
+ <location filename="../windows/tablewindow.cpp" line="300"/>
<source>Delete column</source>
<comment>table window</comment>
<translation>Удалить столбец</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="203"/>
+ <location filename="../windows/tablewindow.cpp" line="214"/>
<source>Move column up</source>
<comment>table window</comment>
<translation>Переместить столбец вверх</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="204"/>
+ <location filename="../windows/tablewindow.cpp" line="215"/>
<source>Move column down</source>
<comment>table window</comment>
- <translation>Переместить столбец вних</translation>
+ <translation>Переместить столбец вниз</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="210"/>
+ <location filename="../windows/tablewindow.cpp" line="221"/>
<source>Create similar table</source>
<comment>table window</comment>
<translation>Создать подобную таблицу</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="211"/>
+ <location filename="../windows/tablewindow.cpp" line="222"/>
<source>Reset autoincrement value</source>
<comment>table window</comment>
<translation>Сбросить счётчик автоинкремента</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="214"/>
+ <location filename="../windows/tablewindow.cpp" line="225"/>
<source>Add table constraint</source>
<comment>table window</comment>
<translation>Добавить ограничение на таблицу</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="215"/>
+ <location filename="../windows/tablewindow.cpp" line="226"/>
<source>Edit table constraint</source>
<comment>table window</comment>
<translation>Редактировать ограничение на таблицу</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="216"/>
+ <location filename="../windows/tablewindow.cpp" line="227"/>
<source>Delete table constraint</source>
<comment>table window</comment>
<translation>Удалить ограничение на таблицу</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="217"/>
+ <location filename="../windows/tablewindow.cpp" line="228"/>
<source>Move table constraint up</source>
<comment>table window</comment>
<translation>Переместить ограничение на таблицу вверх</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="218"/>
+ <location filename="../windows/tablewindow.cpp" line="229"/>
<source>Move table constraint down</source>
<comment>table window</comment>
<translation>Переместить ограничение на таблицу вниз</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="220"/>
+ <location filename="../windows/tablewindow.cpp" line="231"/>
<source>Add table primary key</source>
<comment>table window</comment>
<translation>Добавить первичный ключ таблицы</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="221"/>
+ <location filename="../windows/tablewindow.cpp" line="232"/>
<source>Add table foreign key</source>
<comment>table window</comment>
<translation>Добавить внешний ключ таблицы</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="222"/>
+ <location filename="../windows/tablewindow.cpp" line="233"/>
<source>Add table unique constraint</source>
<comment>table window</comment>
<translation>Добавить табличное ограничение на уникальность</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="223"/>
+ <location filename="../windows/tablewindow.cpp" line="234"/>
<source>Add table check constraint</source>
<comment>table window</comment>
<translation>Добавить проверочное ограничение на таблицу</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="241"/>
+ <location filename="../windows/tablewindow.cpp" line="252"/>
<source>Refresh index list</source>
<comment>table window</comment>
<translation>Обновить список индексов</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="243"/>
+ <location filename="../windows/tablewindow.cpp" line="254"/>
<source>Create index</source>
<comment>table window</comment>
<translation>Создать индекс</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="244"/>
+ <location filename="../windows/tablewindow.cpp" line="255"/>
<source>Edit index</source>
<comment>table window</comment>
<translation>Редактировать индекс</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="245"/>
+ <location filename="../windows/tablewindow.cpp" line="256"/>
<source>Delete index</source>
<comment>table window</comment>
<translation>Удалить индекс</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="251"/>
+ <location filename="../windows/tablewindow.cpp" line="262"/>
<source>Refresh trigger list</source>
<comment>table window</comment>
<translation>Обновить список триггеров</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="253"/>
+ <location filename="../windows/tablewindow.cpp" line="264"/>
<source>Create trigger</source>
<comment>table window</comment>
<translation>Создать триггер</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="254"/>
+ <location filename="../windows/tablewindow.cpp" line="265"/>
<source>Edit trigger</source>
<comment>table window</comment>
<translation>Редактировать триггер</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="255"/>
+ <location filename="../windows/tablewindow.cpp" line="266"/>
<source>Delete trigger</source>
<comment>table window</comment>
<translation>Удалить триггер</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="288"/>
+ <location filename="../windows/tablewindow.cpp" line="299"/>
<source>Are you sure you want to delete column &apos;%1&apos;?</source>
<comment>table window</comment>
<translation>Вы действительно хотите удалить столбец &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="316"/>
+ <location filename="../windows/tablewindow.cpp" line="327"/>
<source>Following problems will take place while modifying the table.
Would you like to proceed?</source>
<comment>table window</comment>
@@ -5493,194 +5588,212 @@ Would you like to proceed?</source>
Вы хотите продолжить?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="318"/>
+ <location filename="../windows/tablewindow.cpp" line="329"/>
<source>Table modification</source>
<comment>table window</comment>
<translation>Изменение таблицы</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="456"/>
+ <location filename="../windows/tablewindow.cpp" line="467"/>
<source>Could not load data for table %1. Error details: %2</source>
<translation>Невозможно загрузить данные таблицы %1. Подробности ошибки: %2</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="569"/>
+ <location filename="../windows/tablewindow.cpp" line="580"/>
<source>Could not process the %1 table correctly. Unable to open a table window.</source>
<translation>Не удалось корректно обработать таблицу %1. Невозможно открыть окно таблицы.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="637"/>
+ <location filename="../windows/tablewindow.cpp" line="635"/>
+ <source>Could not restore window %1, because no database or table was stored in session for this window.</source>
+ <translation>Невозможно восстановить окно %1, так как в сессии для этого окна не была сохранена база данных или таблица.</translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="641"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or table was stored in session for this window.</source>
+ <translation>Невозможно восстановить окно &apos;%1&apos;, так как в сессии для этого окна не была сохранена база данных или таблица.</translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="648"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
+ <translation>Невозможно восстановить окно &apos;%1&apos;, так как невозможно определить базу данных %2</translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="657"/>
+ <source>Could not restore window &apos;%1&apos;&apos;, because the table %2 doesn&apos;t exist in the database %3.</source>
+ <translation>Невозможно восстановить окно &apos;%1&apos;, так как таблица %2 не существует в базе данных %3.</translation>
+ </message>
+ <message>
<source>Could not restore window, because database %1 could not be resolved.</source>
<translation>Невозможно восстановить окно, так как невозможно определить базу данных %1</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="646"/>
<source>Could not restore window, because the table %1 doesn&apos;t exist in the database %2.</source>
<translation>Невозможно восстановить окно, так как таблица %1 не существует в базе данных %2.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="671"/>
- <location filename="../windows/tablewindow.cpp" line="673"/>
+ <location filename="../windows/tablewindow.cpp" line="682"/>
+ <location filename="../windows/tablewindow.cpp" line="684"/>
<source>New table %1</source>
<translation>Новая таблица %1</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="824"/>
+ <location filename="../windows/tablewindow.cpp" line="835"/>
<source>Could not commit table structure. Error message: %1</source>
<comment>table window</comment>
<translation>Невозможно подтвердить структуру таблицы. Сообщение об ошибке: %1</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Reset autoincrement</source>
<translation>Сброс счётчика автоинкремента</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation>Вы действительно хотите сбросить счётчик автоинкремента у таблицы &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="853"/>
+ <location filename="../windows/tablewindow.cpp" line="864"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation>При попытке сброса счётчика автоинкремента у таблицы &apos;%1&apos; произошла ошибка: %2</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="855"/>
+ <location filename="../windows/tablewindow.cpp" line="866"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation>Сброс счётчика автоинкремента у таблицы &apos;%1&apos; успешно выполнен.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>Empty name</source>
<translation>Пустое имя</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>A blank name for the table is allowed in SQLite, but it is not recommended.
Are you sure you want to create a table with blank name?</source>
<translation>SQLite позволяет таблице иметь пустое имя, хотя это не рекомендуется.
Вы действительно хотите создать таблицу с пустым именем?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="944"/>
+ <location filename="../windows/tablewindow.cpp" line="955"/>
<source>Cannot create a table without at least one column.</source>
<translation>Невозможно создать таблицу без хотя бы одного столбца.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="970"/>
+ <location filename="../windows/tablewindow.cpp" line="981"/>
<source>Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key.</source>
<translation>Невозможно создать таблицу %1, если не определён первичный ключ. Отключите %2, либо определите первичный ключ.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="977"/>
+ <location filename="../windows/tablewindow.cpp" line="988"/>
<source>Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key.</source>
<translation>Невозможно использовать автоинкремент первичного ключа при использовании оператора %1. Отключите либо %2, либо автоинкремент первичного ключа.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1114"/>
+ <location filename="../windows/tablewindow.cpp" line="1125"/>
<source>Are you sure you want to delete table constraint &apos;%1&apos;?</source>
<comment>table window</comment>
<translation>Вы действительно хотите удалить ограничение на таблицу &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1115"/>
+ <location filename="../windows/tablewindow.cpp" line="1126"/>
<source>Delete constraint</source>
<comment>table window</comment>
<translation>Удалить ограничение</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1169"/>
+ <location filename="../windows/tablewindow.cpp" line="1180"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Невозможно произвести экспорт, т.к. не загружено ни одного модуля экспорта.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1182"/>
+ <location filename="../windows/tablewindow.cpp" line="1193"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation>Невозможно произвести импорт, т.к. не загружено ни одного модуля импорта.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1214"/>
+ <location filename="../windows/tablewindow.cpp" line="1225"/>
<source>Uncommited changes</source>
<translation>Неподтверждённые изменения</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1215"/>
+ <location filename="../windows/tablewindow.cpp" line="1226"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation>Имеются неподтверждённые изменения структуры. Невозможно просматривать или редактировать данные, пока структура таблицы не подтверждена.
Подтвердить структуру таблицы или вернуться на вкладку структуры?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Go back to structure tab</source>
<translation>Вернуться на вкладку структуры</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Commit modifications and browse data.</source>
<translation>Подтвердить изменения и перейти к данным.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1368"/>
+ <location filename="../windows/tablewindow.cpp" line="1379"/>
<source>Name</source>
<comment>table window indexes</comment>
<translation>Имя</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1369"/>
+ <location filename="../windows/tablewindow.cpp" line="1380"/>
<source>Unique</source>
<comment>table window indexes</comment>
<translation>Уникальность</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1370"/>
+ <location filename="../windows/tablewindow.cpp" line="1381"/>
<source>Columns</source>
<comment>table window indexes</comment>
<translation>Столбцы</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1371"/>
+ <location filename="../windows/tablewindow.cpp" line="1382"/>
<source>Partial index condition</source>
<comment>table window indexes</comment>
<translation>Условие для частичного индекса</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1425"/>
+ <location filename="../windows/tablewindow.cpp" line="1436"/>
<source>Name</source>
<comment>table window triggers</comment>
<translation>Имя</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1426"/>
+ <location filename="../windows/tablewindow.cpp" line="1437"/>
<source>Event</source>
<comment>table window triggers</comment>
<translation>Событие</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1427"/>
+ <location filename="../windows/tablewindow.cpp" line="1438"/>
<source>Condition</source>
<comment>table window triggers</comment>
<translation>Условие</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1428"/>
+ <location filename="../windows/tablewindow.cpp" line="1439"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation>Подробности</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1517"/>
+ <location filename="../windows/tablewindow.cpp" line="1528"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation>В окне таблицы &quot;%1&quot; имеются неподтверждённые изменения структуры и данных.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1519"/>
+ <location filename="../windows/tablewindow.cpp" line="1530"/>
<source>Table window &quot;%1&quot; has uncommited data.</source>
<translation>В окне таблицы &quot;%1&quot; имеются неподтверждённые изменения данных.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1521"/>
+ <location filename="../windows/tablewindow.cpp" line="1532"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications.</source>
<translation>В окне таблицы &quot;%1&quot; имеются неподтверждённые изменения структуры.</translation>
</message>
@@ -5852,176 +5965,194 @@ Do you want to commit the structure, or do you want to go back to the structure
<translation>DDL</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="115"/>
<source>Could not restore window, because database %1 could not be resolved.</source>
<translation>Невозможно восстановить окно, так как невозможно определить базу данных %1.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="121"/>
<source>Could not restore window, because database %1 could not be open.</source>
<translation>Невозможно восстановить окно, так как невозможно открыть базу данных %1.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="130"/>
<source>Could not restore window, because the view %1 doesn&apos;t exist in the database %2.</source>
<translation>Невозможно восстановить окно, так как представление %1 не существует в базе данных %2.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="155"/>
- <location filename="../windows/viewwindow.cpp" line="157"/>
+ <location filename="../windows/viewwindow.cpp" line="103"/>
+ <location filename="../windows/viewwindow.cpp" line="109"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or view was stored in session for this window.</source>
+ <translation>Невозможно восстановить окно &apos;%1&apos;, так как в сессии для этого окна не была сохранена база данных или представление.</translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="116"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
+ <translation>Невозможно восстановить окно &apos;%1&apos;, так как невозможно определить базу данных %2.</translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="122"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be open.</source>
+ <translation>Невозможно восстановить окно &apos;%1&apos;, так как невозможно открыть базу данных %2.</translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="131"/>
+ <source>Could not restore window &apos;%1&apos;, because the view %2 doesn&apos;t exist in the database %3.</source>
+ <translation>Невозможно восстановить окно &apos;%1&apos;, так как представление %2 не существует в базе данных %3.</translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="156"/>
+ <location filename="../windows/viewwindow.cpp" line="158"/>
<source>New view %1</source>
<translation>Новое представление %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="275"/>
+ <location filename="../windows/viewwindow.cpp" line="283"/>
<source>Refresh the view</source>
<comment>view window</comment>
<translation>Обновить представление</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="277"/>
+ <location filename="../windows/viewwindow.cpp" line="285"/>
<source>Commit the view changes</source>
<comment>view window</comment>
<translation>Подтвердить изменения представления</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="278"/>
+ <location filename="../windows/viewwindow.cpp" line="286"/>
<source>Rollback the view changes</source>
<comment>view window</comment>
<translation>Откатить изменения представления</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="285"/>
+ <location filename="../windows/viewwindow.cpp" line="293"/>
<source>Refresh trigger list</source>
<comment>view window</comment>
<translation>Обновить список триггеров</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="287"/>
+ <location filename="../windows/viewwindow.cpp" line="295"/>
<source>Create new trigger</source>
<comment>view window</comment>
<translation>Создать новый триггер</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="288"/>
+ <location filename="../windows/viewwindow.cpp" line="296"/>
<source>Edit selected trigger</source>
<comment>view window</comment>
<translation>Редактировать выбранный триггер</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="289"/>
+ <location filename="../windows/viewwindow.cpp" line="297"/>
<source>Delete selected trigger</source>
<comment>view window</comment>
<translation>Удалить выбранный триггер</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="310"/>
+ <location filename="../windows/viewwindow.cpp" line="318"/>
<source>View window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation>В окне представления &quot;%1&quot; имеются неподтверждённые изменения структуры и данных.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="312"/>
+ <location filename="../windows/viewwindow.cpp" line="320"/>
<source>View window &quot;%1&quot; has uncommited data.</source>
<translation>В окне представления &quot;%1&quot; имеются неподтверждённые изменения данных.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="314"/>
+ <location filename="../windows/viewwindow.cpp" line="322"/>
<source>View window &quot;%1&quot; has uncommited structure modifications.</source>
<translation>В окне представления &quot;%1&quot; имеются неподтверждённые изменения структуры.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="455"/>
+ <location filename="../windows/viewwindow.cpp" line="463"/>
<source>Could not load data for view %1. Error details: %2</source>
<translation>Невозможно загрузить данные представления %1. Подробности ошибки: %2</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="466"/>
+ <location filename="../windows/viewwindow.cpp" line="474"/>
<source>Uncommited changes</source>
<translation>Неподтверждённые изменения</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="467"/>
+ <location filename="../windows/viewwindow.cpp" line="475"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation>Имеются неподтверждённые изменения структуры. Невозможно просматривать или редактировать данные, пока структура представления не подтверждена.
Подтвердить структуру представления или вернуться на вкладку структуры?</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Go back to structure tab</source>
<translation>Вернуться на вкладку структуры</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Commit modifications and browse data.</source>
<translation>Подтвердить изменения и перейти к данным.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="528"/>
+ <location filename="../windows/viewwindow.cpp" line="536"/>
<source>Could not commit view changes. Error message: %1</source>
<comment>view window</comment>
<translation>Невозможно подтвердить изменения представления. Сообщение об ошибке: %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="606"/>
+ <location filename="../windows/viewwindow.cpp" line="614"/>
<source>Name</source>
<comment>view window triggers</comment>
<translation>Имя</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="607"/>
+ <location filename="../windows/viewwindow.cpp" line="615"/>
<source>Instead of</source>
<comment>view window triggers</comment>
<translation>Вместо</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="608"/>
+ <location filename="../windows/viewwindow.cpp" line="616"/>
<source>Condition</source>
<comment>view window triggers</comment>
<translation>Условие</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="609"/>
+ <location filename="../windows/viewwindow.cpp" line="617"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation>Подробности</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="649"/>
+ <location filename="../windows/viewwindow.cpp" line="657"/>
<source>Could not process the %1 view correctly. Unable to open a view window.</source>
<translation>Не удалось корректно обработать представление %1. Невозможно открыть окно представления.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>Empty name</source>
<translation>Пустое имя</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>A blank name for the view is allowed in SQLite, but it is not recommended.
Are you sure you want to create a view with blank name?</source>
<translation>SQLite позволяет представлению иметь пустое имя, хотя это не рекомендуется.
Вы действительно хотите создать представление с пустым именем?</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="699"/>
+ <location filename="../windows/viewwindow.cpp" line="707"/>
<source>The SELECT statement could not be parsed. Please correct the query and retry.
Details: %1</source>
<translation>Невозможно проанализировать структуру конструкции SELECT. Пожалуйста, исправьте запрос и повторите попытку.
Подробности: %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="707"/>
+ <location filename="../windows/viewwindow.cpp" line="715"/>
<source>The view could not be modified due to internal SQLiteStudio error. Please report this!</source>
<translation>Невозможно изменить представление из-за внутренней ошибки SQLiteStudio. Пожалуйста, сообщите о ней!</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="733"/>
+ <location filename="../windows/viewwindow.cpp" line="741"/>
<source>The view code could not be parsed properly for execution. This is a SQLiteStudio&apos;s bug. Please report it.</source>
<translation>Невозможно корректно проанализировать структуру представления для выполнения. Это ошибка SQLiteStudio. Пожалуйста, сообщите о ней.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="746"/>
+ <location filename="../windows/viewwindow.cpp" line="754"/>
<source>Following problems will take place while modifying the view.
Would you like to proceed?</source>
<comment>view window</comment>
@@ -6029,7 +6160,7 @@ Would you like to proceed?</source>
Вы хотите продолжить?</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="748"/>
+ <location filename="../windows/viewwindow.cpp" line="756"/>
<source>View modification</source>
<comment>view window</comment>
<translation>Изменение представления</translation>
@@ -6038,7 +6169,7 @@ Would you like to proceed?</source>
<context>
<name>WidgetCover</name>
<message>
- <location filename="../common/widgetcover.cpp" line="198"/>
+ <location filename="../common/widgetcover.cpp" line="234"/>
<source>Interrupt</source>
<translation>Прервать</translation>
</message>
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.qm
index a2ccadd..47656ef 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.qm
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.qm
Binary files differ
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.ts
index 42a735f..332a764 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.ts
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.ts
@@ -168,83 +168,84 @@
<location filename="../dialogs/bugdialog.cpp" line="80"/>
<location filename="../dialogs/bugdialog.cpp" line="94"/>
<source>You can retry sending. The contents will be restored when you open a report dialog after an error like this.</source>
- <translation type="unfinished"></translation>
+ <translation>Môžte zopakovať odoslanie. Keď otvoríte nahlasovacie okno po takejto chybe, obsah bude obnovený.</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="88"/>
<source>An idea proposal sent successfully.</source>
- <translation type="unfinished"></translation>
+ <translation>Nahlásenie prebehlo úspešne.</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="93"/>
<source>An error occurred while sending an idea proposal: %1
%2</source>
- <translation type="unfinished"></translation>
+ <translation>Vyskytla sa chyba pri odoslieaní: %1
+%2</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="105"/>
<source>A bug report</source>
- <translation type="unfinished"></translation>
+ <translation>Nahlásenie chyby</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="106"/>
<source>Describe problem in few words</source>
- <translation type="unfinished"></translation>
+ <translation>Popíšte problém niekoľkými slovami</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="107"/>
<source>Describe problem and how to reproduce it</source>
- <translation type="unfinished"></translation>
+ <translation>Popíšte problém a spôsob ako ho reprodukovať</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="111"/>
<source>A new feature idea</source>
- <translation type="unfinished"></translation>
+ <translation>Nová funkcia</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="112"/>
<source>A title for your idea</source>
- <translation type="unfinished"></translation>
+ <translation>Titulok novej funkcie</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="113"/>
<source>Describe your idea in more details</source>
- <translation type="unfinished"></translation>
+ <translation>Detailnejšie popíšte svoj návrh na funkciu</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="118"/>
<source>Reporting as an unregistered user, using e-mail address.</source>
- <translation type="unfinished"></translation>
+ <translation>Nahlásenie ako neregistrovaný užívateľ pomocou emailovej adresy.</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="127"/>
<source>Reporting as a registered user.</source>
- <translation type="unfinished"></translation>
+ <translation>Nahlásenie ako registrovaný užívateľ.</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="131"/>
<source>Log out</source>
- <translation type="unfinished"></translation>
+ <translation>Odhlásiť sa</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="144"/>
<source>Providing true email address will make it possible to contact you regarding your report. To learn more, press &apos;help&apos; button on the right side.</source>
- <translation type="unfinished"></translation>
+ <translation>Zadaním reálnej emailovej adresy umožníte kontaktovať vás ohľadom vášho nahlásenia. Pre zistenie bližších detailov, kliknite na tlačitko &apos;i&apos; na pravej strane okna.</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="146"/>
<source>Enter vaild e-mail address, or log in.</source>
- <translation type="unfinished"></translation>
+ <translation>Zadajte platný email alebo sa prihláste.</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="148"/>
<source>Short description requires at least 10 characters, but not more than 100. Longer description can be entered in the field below.</source>
- <translation type="unfinished"></translation>
+ <translation>Krátky popis by mal obsahovať minimálne 10 znakov ale nie viacej ako 100. Dlhší popis môžte zadať v poli nižšie.</translation>
</message>
<message>
<location filename="../dialogs/bugdialog.cpp" line="151"/>
<source>Long description requires at least 30 characters.</source>
- <translation type="unfinished"></translation>
+ <translation>Dlhší popis by mal obsahovať minimálne 30 znakov.</translation>
</message>
</context>
<context>
@@ -259,7 +260,7 @@
<location filename="../windows/bugreporthistorywindow.ui" line="41"/>
<location filename="../windows/bugreporthistorywindow.cpp" line="119"/>
<source>Reported at</source>
- <translation type="unfinished"></translation>
+ <translation>Nahlásené</translation>
</message>
<message>
<location filename="../windows/bugreporthistorywindow.ui" line="46"/>
@@ -270,12 +271,12 @@
<message>
<location filename="../windows/bugreporthistorywindow.cpp" line="45"/>
<source>Reports history</source>
- <translation type="unfinished"></translation>
+ <translation>História hlásení</translation>
</message>
<message>
<location filename="../windows/bugreporthistorywindow.cpp" line="50"/>
<source>Clear reports history</source>
- <translation type="unfinished"></translation>
+ <translation>Vymazať históriu hlásení</translation>
</message>
<message>
<location filename="../windows/bugreporthistorywindow.cpp" line="51"/>
@@ -285,7 +286,7 @@
<message>
<location filename="../windows/bugreporthistorywindow.cpp" line="90"/>
<source>Invalid response from server.</source>
- <translation type="unfinished"></translation>
+ <translation>Neplatná odpoveď zo servera.</translation>
</message>
</context>
<context>
@@ -298,7 +299,7 @@
<message>
<location filename="../dialogs/bugreportlogindialog.ui" line="20"/>
<source>Credentials</source>
- <translation type="unfinished"></translation>
+ <translation>Prihlasovacie údaje</translation>
</message>
<message>
<location filename="../dialogs/bugreportlogindialog.ui" line="26"/>
@@ -313,17 +314,17 @@
<message>
<location filename="../dialogs/bugreportlogindialog.ui" line="53"/>
<source>Validation</source>
- <translation type="unfinished"></translation>
+ <translation>Overenie</translation>
</message>
<message>
<location filename="../dialogs/bugreportlogindialog.ui" line="59"/>
<source>Validate</source>
- <translation type="unfinished"></translation>
+ <translation>Overiť</translation>
</message>
<message>
<location filename="../dialogs/bugreportlogindialog.ui" line="73"/>
<source>Validation result message</source>
- <translation type="unfinished"></translation>
+ <translation>Výsledok overenia</translation>
</message>
<message>
<location filename="../dialogs/bugreportlogindialog.cpp" line="45"/>
@@ -343,7 +344,7 @@
<message>
<location filename="../dialogs/bugreportlogindialog.cpp" line="91"/>
<source>Valid</source>
- <translation type="unfinished"></translation>
+ <translation>Úspešné overenie</translation>
</message>
</context>
<context>
@@ -354,32 +355,32 @@
<translation>Filtrovať porovnávania</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="110"/>
+ <location filename="../windows/collationseditor.ui" line="194"/>
<source>Collation name:</source>
<translation>Názov porovnánavania:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="120"/>
+ <location filename="../windows/collationseditor.ui" line="204"/>
<source>Implementation language:</source>
<translation>Implementačný jazyk:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="152"/>
+ <location filename="../windows/collationseditor.ui" line="132"/>
<source>Databases</source>
<translation>Databázy</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="158"/>
+ <location filename="../windows/collationseditor.ui" line="138"/>
<source>Register in all databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="165"/>
+ <location filename="../windows/collationseditor.ui" line="145"/>
<source>Register in following databases:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="186"/>
+ <location filename="../windows/collationseditor.ui" line="166"/>
<source>Implementation code:</source>
<translation type="unfinished"></translation>
</message>
@@ -889,7 +890,7 @@ but it&apos;s okay to use it.</source>
<name>ConfigDialog</name>
<message>
<location filename="../dialogs/configdialog.ui" line="14"/>
- <location filename="../dialogs/configdialog.ui" line="1216"/>
+ <location filename="../dialogs/configdialog.ui" line="1293"/>
<source>Configuration</source>
<translation>Konfigurácia</translation>
</message>
@@ -1066,406 +1067,441 @@ but it&apos;s okay to use it.</source>
<translation>Klávesová skratka</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="656"/>
- <location filename="../dialogs/configdialog.ui" line="1206"/>
+ <location filename="../dialogs/configdialog.ui" line="671"/>
+ <location filename="../dialogs/configdialog.ui" line="1283"/>
<source>Language</source>
<translation>Jazyk</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="662"/>
+ <location filename="../dialogs/configdialog.ui" line="677"/>
<source>Changing language requires application restart to take effect.</source>
<translation>Je potrebné reštartovať aplikáciu aby sa zmena jazyka prejavila.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="679"/>
+ <location filename="../dialogs/configdialog.ui" line="694"/>
+ <source>Compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="700"/>
+ <source>&lt;p&gt;Compact layout reduces all margins and spacing on the UI to minimum, making space for displaying more data. It makes the interface a little bit less aesthetic, but allows to display more data at once.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="703"/>
+ <source>Use compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="709"/>
+ <source>General.CompactLayout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="719"/>
<source>Database list</source>
<translation>Zoznam databáz</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="685"/>
+ <location filename="../dialogs/configdialog.ui" line="725"/>
<source>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="688"/>
+ <location filename="../dialogs/configdialog.ui" line="728"/>
<source>Sort table columns alphabetically</source>
<translation>Zoradiť stĺpce tabuľky abecedne</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="698"/>
+ <location filename="../dialogs/configdialog.ui" line="738"/>
<source>Expand tables node when connected to a database</source>
<translation>Rozbaliť zoznam tabuliek po pripojení k databáze</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="708"/>
+ <location filename="../dialogs/configdialog.ui" line="748"/>
<source>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="711"/>
+ <location filename="../dialogs/configdialog.ui" line="751"/>
<source>Display additional labels on the list</source>
<translation>Zobraziť doplnkové popisky v zozname</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="726"/>
+ <location filename="../dialogs/configdialog.ui" line="766"/>
<source>For regular tables labels will show number of columns, indexes and triggers for each of tables.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="729"/>
+ <location filename="../dialogs/configdialog.ui" line="769"/>
<source>Display labels for regular tables</source>
<translation>Zobraziť popisky pre regulárne tabuľky</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="739"/>
+ <location filename="../dialogs/configdialog.ui" line="779"/>
<source>Virtual tables will be marked with a &apos;virtual&apos; label.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="742"/>
+ <location filename="../dialogs/configdialog.ui" line="782"/>
<source>Display labels for virtual tables</source>
<translation>Zobraziť popisky pre virtuálne tabuľky</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="755"/>
+ <location filename="../dialogs/configdialog.ui" line="795"/>
<source>Expand views node when connected to a database</source>
<translation>Rozbaliť zoznam pohľadov po pripojení k databáze</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="765"/>
+ <location filename="../dialogs/configdialog.ui" line="805"/>
<source>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="768"/>
+ <location filename="../dialogs/configdialog.ui" line="808"/>
<source>Sort objects (tables, indexes, triggers and views) alphabetically</source>
<translation>Zoradiť objekty (tabuľky, indexy, spúšťače a pohľady) abecedne</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="778"/>
+ <location filename="../dialogs/configdialog.ui" line="818"/>
<source>Display system tables and indexes on the list</source>
<translation>Zobraziť systémové tabuľky a indexy v zozname</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="791"/>
+ <location filename="../dialogs/configdialog.ui" line="831"/>
<source>Table windows</source>
<translation>Okná tabuľky</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="797"/>
+ <location filename="../dialogs/configdialog.ui" line="837"/>
<source>When enabled, Table Windows will show up with the data tab, instead of the structure tab.</source>
<translation>Ak je táto možnosť zaškrtnutá, tak sa v okne zobrazia dáta a nie štruktúra tabuľky.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="800"/>
+ <location filename="../dialogs/configdialog.ui" line="840"/>
<source>Open Table Windows with the data tab for start</source>
<translation>Zobraziť dáta po otvorení tabuľky</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="813"/>
+ <location filename="../dialogs/configdialog.ui" line="853"/>
<source>View windows</source>
<translation>Okná pohľadov</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="819"/>
+ <location filename="../dialogs/configdialog.ui" line="859"/>
<source>When enabled, View Windows will show up with the data tab, instead of the structure tab.</source>
<translation>Ak je táto možnosť zaškrtnutá, tak sa v okne zobrazia dáta a nie SQL dotaz.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="822"/>
+ <location filename="../dialogs/configdialog.ui" line="862"/>
<source>Open View Windows with the data tab for start</source>
<translation>Zobraziť dáta po otvorení pohľadu</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="933"/>
+ <location filename="../dialogs/configdialog.ui" line="875"/>
+ <source>Main window dock areas</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="881"/>
+ <source>Left and right areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="901"/>
+ <source>Top and bottom areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="1010"/>
<source>Hide built-in plugins</source>
<translation>Nezobrazovať interné pluginy</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="962"/>
+ <location filename="../dialogs/configdialog.ui" line="1039"/>
<source>Current style:</source>
<translation>Aktuálny štýl:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="979"/>
+ <location filename="../dialogs/configdialog.ui" line="1056"/>
<source>Preview</source>
<translation>Náhľad</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="989"/>
+ <location filename="../dialogs/configdialog.ui" line="1066"/>
<source>Enabled</source>
<translation>Zapnutý</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1162"/>
+ <location filename="../dialogs/configdialog.ui" line="1239"/>
<source>Disabled</source>
<translation>Vypnutý</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1211"/>
+ <location filename="../dialogs/configdialog.ui" line="1288"/>
<source>Active formatter plugin</source>
- <translation type="unfinished"></translation>
+ <translation>Aktívny formátovací plugin</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1249"/>
+ <location filename="../dialogs/configdialog.ui" line="1326"/>
<source>SQL editor font</source>
<translation>Písmo SQL editora</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1265"/>
+ <location filename="../dialogs/configdialog.ui" line="1342"/>
<source>Database list font</source>
<translation>Font zoznamu databáz</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1281"/>
+ <location filename="../dialogs/configdialog.ui" line="1358"/>
<source>Database list additional label font</source>
<translation>Font doplnkového popisku</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1297"/>
+ <location filename="../dialogs/configdialog.ui" line="1374"/>
<source>Data view font</source>
- <translation type="unfinished"></translation>
+ <translation>Font dát</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1313"/>
+ <location filename="../dialogs/configdialog.ui" line="1390"/>
<source>Status field font</source>
- <translation type="unfinished"></translation>
+ <translation>Font status okna</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1371"/>
+ <location filename="../dialogs/configdialog.ui" line="1448"/>
<source>SQL editor colors</source>
- <translation type="unfinished"></translation>
+ <translation>Farby SQL editora</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1377"/>
+ <location filename="../dialogs/configdialog.ui" line="1454"/>
<source>Current line background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1384"/>
+ <location filename="../dialogs/configdialog.ui" line="1461"/>
<source>&lt;p&gt;SQL strings are enclosed with single quote characters.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1387"/>
+ <location filename="../dialogs/configdialog.ui" line="1464"/>
<source>String foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1490"/>
+ <location filename="../dialogs/configdialog.ui" line="1567"/>
<source>&lt;p&gt;Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;:param_name&lt;/li&gt;&lt;li&gt;$param_name&lt;/li&gt;&lt;li&gt;@param_name&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1493"/>
+ <location filename="../dialogs/configdialog.ui" line="1570"/>
<source>Bind parameter foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1516"/>
+ <location filename="../dialogs/configdialog.ui" line="1593"/>
<source>Highlighted parenthesis background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1523"/>
+ <location filename="../dialogs/configdialog.ui" line="1600"/>
<source>&lt;p&gt;BLOB values are binary values represented as hexadecimal numbers, like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1526"/>
+ <location filename="../dialogs/configdialog.ui" line="1603"/>
<source>BLOB value foreground</source>
- <translation type="unfinished"></translation>
+ <translation>Farba BLOB hodnoty</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1533"/>
+ <location filename="../dialogs/configdialog.ui" line="1610"/>
<source>Regular foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1540"/>
+ <location filename="../dialogs/configdialog.ui" line="1617"/>
<source>Line numbers area background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1563"/>
+ <location filename="../dialogs/configdialog.ui" line="1640"/>
<source>Keyword foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1570"/>
+ <location filename="../dialogs/configdialog.ui" line="1647"/>
<source>Number foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1577"/>
+ <location filename="../dialogs/configdialog.ui" line="1654"/>
<source>Comment foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1616"/>
+ <location filename="../dialogs/configdialog.ui" line="1693"/>
<source>&lt;p&gt;Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1619"/>
+ <location filename="../dialogs/configdialog.ui" line="1696"/>
<source>Valid objects foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1645"/>
+ <location filename="../dialogs/configdialog.ui" line="1722"/>
<source>Data view colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1651"/>
+ <location filename="../dialogs/configdialog.ui" line="1728"/>
<source>&lt;p&gt;Any data changes will be outlined with this color, until they&apos;re commited to the database.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1654"/>
+ <location filename="../dialogs/configdialog.ui" line="1731"/>
<source>Uncommited data outline color</source>
- <translation type="unfinished"></translation>
+ <translation>Farba rámčeka nepotvrdených dát</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1677"/>
+ <location filename="../dialogs/configdialog.ui" line="1754"/>
<source>&lt;p&gt;In case of error while commiting data changes, the problematic cell will be outlined with this color.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1680"/>
+ <location filename="../dialogs/configdialog.ui" line="1757"/>
<source>Commit error outline color</source>
- <translation type="unfinished"></translation>
+ <translation>Farba rámčeka s chybou potvrdenia dát</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1703"/>
+ <location filename="../dialogs/configdialog.ui" line="1780"/>
<source>NULL value foreground</source>
- <translation type="unfinished"></translation>
+ <translation>Farba NULL hodnoty</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1726"/>
+ <location filename="../dialogs/configdialog.ui" line="1803"/>
<source>Deleted row background</source>
- <translation type="unfinished"></translation>
+ <translation>Pozadie vymazaného riadka</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1752"/>
+ <location filename="../dialogs/configdialog.ui" line="1829"/>
<source>Database list colors</source>
- <translation type="unfinished"></translation>
+ <translation>Farby zoznamu databáz</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1758"/>
+ <location filename="../dialogs/configdialog.ui" line="1835"/>
<source>&lt;p&gt;Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1761"/>
+ <location filename="../dialogs/configdialog.ui" line="1838"/>
<source>Additional labels foreground</source>
- <translation type="unfinished"></translation>
+ <translation>Farba doplnkového popisku</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1787"/>
+ <location filename="../dialogs/configdialog.ui" line="1864"/>
<source>Status field colors</source>
- <translation type="unfinished"></translation>
+ <translation>Farby status okna</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1793"/>
+ <location filename="../dialogs/configdialog.ui" line="1870"/>
<source>Information message foreground</source>
- <translation type="unfinished"></translation>
+ <translation>Farba informačnej správy</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1816"/>
+ <location filename="../dialogs/configdialog.ui" line="1893"/>
<source>Warning message foreground</source>
- <translation type="unfinished"></translation>
+ <translation>Farba upozornenia</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1839"/>
+ <location filename="../dialogs/configdialog.ui" line="1916"/>
<source>Error message foreground</source>
- <translation type="unfinished"></translation>
+ <translation>Farba chybovej správy</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="765"/>
+ <location filename="../dialogs/configdialog.cpp" line="785"/>
<source>Description:</source>
<comment>plugin details</comment>
- <translation type="unfinished"></translation>
+ <translation>Popis:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="766"/>
+ <location filename="../dialogs/configdialog.cpp" line="786"/>
<source>Category:</source>
<comment>plugin details</comment>
- <translation type="unfinished"></translation>
+ <translation>Kategória:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="767"/>
+ <location filename="../dialogs/configdialog.cpp" line="787"/>
<source>Version:</source>
<comment>plugin details</comment>
<translation>Verzia:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="768"/>
+ <location filename="../dialogs/configdialog.cpp" line="788"/>
<source>Author:</source>
<comment>plugin details</comment>
- <translation type="unfinished"></translation>
+ <translation>Autor:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="770"/>
+ <location filename="../dialogs/configdialog.cpp" line="790"/>
<source>Internal name:</source>
<comment>plugin details</comment>
- <translation type="unfinished"></translation>
+ <translation>Interný názov:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="771"/>
+ <location filename="../dialogs/configdialog.cpp" line="791"/>
<source>Dependencies:</source>
<comment>plugin details</comment>
- <translation type="unfinished"></translation>
+ <translation>Závislosti:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="772"/>
+ <location filename="../dialogs/configdialog.cpp" line="792"/>
<source>Conflicts:</source>
<comment>plugin details</comment>
- <translation type="unfinished"></translation>
+ <translation>Konflikty:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="776"/>
+ <location filename="../dialogs/configdialog.cpp" line="796"/>
<source>Plugin details</source>
- <translation type="unfinished"></translation>
+ <translation>Detaily pluginu</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1177"/>
+ <location filename="../dialogs/configdialog.cpp" line="1202"/>
<source>Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog.</source>
- <translation type="unfinished"></translation>
+ <translation>Pluginy sú načítané/uvoľnené okamžite pri zaškrtnutí/odškrtnutí ale midifikovaný zoznam pluginov načítaných pri štarte nieje uložený až kým nepotvrdíte celý konfiguračný dialóg.</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1241"/>
+ <location filename="../dialogs/configdialog.cpp" line="1266"/>
<source>%1 (built-in)</source>
<comment>plugins manager in configuration dialog</comment>
- <translation type="unfinished"></translation>
+ <translation>%1 (interný)</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1254"/>
+ <location filename="../dialogs/configdialog.cpp" line="1279"/>
<source>Details</source>
<translation>Detaily</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1266"/>
+ <location filename="../dialogs/configdialog.cpp" line="1291"/>
<source>No plugins in this category.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1362"/>
+ <location filename="../dialogs/configdialog.cpp" line="1387"/>
<source>Add new data type</source>
<translation>Pridať nový datový typ</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1366"/>
+ <location filename="../dialogs/configdialog.cpp" line="1391"/>
<source>Rename selected data type</source>
<translation>Premenovať vybraný datový typ</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1370"/>
+ <location filename="../dialogs/configdialog.cpp" line="1395"/>
<source>Delete selected data type</source>
<translation>Vymazať vybraný datový typ</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1374"/>
+ <location filename="../dialogs/configdialog.cpp" line="1399"/>
<source>Help for configuring data type editors</source>
<translation type="unfinished"></translation>
</message>
@@ -1607,122 +1643,130 @@ but it&apos;s okay to use it.</source>
</message>
</context>
<context>
+ <name>CssDebugDialog</name>
+ <message>
+ <location filename="../dialogs/cssdebugdialog.ui" line="14"/>
+ <source>SQLiteStudio CSS console</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DataView</name>
<message>
- <location filename="../dataview.cpp" line="95"/>
+ <location filename="../dataview.cpp" line="98"/>
<source>Filter data</source>
<comment>data view</comment>
<translation>Filtrovať</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="104"/>
+ <location filename="../dataview.cpp" line="107"/>
<source>Grid view</source>
<translation>Tabuľkové zobrazenie</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="105"/>
+ <location filename="../dataview.cpp" line="108"/>
<source>Form view</source>
<translation>Formulárové zobrazenie</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="148"/>
+ <location filename="../dataview.cpp" line="165"/>
<source>Refresh table data</source>
<comment>data view</comment>
<translation>Obnoviť dáta v tabuľke</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="162"/>
+ <location filename="../dataview.cpp" line="179"/>
<source>First page</source>
<comment>data view</comment>
<translation>Prvá strana</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="163"/>
+ <location filename="../dataview.cpp" line="180"/>
<source>Previous page</source>
<comment>data view</comment>
<translation>Predchádzajúca strana</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="165"/>
+ <location filename="../dataview.cpp" line="182"/>
<source>Next page</source>
<comment>data view</comment>
<translation>Nasledujúca strana</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="166"/>
+ <location filename="../dataview.cpp" line="183"/>
<source>Last page</source>
<comment>data view</comment>
<translation>Posledná strana</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="171"/>
+ <location filename="../dataview.cpp" line="188"/>
<source>Apply filter</source>
<comment>data view</comment>
<translation>Aplikovať filter</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="186"/>
+ <location filename="../dataview.cpp" line="203"/>
<source>Commit changes for selected cells</source>
<comment>data view</comment>
<translation>Potvrdiť zmeny pre vybrané bunky</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="187"/>
+ <location filename="../dataview.cpp" line="204"/>
<source>Rollback changes for selected cells</source>
<comment>data view</comment>
<translation>Vrátiť späť zmeny pre vybrané bunky</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="188"/>
+ <location filename="../dataview.cpp" line="205"/>
<source>Show grid view of results</source>
<comment>sql editor</comment>
<translation>Výsledky zobraziť v tabuľke</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="189"/>
+ <location filename="../dataview.cpp" line="206"/>
<source>Show form view of results</source>
<comment>sql editor</comment>
<translation>Výsledky zobraziť vo formulári</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="258"/>
+ <location filename="../dataview.cpp" line="275"/>
<source>Filter by text</source>
<comment>data view</comment>
<translation>Filtrovať pomocou textu</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="259"/>
+ <location filename="../dataview.cpp" line="276"/>
<source>Filter by the Regular Expression</source>
<comment>data view</comment>
<translation>Filtrovať pomocou regulárneho výrazu</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="260"/>
+ <location filename="../dataview.cpp" line="277"/>
<source>Filter by SQL expression</source>
<comment>data view</comment>
<translation>Filtrovať pomocou SQL výrazu</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="291"/>
+ <location filename="../dataview.cpp" line="308"/>
<source>Tabs on top</source>
<comment>data view</comment>
<translation>Záložky hore</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="292"/>
+ <location filename="../dataview.cpp" line="309"/>
<source>Tabs at bottom</source>
<comment>data view</comment>
<translation>Záložky dole</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="510"/>
+ <location filename="../dataview.cpp" line="555"/>
<source>Total number of rows is being counted.
Browsing other pages will be possible after the row counting is done.</source>
<translation>Spočítava sa celkový počet riadkov.
Prezeranie ďalších strán bude možné až po dokončení spočítavania.</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="521"/>
+ <location filename="../dataview.cpp" line="566"/>
<source>Row: %1</source>
<translation>Riadok:%1</translation>
</message>
@@ -1792,7 +1836,7 @@ Prezeranie ďalších strán bude možné až po dokončení spočítavania.</tr
<message>
<location filename="../dialogs/dbconverterdialog.cpp" line="135"/>
<source>Enter a not empty, unique name (as in the list of databases on the left).</source>
- <translation type="unfinished"></translation>
+ <translation>Zadajte jedinečný názov.</translation>
</message>
<message>
<location filename="../dialogs/dbconverterdialog.cpp" line="140"/>
@@ -1920,32 +1964,32 @@ Prezeranie ďalších strán bude možné až po dokončení spočítavania.</tr
<translation>Prehľadávať</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="488"/>
+ <location filename="../dialogs/dbdialog.cpp" line="483"/>
<source>Enter an unique database name.</source>
<translation>Zadajte názov databázy.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="497"/>
+ <location filename="../dialogs/dbdialog.cpp" line="492"/>
<source>This name is already in use. Please enter unique name.</source>
<translation>Tento názov už existuje. Prosím zadajte iný názov.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="505"/>
+ <location filename="../dialogs/dbdialog.cpp" line="500"/>
<source>Enter a database file path.</source>
<translation>Zadajte cestu k databázovému súboru.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="512"/>
+ <location filename="../dialogs/dbdialog.cpp" line="507"/>
<source>This database is already on the list under name: %1</source>
<translation>Táto databáza už je v zozname pod názvom: %1</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="528"/>
+ <location filename="../dialogs/dbdialog.cpp" line="523"/>
<source>Select a database type.</source>
<translation>Vyberte typ databázy.</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="585"/>
+ <location filename="../dialogs/dbdialog.cpp" line="580"/>
<source>Auto-generated</source>
<translation>Automaticky vygenerovaný</translation>
</message>
@@ -1954,7 +1998,7 @@ Prezeranie ďalších strán bude možné až po dokončení spočítavania.</tr
<translation>Názov bude vygenerovaný automaticky</translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="590"/>
+ <location filename="../dialogs/dbdialog.cpp" line="585"/>
<source>Type the name</source>
<translation>Zadajte meno</translation>
</message>
@@ -2016,328 +2060,349 @@ Prezeranie ďalších strán bude možné až po dokončení spočítavania.</tr
<translation>Databázy</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.ui" line="67"/>
+ <location filename="../dbtree/dbtree.ui" line="73"/>
<source>Filter by name</source>
<translation>Filtrovať podľa názvu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="99"/>
+ <location filename="../dbtree/dbtree.cpp" line="102"/>
<source>Copy</source>
<translation>Kopírovať</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="100"/>
+ <location filename="../dbtree/dbtree.cpp" line="103"/>
<source>Paste</source>
<translation>Vložiť</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="101"/>
+ <location filename="../dbtree/dbtree.cpp" line="104"/>
<source>Select all</source>
<translation>Vybrať všetko</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="102"/>
+ <location filename="../dbtree/dbtree.cpp" line="105"/>
<source>Create a group</source>
<translation>Vytvoriť skupinu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="103"/>
+ <location filename="../dbtree/dbtree.cpp" line="106"/>
<source>Delete the group</source>
<translation>Vymazať skupinu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="104"/>
+ <location filename="../dbtree/dbtree.cpp" line="107"/>
<source>Rename the group</source>
<translation>Premenovať skupinu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="105"/>
+ <location filename="../dbtree/dbtree.cpp" line="108"/>
<source>Add a database</source>
<translation>Pridať databázu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="106"/>
+ <location filename="../dbtree/dbtree.cpp" line="109"/>
<source>Edit the database</source>
<translation>Upraviť databázu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="107"/>
+ <location filename="../dbtree/dbtree.cpp" line="110"/>
<source>Remove the database</source>
<translation>Odstrániť databázu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="108"/>
+ <location filename="../dbtree/dbtree.cpp" line="111"/>
<source>Connect to the database</source>
<translation>Pripojiť sa k databáze</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="109"/>
+ <location filename="../dbtree/dbtree.cpp" line="112"/>
<source>Disconnect from the database</source>
<translation>Odpojiť sa od databázy</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="110"/>
+ <location filename="../dbtree/dbtree.cpp" line="113"/>
<source>Import</source>
<translation>Importovať</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="111"/>
+ <location filename="../dbtree/dbtree.cpp" line="114"/>
<source>Export the database</source>
<translation>Exportovať databázu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="112"/>
+ <location filename="../dbtree/dbtree.cpp" line="115"/>
<source>Convert database type</source>
<translation>Konvertovať databázu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="113"/>
+ <location filename="../dbtree/dbtree.cpp" line="116"/>
<source>Vacuum</source>
<translation>Vacuum</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="114"/>
+ <location filename="../dbtree/dbtree.cpp" line="117"/>
<source>Integrity check</source>
<translation>Kontrola integrity</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="115"/>
+ <location filename="../dbtree/dbtree.cpp" line="118"/>
<source>Create a table</source>
<translation>Vytvoriť tabuľku</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="116"/>
+ <location filename="../dbtree/dbtree.cpp" line="119"/>
<source>Edit the table</source>
<translation>Upraviť tabuľku</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="117"/>
+ <location filename="../dbtree/dbtree.cpp" line="120"/>
<source>Delete the table</source>
<translation>Vymazať tabuľku</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="118"/>
+ <location filename="../dbtree/dbtree.cpp" line="121"/>
<source>Export the table</source>
<translation>Exportovať tabuľku</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="119"/>
+ <location filename="../dbtree/dbtree.cpp" line="122"/>
<source>Import into the table</source>
<translation>Importovať do tabuľky</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="120"/>
+ <location filename="../dbtree/dbtree.cpp" line="123"/>
<source>Populate table</source>
<translation>Naplniť tabuľku</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="121"/>
+ <location filename="../dbtree/dbtree.cpp" line="124"/>
<source>Create similar table</source>
<translation>Vytvoriť rovnakú tabuľku</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="122"/>
+ <location filename="../dbtree/dbtree.cpp" line="125"/>
<source>Reset autoincrement sequence</source>
<translation>Resetovať sekvenciu autoinkrementu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="123"/>
+ <location filename="../dbtree/dbtree.cpp" line="126"/>
<source>Create an index</source>
<translation>Vytvoriť index</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="124"/>
+ <location filename="../dbtree/dbtree.cpp" line="127"/>
<source>Edit the index</source>
<translation>Upraviť index</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="125"/>
+ <location filename="../dbtree/dbtree.cpp" line="128"/>
<source>Delete the index</source>
<translation>Vymazať index</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="126"/>
+ <location filename="../dbtree/dbtree.cpp" line="129"/>
<source>Create a trigger</source>
<translation>Vytvoriť spúšťač</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="127"/>
+ <location filename="../dbtree/dbtree.cpp" line="130"/>
<source>Edit the trigger</source>
<translation>Upraviť spúšťač</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="128"/>
+ <location filename="../dbtree/dbtree.cpp" line="131"/>
<source>Delete the trigger</source>
<translation>Vymazať spúšťač</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="129"/>
+ <location filename="../dbtree/dbtree.cpp" line="132"/>
<source>Create a view</source>
<translation>Vytvoriť pohľad</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="130"/>
+ <location filename="../dbtree/dbtree.cpp" line="133"/>
<source>Edit the view</source>
<translation>Upraviť pohľad</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="131"/>
+ <location filename="../dbtree/dbtree.cpp" line="134"/>
<source>Delete the view</source>
<translation>Vymazať pohľad</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="132"/>
+ <location filename="../dbtree/dbtree.cpp" line="135"/>
<source>Add a column</source>
<translation>Pridať stĺpec</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="133"/>
+ <location filename="../dbtree/dbtree.cpp" line="136"/>
<source>Edit the column</source>
<translation>Upraviť stĺpec</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="134"/>
+ <location filename="../dbtree/dbtree.cpp" line="137"/>
<source>Delete the column</source>
<translation>Vymazať stĺpec</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="135"/>
+ <location filename="../dbtree/dbtree.cpp" line="138"/>
<source>Delete selected items</source>
<translation>Vymazať vybrané položky</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="136"/>
+ <location filename="../dbtree/dbtree.cpp" line="139"/>
<source>Clear filter</source>
<translation>Zrušiť filter</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="137"/>
+ <location filename="../dbtree/dbtree.cpp" line="140"/>
<source>Refresh all database schemas</source>
<translation>Obnoviť všetky databázové schémy</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="138"/>
+ <location filename="../dbtree/dbtree.cpp" line="141"/>
<source>Refresh selected database schema</source>
<translation>Obnoviť vybranú databázovú schému</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="308"/>
- <location filename="../dbtree/dbtree.cpp" line="313"/>
+ <location filename="../dbtree/dbtree.cpp" line="142"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Erase table data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="312"/>
+ <location filename="../dbtree/dbtree.cpp" line="317"/>
<source>Database</source>
<translation>Databáza</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="323"/>
+ <location filename="../dbtree/dbtree.cpp" line="327"/>
<source>Grouping</source>
<translation>Zoskupovanie</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Create group</source>
<translation>Vytvoriť skupinu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
<source>Group name</source>
<translation>Názov skupiny</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Entry with name %1 already exists in group %2.</source>
<translation>Položka s názvom %1 už existuje v skupine %2.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="953"/>
+ <location filename="../dbtree/dbtree.cpp" line="958"/>
<source>Delete group</source>
<translation>Vymazať skupinu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="954"/>
+ <location filename="../dbtree/dbtree.cpp" line="959"/>
<source>Are you sure you want to delete group %1?
All objects from this group will be moved to parent group.</source>
<translation>Ste si istý, že chcete vymazať skupinu %1?
Všetky objekty z tejto skupiny budú presunuté do nadradenej skupiny.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Delete database</source>
<translation>Vymazať databázu</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Are you sure you want to delete database &apos;%1&apos;?</source>
<translation>Ste si istý, že chcete vymazať databázu &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1050"/>
- <location filename="../dbtree/dbtree.cpp" line="1260"/>
+ <location filename="../dbtree/dbtree.cpp" line="1055"/>
+ <location filename="../dbtree/dbtree.cpp" line="1265"/>
<source>Cannot import, because no import plugin is loaded.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Nemôžem importovať, lebo nebol načítaný žiaden plugin na import.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1070"/>
- <location filename="../dbtree/dbtree.cpp" line="1235"/>
+ <location filename="../dbtree/dbtree.cpp" line="1075"/>
+ <location filename="../dbtree/dbtree.cpp" line="1240"/>
<source>Cannot export, because no export plugin is loaded.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Nemôžem exportovať, lebo nebol načítaný žiaden plugin na export.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1334"/>
+ <location filename="../dbtree/dbtree.cpp" line="1339"/>
<source>Error while executing VACUUM on the database %1: %2</source>
<translation>Vyskytla sa chyba počas vykonávania príkazu VACUUM na databáze %1: %2</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1336"/>
+ <location filename="../dbtree/dbtree.cpp" line="1341"/>
<source>VACUUM execution finished successfully.</source>
<translation>VACUUM úspešne skončilo.</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1353"/>
+ <location filename="../dbtree/dbtree.cpp" line="1358"/>
<source>Integrity check (%1)</source>
<translation>Kontrola integrity (%1)</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Reset autoincrement</source>
<translation>Resetovať autoinkrement</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation>Ste si istý, že chcete zresetovať hodnotu autoinkrementu pre tabuľku %1 ?</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1397"/>
+ <location filename="../dbtree/dbtree.cpp" line="1402"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation>Vyskytla sa chyba pri pokuse o zresetovanie hodnoty autoinkrementu pre tebuľku &apos;%1&apos;: %2</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1399"/>
+ <location filename="../dbtree/dbtree.cpp" line="1404"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1501"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Are you sure you want to delete all data from table &apos;%1&apos;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1429"/>
+ <source>An error occurred while trying to delete data from table &apos;%1&apos;: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1433"/>
+ <source>All data has been deleted for table &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1535"/>
<source>Following objects will be deleted: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1504"/>
+ <location filename="../dbtree/dbtree.cpp" line="1538"/>
<source>Following databases will be removed from list: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1507"/>
+ <location filename="../dbtree/dbtree.cpp" line="1541"/>
<source>Remainig objects from deleted group will be moved in place where the group used to be.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1509"/>
+ <location filename="../dbtree/dbtree.cpp" line="1543"/>
<source>%1&lt;br&gt;&lt;br&gt;Are you sure you want to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1511"/>
+ <location filename="../dbtree/dbtree.cpp" line="1545"/>
<source>Delete objects</source>
<translation type="unfinished"></translation>
</message>
@@ -2372,123 +2437,128 @@ Všetky objekty z tejto skupiny budú presunuté do nadradenej skupiny.</transla
<context>
<name>DbTreeModel</name>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="407"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="422"/>
<source>Database: %1</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished">Databáza: %1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="412"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="427"/>
<source>Version:</source>
<comment>dbtree tooltip</comment>
<translation>Verzia:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="413"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="430"/>
<source>File size:</source>
<comment>dbtree tooltip</comment>
<translation>Veľkosť súboru:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="414"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="433"/>
<source>Encoding:</source>
<comment>dbtree tooltip</comment>
<translation>Kódovanie:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="419"/>
<source>Error details:</source>
<comment>dbtree tooltip</comment>
<translation>Detaily chyby:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="429"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="438"/>
+ <source>Error:</source>
+ <comment>dbtree tooltip</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtreemodel.cpp" line="448"/>
<source>Table : %1</source>
<comment>dbtree tooltip</comment>
<translation>Tabuľka : %1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="452"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="471"/>
<source>Columns (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Stĺpce (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="455"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="474"/>
<source>Indexes (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Indexy (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="458"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="477"/>
<source>Triggers (%1):</source>
<comment>dbtree tooltip</comment>
<translation>Spúšťače (%1):</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1073"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1092"/>
<source>Copy</source>
<translation>Kopírovať</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1074"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1093"/>
<source>Move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1076"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1095"/>
<source>Include data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1077"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1096"/>
<source>Include indexes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1078"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1097"/>
<source>Include triggers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1080"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1099"/>
<source>Abort</source>
<translation>Zrušiť</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1156"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1175"/>
<source>Referenced tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1157"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1176"/>
<source>Do you want to include following referenced tables as well:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1166"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1185"/>
<source>Name conflict</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1167"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1186"/>
<source>Following object already exists in the target database.
Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1180"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1199"/>
<source>SQL statements conversion</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1188"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1207"/>
<source>Following error occurred while converting SQL statements to the target SQLite version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1189"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1208"/>
<source>Would you like to ignore those errors and proceed?</source>
<translation type="unfinished"></translation>
</message>
@@ -2537,135 +2607,135 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>EditorWindow</name>
<message>
- <location filename="../windows/editorwindow.ui" line="39"/>
+ <location filename="../windows/editorwindow.ui" line="42"/>
<source>Query</source>
<translation>Dotaz</translation>
</message>
<message>
- <location filename="../windows/editorwindow.ui" line="109"/>
+ <location filename="../windows/editorwindow.ui" line="112"/>
<source>History</source>
<translation>História</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="130"/>
+ <location filename="../windows/editorwindow.cpp" line="137"/>
<source>Results in the separate tab</source>
<translation>Výsledky zobraziť v samostatnej záložke</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="131"/>
+ <location filename="../windows/editorwindow.cpp" line="138"/>
<source>Results below the query</source>
<translation>Výsledky zobraziť pod dotaz</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="164"/>
- <location filename="../windows/editorwindow.cpp" line="166"/>
+ <location filename="../windows/editorwindow.cpp" line="171"/>
+ <location filename="../windows/editorwindow.cpp" line="173"/>
<source>SQL editor %1</source>
<translation>SQL editor %1</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="324"/>
+ <location filename="../windows/editorwindow.cpp" line="331"/>
<source>Results</source>
<translation>Výsledky</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="357"/>
+ <location filename="../windows/editorwindow.cpp" line="364"/>
<source>Execute query</source>
<translation>Vykonať dotaz</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="358"/>
+ <location filename="../windows/editorwindow.cpp" line="365"/>
<source>Explain query</source>
<translation>Vysvetliť dotaz</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="361"/>
+ <location filename="../windows/editorwindow.cpp" line="368"/>
<source>Clear execution history</source>
<comment>sql editor</comment>
- <translation>Vyprázdniť históriu dotazov</translation>
+ <translation>Vymazať históriu dotazov</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="363"/>
+ <location filename="../windows/editorwindow.cpp" line="370"/>
<source>Export results</source>
<comment>sql editor</comment>
<translation>Vyexportovať výsledky</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="365"/>
+ <location filename="../windows/editorwindow.cpp" line="372"/>
<source>Create view from query</source>
<comment>sql editor</comment>
<translation>Vytvoriť pohľad z dotazu</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="374"/>
+ <location filename="../windows/editorwindow.cpp" line="382"/>
<source>Previous database</source>
<translation>Predchádzajúca databáza</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="375"/>
+ <location filename="../windows/editorwindow.cpp" line="383"/>
<source>Next database</source>
<translation>Nasledujúca databáza</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="378"/>
+ <location filename="../windows/editorwindow.cpp" line="386"/>
<source>Show next tab</source>
<comment>sql editor</comment>
<translation>Zobraziť nasledujúcu záložku</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="379"/>
+ <location filename="../windows/editorwindow.cpp" line="387"/>
<source>Show previous tab</source>
<comment>sql editor</comment>
<translation>Zobraziť predchádzajúcu záložku</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="380"/>
+ <location filename="../windows/editorwindow.cpp" line="388"/>
<source>Focus results below</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="381"/>
+ <location filename="../windows/editorwindow.cpp" line="389"/>
<source>Focus SQL editor above</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="455"/>
+ <location filename="../windows/editorwindow.cpp" line="463"/>
<source>Active database (%1/%2)</source>
<translation>Aktívna databáza (%1/%2)</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="495"/>
+ <location filename="../windows/editorwindow.cpp" line="503"/>
<source>Query finished in %1 second(s). Rows affected: %2</source>
<translation>Dotaz trval %1 sekúnd. Počet dotknutých riadkov: %2</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="499"/>
+ <location filename="../windows/editorwindow.cpp" line="507"/>
<source>Query finished in %1 second(s).</source>
<translation>Dotaz trval %1 sekúnd.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Clear execution history</source>
- <translation>Vyprázdniť históriu dotazov</translation>
+ <translation>Vymazať históriu dotazov</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Are you sure you want to erase the entire SQL execution history? This cannot be undone.</source>
<translation>Ste si istý, že chete vymazať celú históriu SQL dotazov? Túto operáciu nieje možné vrátiť späť.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="613"/>
+ <location filename="../windows/editorwindow.cpp" line="621"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Nemôžem exportovať, lebo nebol načítaný žiaden plugin na export.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="634"/>
+ <location filename="../windows/editorwindow.cpp" line="642"/>
<source>No database selected in the SQL editor. Cannot create a view for unknown database.</source>
<translation>Nebola vybraná žiadna databáza v SQL editore. Nemôžem vytvoriť view pre neznámu databázu.</translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="664"/>
+ <location filename="../windows/editorwindow.cpp" line="672"/>
<source>Editor window &quot;%1&quot; has uncommited data.</source>
<translation>Okno editora &quot;%1&quot; obsahuje nepotrdené dáta.</translation>
</message>
@@ -2919,49 +2989,49 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>FormView</name>
<message>
- <location filename="../formview.cpp" line="253"/>
+ <location filename="../formview.cpp" line="241"/>
<source>Commit row</source>
<comment>form view</comment>
<translation>Potvrdiť riadok</translation>
</message>
<message>
- <location filename="../formview.cpp" line="254"/>
+ <location filename="../formview.cpp" line="242"/>
<source>Rollback row</source>
<comment>form view</comment>
<translation>Vrátiť späť riadok</translation>
</message>
<message>
- <location filename="../formview.cpp" line="255"/>
+ <location filename="../formview.cpp" line="243"/>
<source>First row</source>
<comment>form view</comment>
<translation>Prvý riadok</translation>
</message>
<message>
- <location filename="../formview.cpp" line="256"/>
+ <location filename="../formview.cpp" line="244"/>
<source>Previous row</source>
<comment>form view</comment>
<translation>Predchádzajúci riadok</translation>
</message>
<message>
- <location filename="../formview.cpp" line="257"/>
+ <location filename="../formview.cpp" line="245"/>
<source>Next row</source>
<comment>form view</comment>
<translation>Nasledujúci riadok</translation>
</message>
<message>
- <location filename="../formview.cpp" line="258"/>
+ <location filename="../formview.cpp" line="246"/>
<source>Last row</source>
<comment>form view</comment>
<translation>Posledný riadok</translation>
</message>
<message>
- <location filename="../formview.cpp" line="259"/>
+ <location filename="../formview.cpp" line="247"/>
<source>Insert new row</source>
<comment>form view</comment>
<translation>Vložiť nový riadok</translation>
</message>
<message>
- <location filename="../formview.cpp" line="260"/>
+ <location filename="../formview.cpp" line="248"/>
<source>Delete current row</source>
<comment>form view</comment>
<translation>Vymazať aktuálny riadok</translation>
@@ -2975,58 +3045,58 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="151"/>
+ <location filename="../windows/functionseditor.ui" line="260"/>
<source>Function name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="161"/>
+ <location filename="../windows/functionseditor.ui" line="273"/>
<source>Implementation language:</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Implementačný jazyk:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="171"/>
+ <location filename="../windows/functionseditor.ui" line="253"/>
<source>Type:</source>
<translation>Typ:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="187"/>
+ <location filename="../windows/functionseditor.ui" line="157"/>
<source>Input arguments</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="193"/>
+ <location filename="../windows/functionseditor.ui" line="163"/>
<source>Undefined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="235"/>
+ <location filename="../windows/functionseditor.ui" line="205"/>
<source>Databases</source>
<translation>Databázy</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="241"/>
+ <location filename="../windows/functionseditor.ui" line="211"/>
<source>Register in all databases</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="248"/>
+ <location filename="../windows/functionseditor.ui" line="218"/>
<source>Register in following databases:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="278"/>
+ <location filename="../windows/functionseditor.ui" line="293"/>
<source>Initialization code:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="294"/>
+ <location filename="../windows/functionseditor.ui" line="309"/>
<location filename="../windows/functionseditor.cpp" line="426"/>
<source>Function implementation code:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="310"/>
+ <location filename="../windows/functionseditor.ui" line="325"/>
<source>Final step implementation code:</source>
<translation type="unfinished"></translation>
</message>
@@ -3350,293 +3420,298 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MainWindow</name>
<message>
- <location filename="../mainwindow.ui" line="66"/>
+ <location filename="../mainwindow.ui" line="81"/>
<source>Database toolbar</source>
<translation>Databázová lišta</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="77"/>
+ <location filename="../mainwindow.ui" line="92"/>
<source>Structure toolbar</source>
<translation>Lišta štruktúr</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="88"/>
+ <location filename="../mainwindow.ui" line="103"/>
<source>Tools</source>
<translation>Nástroje</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="105"/>
+ <location filename="../mainwindow.ui" line="120"/>
<source>Window list</source>
<translation>Lišta okien</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="119"/>
+ <location filename="../mainwindow.ui" line="134"/>
<source>View toolbar</source>
<translation>Lišta pohľadov</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="104"/>
+ <location filename="../mainwindow.cpp" line="107"/>
<source>Configuration widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="105"/>
+ <location filename="../mainwindow.cpp" line="108"/>
<source>Syntax highlighting engines</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="106"/>
+ <location filename="../mainwindow.cpp" line="109"/>
<source>Data editors</source>
<translation>Editory dát</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="118"/>
+ <location filename="../mainwindow.cpp" line="121"/>
<source>Running in debug mode. Press %1 or use &apos;Help / Open debug console&apos; menu entry to open the debug console.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="120"/>
+ <location filename="../mainwindow.cpp" line="123"/>
<source>Running in debug mode. Debug messages are printed to the standard output.</source>
<translation>Beží v ladiacom móde. Ladiace správy sú vypisované na štandardný výstup.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="202"/>
+ <location filename="../mainwindow.cpp" line="211"/>
<source>You need to restart application to make the language change take effect.</source>
<translation>Je potrebné reštartovať aplikáciu aby sa zmena jazyka prejavila.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="245"/>
+ <location filename="../mainwindow.cpp" line="254"/>
<source>Open SQL editor</source>
<translation>Otvoriť SQL editor</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="246"/>
+ <location filename="../mainwindow.cpp" line="255"/>
<source>Open DDL history</source>
<translation>Otvoriť DDL históriu</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="247"/>
+ <location filename="../mainwindow.cpp" line="256"/>
<source>Open SQL functions editor</source>
<translation>Otvoriť editor SQL funkcií</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="248"/>
+ <location filename="../mainwindow.cpp" line="257"/>
<source>Open collations editor</source>
<translation>Otvoriť editor porovnávaní</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="249"/>
+ <location filename="../mainwindow.cpp" line="258"/>
<source>Import</source>
<translation>Import</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="250"/>
+ <location filename="../mainwindow.cpp" line="259"/>
<source>Export</source>
<translation>Export</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="252"/>
+ <location filename="../mainwindow.cpp" line="261"/>
<source>Open configuration dialog</source>
<translation>Konfigurácia</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="254"/>
+ <location filename="../mainwindow.cpp" line="263"/>
<source>Tile windows</source>
<translation>Oddeliť okná</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="255"/>
+ <location filename="../mainwindow.cpp" line="264"/>
<source>Tile windows horizontally</source>
<translation>Oddeliť okná horizontálne</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="256"/>
+ <location filename="../mainwindow.cpp" line="265"/>
<source>Tile windows vertically</source>
<translation>Oddeliť okná vertikálne</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="257"/>
+ <location filename="../mainwindow.cpp" line="266"/>
<source>Cascade windows</source>
<translation>Okná kaskádovito</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="258"/>
+ <location filename="../mainwindow.cpp" line="267"/>
<source>Next window</source>
<translation>Nasledujúce okno</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="259"/>
+ <location filename="../mainwindow.cpp" line="268"/>
<source>Previous window</source>
<translation>Predchádzajúce okno</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="260"/>
+ <location filename="../mainwindow.cpp" line="269"/>
<source>Hide status field</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="262"/>
+ <location filename="../mainwindow.cpp" line="271"/>
<source>Close selected window</source>
<translation>Zatvoriť vybrané okno</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="263"/>
+ <location filename="../mainwindow.cpp" line="272"/>
<source>Close all windows but selected</source>
<translation>Zatvoriť všetky okná okrem vybraného</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="264"/>
+ <location filename="../mainwindow.cpp" line="273"/>
<source>Close all windows</source>
<translation>Zatvoriť všetky okná</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="265"/>
+ <location filename="../mainwindow.cpp" line="274"/>
<source>Restore recently closed window</source>
<translation>Obnoviť posledné zatvorené okno</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="266"/>
+ <location filename="../mainwindow.cpp" line="275"/>
<source>Rename selected window</source>
<translation>Premenovať vybrané okno</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="268"/>
+ <location filename="../mainwindow.cpp" line="277"/>
<source>Open Debug Console</source>
<translation>Otvoriť ladiacu konzolu</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="269"/>
+ <location filename="../mainwindow.cpp" line="278"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="279"/>
<source>Report a bug</source>
<translation>Nahlásiť chybu</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="270"/>
+ <location filename="../mainwindow.cpp" line="280"/>
<source>Propose a new feature</source>
<translation>Navrhnúť novú funkciu</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="271"/>
+ <location filename="../mainwindow.cpp" line="281"/>
<source>About</source>
<translation>O programe</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="272"/>
+ <location filename="../mainwindow.cpp" line="282"/>
<source>Licenses</source>
<translation>Licencie</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="273"/>
+ <location filename="../mainwindow.cpp" line="283"/>
<source>Open home page</source>
<translation>Otvoriť domovskú stránku</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="274"/>
+ <location filename="../mainwindow.cpp" line="284"/>
<source>Open forum page</source>
<translation>Otvoriť fórum</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="275"/>
+ <location filename="../mainwindow.cpp" line="285"/>
<source>User Manual</source>
<translation>Užívateľský manuál</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="276"/>
+ <location filename="../mainwindow.cpp" line="286"/>
<source>SQLite documentation</source>
<translation>Dokumentácia SQLite</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="277"/>
+ <location filename="../mainwindow.cpp" line="287"/>
<source>Report history</source>
<translation>História hlásení</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="278"/>
+ <location filename="../mainwindow.cpp" line="289"/>
<source>Check for updates</source>
<translation>Skontrolovať akutalizácie</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="315"/>
+ <location filename="../mainwindow.cpp" line="327"/>
<source>Database</source>
<comment>menubar</comment>
<translation>Databázy</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="335"/>
+ <location filename="../mainwindow.cpp" line="347"/>
<source>Structure</source>
<comment>menubar</comment>
<translation>Štruktúry</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="356"/>
+ <location filename="../mainwindow.cpp" line="368"/>
<source>View</source>
<comment>menubar</comment>
<translation>Zobrazenie</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="360"/>
+ <location filename="../mainwindow.cpp" line="372"/>
<source>Window list</source>
<comment>menubar view menu</comment>
<translation>Lišta okien</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="381"/>
+ <location filename="../mainwindow.cpp" line="393"/>
<source>Tools</source>
<comment>menubar</comment>
<translation>Nástroje</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="395"/>
+ <location filename="../mainwindow.cpp" line="407"/>
<source>Help</source>
<translation>Pomoc</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="549"/>
+ <location filename="../mainwindow.cpp" line="569"/>
<source>Could not set style: %1</source>
<comment>main window</comment>
<translation>Nemôžem nastaviť štýl: %1</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="621"/>
+ <location filename="../mainwindow.cpp" line="642"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation>Nemôžem exportovať, lebo nebol načítaný žiaden plugin na export.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="637"/>
+ <location filename="../mainwindow.cpp" line="658"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation>Nemôžem importovať, lebo nebol načítaný žiaden plugin na import.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Rename window</source>
<translation>Premenovať okno</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Enter new name for the window:</source>
<translation>Zadajte nový názov pre okno:</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="738"/>
+ <location filename="../mainwindow.cpp" line="777"/>
<source>New updates are available. &lt;a href=&quot;%1&quot;&gt;Click here for details&lt;/a&gt;.</source>
<translation>Nové aktualizácie sú dostupné. &lt;a href=&quot;%1&quot;&gt;Kliknite sem pre zobrazenie detailov&lt;/a&gt;.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="746"/>
+ <location filename="../mainwindow.cpp" line="785"/>
<source>You&apos;re running the most recent version. No updates are available.</source>
<translation>Niesú dostupné žiadne aktualizácie. Používate aktuálnu verziu.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="845"/>
+ <location filename="../mainwindow.cpp" line="891"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="852"/>
+ <location filename="../mainwindow.cpp" line="898"/>
<source>Database passed in command line parameters (%1) has been temporarily added to the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="857"/>
+ <location filename="../mainwindow.cpp" line="903"/>
<source>Could not add database %1 to list.</source>
<translation>Nemôžem pridať databázu %1 do zoznamu.</translation>
</message>
@@ -3651,40 +3726,40 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<message>
<location filename="../mdiwindow.cpp" line="204"/>
<source>Close anyway</source>
- <translation type="unfinished"></translation>
+ <translation>Zatvoriť aj napriek tomu</translation>
</message>
<message>
<location filename="../mdiwindow.cpp" line="206"/>
<source>Don&apos;t close</source>
- <translation type="unfinished"></translation>
+ <translation>Nezatvárať</translation>
</message>
</context>
<context>
<name>MultiEditor</name>
<message>
- <location filename="../multieditor/multieditor.cpp" line="53"/>
+ <location filename="../multieditor/multieditor.cpp" line="62"/>
<source>Null value</source>
<comment>multieditor</comment>
<translation>Hodnota null</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="68"/>
+ <location filename="../multieditor/multieditor.cpp" line="77"/>
<source>Configure editors for this data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="271"/>
+ <location filename="../multieditor/multieditor.cpp" line="287"/>
<source>Data editor plugin &apos;%1&apos; not loaded, while it is defined for editing &apos;%1&apos; data type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="356"/>
+ <location filename="../multieditor/multieditor.cpp" line="372"/>
<source>Deleted</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="358"/>
+ <location filename="../multieditor/multieditor.cpp" line="374"/>
<source>Read only</source>
<comment>multieditor</comment>
<translation type="unfinished"></translation>
@@ -3841,7 +3916,7 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<message>
<location filename="../dialogs/newversiondialog.ui" line="14"/>
<source>SQLiteStudio updates</source>
- <translation type="unfinished"></translation>
+ <translation>Aktualizácie SQLiteStudia</translation>
</message>
<message>
<location filename="../dialogs/newversiondialog.ui" line="26"/>
@@ -3851,7 +3926,7 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<message>
<location filename="../dialogs/newversiondialog.ui" line="70"/>
<source>Component</source>
- <translation type="unfinished"></translation>
+ <translation>Komponenta</translation>
</message>
<message>
<location filename="../dialogs/newversiondialog.ui" line="75"/>
@@ -3861,7 +3936,7 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<message>
<location filename="../dialogs/newversiondialog.ui" line="80"/>
<source>Update version</source>
- <translation type="unfinished"></translation>
+ <translation>Dostupná verzia</translation>
</message>
<message>
<location filename="../dialogs/newversiondialog.ui" line="91"/>
@@ -3871,22 +3946,22 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<message>
<location filename="../dialogs/newversiondialog.ui" line="101"/>
<source>Update to new version!</source>
- <translation type="unfinished"></translation>
+ <translation>Aktualizovať na novú verziu!</translation>
</message>
<message>
<location filename="../dialogs/newversiondialog.ui" line="114"/>
<source>The update will be automatically downloaded and installed. This will also restart application at the end.</source>
- <translation type="unfinished"></translation>
+ <translation>Aktualizácie budú automaticky stiahnuté a nainštalované. Na konci sa aplikácia reštartuje.</translation>
</message>
<message>
<location filename="../dialogs/newversiondialog.ui" line="121"/>
<source>Not now.</source>
- <translation type="unfinished"></translation>
+ <translation>Nie teraz.</translation>
</message>
<message>
<location filename="../dialogs/newversiondialog.ui" line="134"/>
<source>Don&apos;t install the update and close this window.</source>
- <translation type="unfinished"></translation>
+ <translation>Neinštalovať aktializácie a zatvoriť toto okno.</translation>
</message>
</context>
<context>
@@ -3936,27 +4011,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation>Naplniť</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="158"/>
+ <location filename="../dialogs/populatedialog.cpp" line="54"/>
+ <source>Abort</source>
+ <translation type="unfinished">Zrušiť</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/populatedialog.cpp" line="161"/>
<source>Configure</source>
<translation>Konfigurovať</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="256"/>
+ <location filename="../dialogs/populatedialog.cpp" line="259"/>
<source>Populating configuration for this column is invalid or incomplete.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="287"/>
+ <location filename="../dialogs/populatedialog.cpp" line="290"/>
<source>Select database with table to populate</source>
<translation>Vyberte databázu s tabuľkou na naplnenie</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="288"/>
+ <location filename="../dialogs/populatedialog.cpp" line="291"/>
<source>Select table to populate</source>
<translation>Vyberte tabuľku na naplnenie</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="289"/>
+ <location filename="../dialogs/populatedialog.cpp" line="292"/>
<source>You have to select at least one column.</source>
<translation>Musíte vybrať minimálne jeden stĺpec.</translation>
</message>
@@ -4081,32 +4161,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation>Otvoriť obsah vybranej bunky v samostatnom editore</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="487"/>
+ <location filename="../dataview.cpp" line="532"/>
<source>Total pages available: %1</source>
<translation>Celkový počet strán: %1</translation>
</message>
<message>
- <location filename="../dataview.cpp" line="497"/>
+ <location filename="../dataview.cpp" line="542"/>
<source>Total rows loaded: %1</source>
<translation>Celkový počet riadkov: %1</translation>
</message>
<message>
- <location filename="../dataview.h" line="17"/>
+ <location filename="../dataview.h" line="18"/>
<source>Data view (both grid and form)</source>
<translation>Zobrazenie dát (tabuľka a formulár)</translation>
</message>
<message>
- <location filename="../dataview.h" line="18"/>
+ <location filename="../dataview.h" line="19"/>
<source>Refresh data</source>
<translation>Obnoviť dáta</translation>
</message>
<message>
- <location filename="../dataview.h" line="19"/>
+ <location filename="../dataview.h" line="20"/>
<source>Switch to grid view of the data</source>
<translation>Prepnúť na tabuľkové zobrazenie dát</translation>
</message>
<message>
- <location filename="../dataview.h" line="20"/>
+ <location filename="../dataview.h" line="21"/>
<source>Switch to form view of the data</source>
<translation>Prepnúť na formulárové zobrazenie dát</translation>
</message>
@@ -4228,41 +4308,46 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation>Vymazať aktuálny riadok</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="42"/>
+ <location filename="../mainwindow.h" line="43"/>
<source>Main window</source>
<translation>Hlavné okno</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="43"/>
+ <location filename="../mainwindow.h" line="44"/>
<source>Open SQL editor</source>
<translation>Otvoriť SQL editor</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="44"/>
+ <location filename="../mainwindow.h" line="45"/>
<source>Previous window</source>
<translation>Predchádzajúce okno</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="45"/>
+ <location filename="../mainwindow.h" line="46"/>
<source>Next window</source>
<translation>Nasledujúce okno</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="46"/>
+ <location filename="../mainwindow.h" line="47"/>
<source>Hide status area</source>
<translation>Skryť status okno</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="47"/>
+ <location filename="../mainwindow.h" line="48"/>
<source>Open configuration dialog</source>
<translation>Otvoriť konfiguračné okno</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="48"/>
+ <location filename="../mainwindow.h" line="49"/>
<source>Open Debug Console</source>
<translation>Otvoriť ladiacu konzolu</translation>
</message>
<message>
+ <location filename="../mainwindow.h" line="50"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../multieditor/multieditortext.h" line="12"/>
<source>Cell text value editor</source>
<translation>Úprava hodnôt v bunkách</translation>
@@ -4375,12 +4460,12 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<message>
<location filename="../uiutils.cpp" line="32"/>
<source>All SQLite databases</source>
- <translation type="unfinished"></translation>
+ <translation>Všetky SQLite databázy</translation>
</message>
<message>
<location filename="../uiutils.cpp" line="35"/>
<source>All files</source>
- <translation type="unfinished"></translation>
+ <translation>Všetky súbory</translation>
</message>
<message>
<location filename="../uiutils.cpp" line="39"/>
@@ -4391,7 +4476,7 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<message>
<location filename="../windows/bugreporthistorywindow.h" line="11"/>
<source>Reports history window</source>
- <translation type="unfinished"></translation>
+ <translation>Okno histórie hlásení</translation>
</message>
<message>
<location filename="../windows/bugreporthistorywindow.h" line="12"/>
@@ -4665,31 +4750,31 @@ nájsť ďalší</translation>
<location filename="../sqleditor.cpp" line="118"/>
<source>Cut</source>
<comment>sql editor</comment>
- <translation type="unfinished"></translation>
+ <translation>Vystrihnúť</translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="119"/>
<source>Copy</source>
<comment>sql editor</comment>
- <translation type="unfinished">Kopírovať</translation>
+ <translation>Kopírovať</translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="120"/>
<source>Paste</source>
<comment>sql editor</comment>
- <translation type="unfinished">Vložiť</translation>
+ <translation>Vložiť</translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="121"/>
<source>Delete</source>
<comment>sql editor</comment>
- <translation type="unfinished"></translation>
+ <translation>Vymazať</translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="122"/>
<source>Select all</source>
<comment>sql editor</comment>
- <translation type="unfinished">Vybrať všetko</translation>
+ <translation>Vybrať všetko</translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="123"/>
@@ -4723,101 +4808,112 @@ nájsť ďalší</translation>
</message>
<message>
<location filename="../sqleditor.cpp" line="128"/>
+ <source>Select file to save SQL</source>
+ <comment>sql editor</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="129"/>
<source>Load SQL from file</source>
<comment>sql editor</comment>
<translation>Načítať SQL zo súboru</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="129"/>
+ <location filename="../sqleditor.cpp" line="130"/>
<source>Delete line</source>
<comment>sql editor</comment>
<translation>Vymazať riadok</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="130"/>
+ <location filename="../sqleditor.cpp" line="131"/>
<source>Move block down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="131"/>
+ <location filename="../sqleditor.cpp" line="132"/>
<source>Move block up</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="132"/>
+ <location filename="../sqleditor.cpp" line="133"/>
<source>Copy block down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="133"/>
+ <location filename="../sqleditor.cpp" line="134"/>
<source>Copy up down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="134"/>
+ <location filename="../sqleditor.cpp" line="135"/>
<source>Find</source>
<comment>sql editor</comment>
- <translation type="unfinished">Nájsť</translation>
+ <translation>Nájsť</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="135"/>
+ <location filename="../sqleditor.cpp" line="136"/>
<source>Find next</source>
<comment>sql editor</comment>
- <translation type="unfinished">Nájsť ďalší</translation>
+ <translation>Nájsť ďalší</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="136"/>
+ <location filename="../sqleditor.cpp" line="137"/>
<source>Find previous</source>
<comment>sql editor</comment>
- <translation type="unfinished">Nájsť predchádzajúci</translation>
+ <translation>Nájsť predchádzajúci</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="137"/>
+ <location filename="../sqleditor.cpp" line="138"/>
<source>Replace</source>
<comment>sql editor</comment>
<translation>Nahradiť</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="412"/>
+ <location filename="../sqleditor.cpp" line="252"/>
+ <source>Saved SQL contents to file: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="431"/>
<source>Syntax completion can be used only when a valid database is set for the SQL editor.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="800"/>
+ <location filename="../sqleditor.cpp" line="819"/>
<source>Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1027"/>
+ <location filename="../sqleditor.cpp" line="1054"/>
<source>Save to file</source>
<translation>Uložiť do súboru</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1036"/>
+ <location filename="../sqleditor.cpp" line="242"/>
<source>Could not open file &apos;%1&apos; for writing: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1050"/>
+ <location filename="../sqleditor.cpp" line="1066"/>
<source>SQL scripts (*.sql);;All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1051"/>
+ <location filename="../sqleditor.cpp" line="1067"/>
<source>Open file</source>
<translation>Otvoriť súbor</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1060"/>
+ <location filename="../sqleditor.cpp" line="1076"/>
<source>Could not open file &apos;%1&apos; for reading: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1267"/>
+ <location filename="../sqleditor.cpp" line="1285"/>
<source>Reached the end of document. Hit the find again to restart the search.</source>
<translation type="unfinished"></translation>
</message>
@@ -4877,7 +4973,7 @@ nájsť ďalší</translation>
<name>SqlQueryModel</name>
<message>
<location filename="../datagrid/sqlquerymodel.cpp" line="63"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="474"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="487"/>
<source>Only one query can be executed simultaneously.</source>
<translation>Nemôže byť spustených viacero dotazov súčasne.</translation>
</message>
@@ -4902,43 +4998,43 @@ nájsť ďalší</translation>
<translation>Nemôžem začať tranzakciu na databáze. Detaily: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="415"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="420"/>
<source>An error occurred while commiting the transaction: %1</source>
<translation>Vyskytla sa chyba počas potvrdzovania tranzakcie: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="434"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="445"/>
<source>An error occurred while rolling back the transaction: %1</source>
<translation>Vyskytla sa chyba počas vracania späť tranzakcie: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="560"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="573"/>
<source>Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it.</source>
<translation>Nastal pokus o potvrdenie zmien v bunke, ktorú nieje možné upravovať (napriek tomu bola upravená a čaká na potvrdenie)! Toto je chyba. Prosím nahláste ju.</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="586"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="599"/>
<source>An error occurred while commiting the data: %1</source>
<translation>Vyskytla sa chyba počas potvrdzovania dát: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1031"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1086"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1045"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1100"/>
<source>Error while executing SQL query on database &apos;%1&apos;: %2</source>
<translation>Vyskytla sa chyba počas vykonávania SQL dotazu na databáze &apos;%1&apos;: %2</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1083"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1097"/>
<source>Error while loading query results: %1</source>
<translation>Vyskytla sa chyba počas načítavania výsledkov dotazu: %1</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Insert multiple rows</source>
<translation>Vložiť viacero riadkov</translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Number of rows to insert:</source>
<translation>Počet vkládaných riadkov:</translation>
</message>
@@ -5057,14 +5153,14 @@ nájsť ďalší</translation>
<translation>Status</translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="161"/>
+ <location filename="../statusfield.cpp" line="164"/>
<source>Copy</source>
<translation>Kopírovať</translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="168"/>
+ <location filename="../statusfield.cpp" line="171"/>
<source>Clear</source>
- <translation>Vyčistiť</translation>
+ <translation>Vymazať</translation>
</message>
</context>
<context>
@@ -5073,19 +5169,19 @@ nájsť ďalší</translation>
<location filename="../windows/tableconstraintsmodel.cpp" line="75"/>
<source>Type</source>
<comment>table constraints</comment>
- <translation type="unfinished">Typ</translation>
+ <translation>Typ</translation>
</message>
<message>
<location filename="../windows/tableconstraintsmodel.cpp" line="77"/>
<source>Details</source>
<comment>table constraints</comment>
- <translation type="unfinished">Detaily</translation>
+ <translation>Detaily</translation>
</message>
<message>
<location filename="../windows/tableconstraintsmodel.cpp" line="79"/>
<source>Name</source>
<comment>table constraints</comment>
- <translation type="unfinished">Názov</translation>
+ <translation>Názov</translation>
</message>
</context>
<context>
@@ -5093,7 +5189,7 @@ nájsť ďalší</translation>
<message>
<location filename="../constraints/tableforeignkeypanel.ui" line="29"/>
<source>Foreign table:</source>
- <translation type="unfinished">Cudzia tabuľka:</translation>
+ <translation>Cudzia tabuľka:</translation>
</message>
<message>
<location filename="../constraints/tableforeignkeypanel.ui" line="48"/>
@@ -5119,7 +5215,7 @@ but it&apos;s okay to use them anyway.</source>
<message>
<location filename="../constraints/tableforeignkeypanel.ui" line="126"/>
<source>Reactions</source>
- <translation type="unfinished">Reakcie</translation>
+ <translation>Reakcie</translation>
</message>
<message>
<location filename="../constraints/tableforeignkeypanel.ui" line="165"/>
@@ -5129,38 +5225,38 @@ but it&apos;s okay to use them anyway.</source>
<message>
<location filename="../constraints/tableforeignkeypanel.ui" line="183"/>
<source>Named constraint</source>
- <translation type="unfinished">Pomenovanie obmedzenia</translation>
+ <translation>Pomenovanie obmedzenia</translation>
</message>
<message>
<location filename="../constraints/tableforeignkeypanel.ui" line="190"/>
<source>Constraint name</source>
- <translation type="unfinished">Názov obmedzenia</translation>
+ <translation>Názov obmedzenia</translation>
</message>
<message>
<location filename="../constraints/tableforeignkeypanel.cpp" line="53"/>
<source>Pick the foreign column.</source>
- <translation type="unfinished">Vyberte cudzí stĺpec.</translation>
+ <translation>Vyberte cudzí stĺpec.</translation>
</message>
<message>
<location filename="../constraints/tableforeignkeypanel.cpp" line="65"/>
<source>Pick the foreign table.</source>
- <translation type="unfinished">Vyberte cudziu tabuľku.</translation>
+ <translation>Vyberte cudziu tabuľku.</translation>
</message>
<message>
<location filename="../constraints/tableforeignkeypanel.cpp" line="66"/>
<source>Select at least one foreign column.</source>
- <translation type="unfinished"></translation>
+ <translation>Vyberte aspoň jeden cudzí stĺpec.</translation>
</message>
<message>
<location filename="../constraints/tableforeignkeypanel.cpp" line="67"/>
<source>Enter a name of the constraint.</source>
- <translation type="unfinished">Zadajte názov obmedzenia.</translation>
+ <translation>Zadajte názov obmedzenia.</translation>
</message>
<message>
<location filename="../constraints/tableforeignkeypanel.cpp" line="209"/>
<source>Foreign column</source>
<comment>table constraints</comment>
- <translation type="unfinished">Cudzí stĺpec</translation>
+ <translation>Cudzí stĺpec</translation>
</message>
</context>
<context>
@@ -5267,412 +5363,422 @@ but it&apos;s okay to use them anyway.</source>
<translation>Názov tabuľky:</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="184"/>
+ <location filename="../windows/tablewindow.ui" line="190"/>
<source>Data</source>
<translation>Dáta</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="201"/>
+ <location filename="../windows/tablewindow.ui" line="207"/>
<source>Constraints</source>
<translation>Obmedzovače</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="215"/>
+ <location filename="../windows/tablewindow.ui" line="221"/>
<source>Indexes</source>
<translation>Indexy</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="244"/>
+ <location filename="../windows/tablewindow.ui" line="250"/>
<source>Triggers</source>
<translation>Spúšťače</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="276"/>
+ <location filename="../windows/tablewindow.ui" line="282"/>
<source>DDL</source>
<translation>DDL</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="180"/>
+ <location filename="../windows/tablewindow.cpp" line="191"/>
<source>Export table</source>
<comment>table window</comment>
<translation>Exportovať tabuľku</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="181"/>
+ <location filename="../windows/tablewindow.cpp" line="192"/>
<source>Import data to table</source>
<comment>table window</comment>
<translation>Importovať dáta do tabuľky</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="182"/>
+ <location filename="../windows/tablewindow.cpp" line="193"/>
<source>Populate table</source>
<comment>table window</comment>
<translation>Naplniť tabuľku</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="196"/>
+ <location filename="../windows/tablewindow.cpp" line="207"/>
<source>Refresh structure</source>
<comment>table window</comment>
<translation>Obnoviť štruktúru</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="198"/>
+ <location filename="../windows/tablewindow.cpp" line="209"/>
<source>Commit structure changes</source>
<comment>table window</comment>
<translation>Potvrdiť zmeny štruktúr</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="199"/>
+ <location filename="../windows/tablewindow.cpp" line="210"/>
<source>Rollback structure changes</source>
<comment>table window</comment>
<translation>Vrátiť späť zmeny štruktúr</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="200"/>
+ <location filename="../windows/tablewindow.cpp" line="211"/>
<source>Add column</source>
<comment>table window</comment>
<translation>Pridať stĺpec</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="201"/>
+ <location filename="../windows/tablewindow.cpp" line="212"/>
<source>Edit column</source>
<comment>table window</comment>
<translation>Upraviť stĺpec</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="202"/>
- <location filename="../windows/tablewindow.cpp" line="289"/>
+ <location filename="../windows/tablewindow.cpp" line="213"/>
+ <location filename="../windows/tablewindow.cpp" line="300"/>
<source>Delete column</source>
<comment>table window</comment>
<translation>Vymazať stĺpec</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="203"/>
+ <location filename="../windows/tablewindow.cpp" line="214"/>
<source>Move column up</source>
<comment>table window</comment>
<translation>Posunúť stĺpec hore</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="204"/>
+ <location filename="../windows/tablewindow.cpp" line="215"/>
<source>Move column down</source>
<comment>table window</comment>
<translation>Posunúť stĺpec dole</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="210"/>
+ <location filename="../windows/tablewindow.cpp" line="221"/>
<source>Create similar table</source>
<comment>table window</comment>
<translation>Vytvoriť rovnakú tabuľku</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="211"/>
+ <location filename="../windows/tablewindow.cpp" line="222"/>
<source>Reset autoincrement value</source>
<comment>table window</comment>
<translation>Resetovať hodnotu autoinkrementu</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="214"/>
+ <location filename="../windows/tablewindow.cpp" line="225"/>
<source>Add table constraint</source>
<comment>table window</comment>
<translation>Pridať obmedzenie</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="215"/>
+ <location filename="../windows/tablewindow.cpp" line="226"/>
<source>Edit table constraint</source>
<comment>table window</comment>
<translation>Upraviť obmedzenie</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="216"/>
+ <location filename="../windows/tablewindow.cpp" line="227"/>
<source>Delete table constraint</source>
<comment>table window</comment>
<translation>Vymazať obmedzenie</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="217"/>
+ <location filename="../windows/tablewindow.cpp" line="228"/>
<source>Move table constraint up</source>
<comment>table window</comment>
<translation>Posunúť obmedzenie hore</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="218"/>
+ <location filename="../windows/tablewindow.cpp" line="229"/>
<source>Move table constraint down</source>
<comment>table window</comment>
<translation>Posunúť obmedzenie dole</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="220"/>
+ <location filename="../windows/tablewindow.cpp" line="231"/>
<source>Add table primary key</source>
<comment>table window</comment>
<translation>Pridať primárny kľúč</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="221"/>
+ <location filename="../windows/tablewindow.cpp" line="232"/>
<source>Add table foreign key</source>
<comment>table window</comment>
<translation>Pridať cudzí kľúč</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="222"/>
+ <location filename="../windows/tablewindow.cpp" line="233"/>
<source>Add table unique constraint</source>
<comment>table window</comment>
<translation>Pridať jedinečné obmedzenie</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="223"/>
+ <location filename="../windows/tablewindow.cpp" line="234"/>
<source>Add table check constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="241"/>
+ <location filename="../windows/tablewindow.cpp" line="252"/>
<source>Refresh index list</source>
<comment>table window</comment>
<translation>Obnoviť zoznam indexov</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="243"/>
+ <location filename="../windows/tablewindow.cpp" line="254"/>
<source>Create index</source>
<comment>table window</comment>
<translation>Vytvoriť index</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="244"/>
+ <location filename="../windows/tablewindow.cpp" line="255"/>
<source>Edit index</source>
<comment>table window</comment>
<translation>Upraviť index</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="245"/>
+ <location filename="../windows/tablewindow.cpp" line="256"/>
<source>Delete index</source>
<comment>table window</comment>
<translation>Vymazať index</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="251"/>
+ <location filename="../windows/tablewindow.cpp" line="262"/>
<source>Refresh trigger list</source>
<comment>table window</comment>
<translation>Obnoviť zoznam spúšťačov</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="253"/>
+ <location filename="../windows/tablewindow.cpp" line="264"/>
<source>Create trigger</source>
<comment>table window</comment>
<translation>Vytvoriť spúšťač</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="254"/>
+ <location filename="../windows/tablewindow.cpp" line="265"/>
<source>Edit trigger</source>
<comment>table window</comment>
<translation>Upraviť spúšťač</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="255"/>
+ <location filename="../windows/tablewindow.cpp" line="266"/>
<source>Delete trigger</source>
<comment>table window</comment>
<translation>Vymazať spúšťač</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="288"/>
+ <location filename="../windows/tablewindow.cpp" line="299"/>
<source>Are you sure you want to delete column &apos;%1&apos;?</source>
<comment>table window</comment>
<translation>Ste si istý, že chcete vymazať stĺpec &apos;%1&apos; ?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="316"/>
+ <location filename="../windows/tablewindow.cpp" line="327"/>
<source>Following problems will take place while modifying the table.
Would you like to proceed?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="318"/>
+ <location filename="../windows/tablewindow.cpp" line="329"/>
<source>Table modification</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="456"/>
+ <location filename="../windows/tablewindow.cpp" line="467"/>
<source>Could not load data for table %1. Error details: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="569"/>
+ <location filename="../windows/tablewindow.cpp" line="580"/>
<source>Could not process the %1 table correctly. Unable to open a table window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="637"/>
- <source>Could not restore window, because database %1 could not be resolved.</source>
+ <location filename="../windows/tablewindow.cpp" line="635"/>
+ <source>Could not restore window %1, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="641"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or table was stored in session for this window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="646"/>
- <source>Could not restore window, because the table %1 doesn&apos;t exist in the database %2.</source>
+ <location filename="../windows/tablewindow.cpp" line="648"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="671"/>
- <location filename="../windows/tablewindow.cpp" line="673"/>
+ <location filename="../windows/tablewindow.cpp" line="657"/>
+ <source>Could not restore window &apos;%1&apos;&apos;, because the table %2 doesn&apos;t exist in the database %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="682"/>
+ <location filename="../windows/tablewindow.cpp" line="684"/>
<source>New table %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="824"/>
+ <location filename="../windows/tablewindow.cpp" line="835"/>
<source>Could not commit table structure. Error message: %1</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Reset autoincrement</source>
<translation>Resetovať autoinkrement</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation>Ste si istý, že chcete zresetovať hodnotu autoinkrementu pre tabuľku %1 ?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="853"/>
+ <location filename="../windows/tablewindow.cpp" line="864"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation>Vyskytla sa chyba pri pokuse o zresetovanie hodnoty autoinkrementu pre tebuľku &apos;%1&apos;: %2</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="855"/>
+ <location filename="../windows/tablewindow.cpp" line="866"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>Empty name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>A blank name for the table is allowed in SQLite, but it is not recommended.
Are you sure you want to create a table with blank name?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="944"/>
+ <location filename="../windows/tablewindow.cpp" line="955"/>
<source>Cannot create a table without at least one column.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="970"/>
+ <location filename="../windows/tablewindow.cpp" line="981"/>
<source>Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="977"/>
+ <location filename="../windows/tablewindow.cpp" line="988"/>
<source>Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1114"/>
+ <location filename="../windows/tablewindow.cpp" line="1125"/>
<source>Are you sure you want to delete table constraint &apos;%1&apos;?</source>
<comment>table window</comment>
<translation>Ste si istý, že chcete vymazať obmedzenie &apos;%1&apos;?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1115"/>
+ <location filename="../windows/tablewindow.cpp" line="1126"/>
<source>Delete constraint</source>
<comment>table window</comment>
<translation>Vymazať obmedzenie</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1169"/>
+ <location filename="../windows/tablewindow.cpp" line="1180"/>
<source>Cannot export, because no export plugin is loaded.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Nemôžem exportovať, lebo nebol načítaný žiaden plugin na export.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1182"/>
+ <location filename="../windows/tablewindow.cpp" line="1193"/>
<source>Cannot import, because no import plugin is loaded.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Nemôžem importovať, lebo nebol načítaný žiaden plugin na import.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1214"/>
+ <location filename="../windows/tablewindow.cpp" line="1225"/>
<source>Uncommited changes</source>
<translation>Nepotvrdené zmeny</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1215"/>
+ <location filename="../windows/tablewindow.cpp" line="1226"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation>Sú tu nepotvrdené zmeny štruktúr. Nemôžte prezerať alebo editovať dáta dokiaľ nebude štruktúra tabuľky jasná.
Chcete potvrdiť štruktúru alebo sa chcete vrátiť do záložky štruktúr?</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Go back to structure tab</source>
<translation>Choď späť na záložku štruktúr</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Commit modifications and browse data.</source>
<translation>Potvrdiť zmeny a prezerať dáta.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1368"/>
+ <location filename="../windows/tablewindow.cpp" line="1379"/>
<source>Name</source>
<comment>table window indexes</comment>
<translation>Názov</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1369"/>
+ <location filename="../windows/tablewindow.cpp" line="1380"/>
<source>Unique</source>
<comment>table window indexes</comment>
<translation>Jedinečný</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1370"/>
+ <location filename="../windows/tablewindow.cpp" line="1381"/>
<source>Columns</source>
<comment>table window indexes</comment>
<translation>Stĺpce</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1371"/>
+ <location filename="../windows/tablewindow.cpp" line="1382"/>
<source>Partial index condition</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1425"/>
+ <location filename="../windows/tablewindow.cpp" line="1436"/>
<source>Name</source>
<comment>table window triggers</comment>
<translation>Názov</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1426"/>
+ <location filename="../windows/tablewindow.cpp" line="1437"/>
<source>Event</source>
<comment>table window triggers</comment>
<translation>Udalosť</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1427"/>
+ <location filename="../windows/tablewindow.cpp" line="1438"/>
<source>Condition</source>
<comment>table window triggers</comment>
<translation>Podmienka</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1428"/>
+ <location filename="../windows/tablewindow.cpp" line="1439"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation>Detaily</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1517"/>
+ <location filename="../windows/tablewindow.cpp" line="1528"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation>V okne tabuľky %1 sú nepotvrdené zmeny štruktúry a dáta.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1519"/>
+ <location filename="../windows/tablewindow.cpp" line="1530"/>
<source>Table window &quot;%1&quot; has uncommited data.</source>
<translation>V okne tabuľky %1 sú nepotvrdené dáta.</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1521"/>
+ <location filename="../windows/tablewindow.cpp" line="1532"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications.</source>
<translation>V okne tabuľky %1 sú nepotvrdené zmeny štruktúry.</translation>
</message>
@@ -5843,181 +5949,188 @@ Chcete potvrdiť štruktúru alebo sa chcete vrátiť do záložky štruktúr?</
<translation>DDL</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="115"/>
- <source>Could not restore window, because database %1 could not be resolved.</source>
+ <location filename="../windows/viewwindow.cpp" line="103"/>
+ <location filename="../windows/viewwindow.cpp" line="109"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or view was stored in session for this window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="121"/>
- <source>Could not restore window, because database %1 could not be open.</source>
+ <location filename="../windows/viewwindow.cpp" line="116"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="130"/>
- <source>Could not restore window, because the view %1 doesn&apos;t exist in the database %2.</source>
+ <location filename="../windows/viewwindow.cpp" line="122"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="155"/>
- <location filename="../windows/viewwindow.cpp" line="157"/>
- <source>New view %1</source>
+ <location filename="../windows/viewwindow.cpp" line="131"/>
+ <source>Could not restore window &apos;%1&apos;, because the view %2 doesn&apos;t exist in the database %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="275"/>
+ <location filename="../windows/viewwindow.cpp" line="156"/>
+ <location filename="../windows/viewwindow.cpp" line="158"/>
+ <source>New view %1</source>
+ <translation>Nový pohľad %1</translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="283"/>
<source>Refresh the view</source>
<comment>view window</comment>
<translation>Obnoviť pohľad</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="277"/>
+ <location filename="../windows/viewwindow.cpp" line="285"/>
<source>Commit the view changes</source>
<comment>view window</comment>
<translation>Potvrdiť zmeny v pohľade</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="278"/>
+ <location filename="../windows/viewwindow.cpp" line="286"/>
<source>Rollback the view changes</source>
<comment>view window</comment>
<translation>Vrátiť späť zmeny v pohľade</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="285"/>
+ <location filename="../windows/viewwindow.cpp" line="293"/>
<source>Refresh trigger list</source>
<comment>view window</comment>
<translation>Obnoviť zoznam spúšťačov</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="287"/>
+ <location filename="../windows/viewwindow.cpp" line="295"/>
<source>Create new trigger</source>
<comment>view window</comment>
<translation>Vytvoriť nový spúšťač</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="288"/>
+ <location filename="../windows/viewwindow.cpp" line="296"/>
<source>Edit selected trigger</source>
<comment>view window</comment>
<translation>Upraviť vybraný spúšťač</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="289"/>
+ <location filename="../windows/viewwindow.cpp" line="297"/>
<source>Delete selected trigger</source>
<comment>view window</comment>
<translation>Vymazať vybraný spúšťač</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="310"/>
+ <location filename="../windows/viewwindow.cpp" line="318"/>
<source>View window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="312"/>
+ <location filename="../windows/viewwindow.cpp" line="320"/>
<source>View window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="314"/>
+ <location filename="../windows/viewwindow.cpp" line="322"/>
<source>View window &quot;%1&quot; has uncommited structure modifications.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="455"/>
+ <location filename="../windows/viewwindow.cpp" line="463"/>
<source>Could not load data for view %1. Error details: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="466"/>
+ <location filename="../windows/viewwindow.cpp" line="474"/>
<source>Uncommited changes</source>
<translation>Nepotvrdené zmeny</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="467"/>
+ <location filename="../windows/viewwindow.cpp" line="475"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation>Sú tu nepotvrdené zmeny štruktúr. Nemôžte prezerať alebo editovať dáta dokiaľ nebude štruktúra tabuľky jasná.
Chcete potvrdiť štruktúru alebo sa chcete vrátiť do záložky štruktúr?</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Go back to structure tab</source>
<translation>Choď späť na záložku štruktúr</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Commit modifications and browse data.</source>
<translation>Potvrdiť zmeny a prezerať dáta.</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="528"/>
+ <location filename="../windows/viewwindow.cpp" line="536"/>
<source>Could not commit view changes. Error message: %1</source>
<comment>view window</comment>
<translation>Nemôžem potvrdiť zmeny v pohľade. Chyba: %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="606"/>
+ <location filename="../windows/viewwindow.cpp" line="614"/>
<source>Name</source>
<comment>view window triggers</comment>
<translation>Názov</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="607"/>
+ <location filename="../windows/viewwindow.cpp" line="615"/>
<source>Instead of</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="608"/>
+ <location filename="../windows/viewwindow.cpp" line="616"/>
<source>Condition</source>
<comment>view window triggers</comment>
- <translation type="unfinished">Podmienka</translation>
+ <translation>Podmienka</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="609"/>
+ <location filename="../windows/viewwindow.cpp" line="617"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation>Detaily</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="649"/>
+ <location filename="../windows/viewwindow.cpp" line="657"/>
<source>Could not process the %1 view correctly. Unable to open a view window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>Empty name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>A blank name for the view is allowed in SQLite, but it is not recommended.
Are you sure you want to create a view with blank name?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="699"/>
+ <location filename="../windows/viewwindow.cpp" line="707"/>
<source>The SELECT statement could not be parsed. Please correct the query and retry.
Details: %1</source>
- <translation type="unfinished"></translation>
+ <translation>SELECT nemôže byť analyzovaný. Prosím opravte dotaz a skúste to znovu.
+Detaily: %1</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="707"/>
+ <location filename="../windows/viewwindow.cpp" line="715"/>
<source>The view could not be modified due to internal SQLiteStudio error. Please report this!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="733"/>
+ <location filename="../windows/viewwindow.cpp" line="741"/>
<source>The view code could not be parsed properly for execution. This is a SQLiteStudio&apos;s bug. Please report it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="746"/>
+ <location filename="../windows/viewwindow.cpp" line="754"/>
<source>Following problems will take place while modifying the view.
Would you like to proceed?</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="748"/>
+ <location filename="../windows/viewwindow.cpp" line="756"/>
<source>View modification</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
@@ -6026,7 +6139,7 @@ Would you like to proceed?</source>
<context>
<name>WidgetCover</name>
<message>
- <location filename="../common/widgetcover.cpp" line="198"/>
+ <location filename="../common/widgetcover.cpp" line="234"/>
<source>Interrupt</source>
<translation type="unfinished"></translation>
</message>
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.qm
index 8879190..2cb7445 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.qm
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.qm
Binary files differ
diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.ts
index 9a6bd32..7d8bb85 100644
--- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.ts
+++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.ts
@@ -357,32 +357,32 @@
<translation>过滤器排序规则</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="110"/>
+ <location filename="../windows/collationseditor.ui" line="194"/>
<source>Collation name:</source>
<translation>排序规则名称:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="120"/>
+ <location filename="../windows/collationseditor.ui" line="204"/>
<source>Implementation language:</source>
<translation>实现语言:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="152"/>
+ <location filename="../windows/collationseditor.ui" line="132"/>
<source>Databases</source>
<translation>数据库</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="158"/>
+ <location filename="../windows/collationseditor.ui" line="138"/>
<source>Register in all databases</source>
<translation>在所有数据库中注册</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="165"/>
+ <location filename="../windows/collationseditor.ui" line="145"/>
<source>Register in following databases:</source>
<translation>在下列数据库中注册:</translation>
</message>
<message>
- <location filename="../windows/collationseditor.ui" line="186"/>
+ <location filename="../windows/collationseditor.ui" line="166"/>
<source>Implementation code:</source>
<translation>实现代码:</translation>
</message>
@@ -892,7 +892,7 @@ but it&apos;s okay to use it.</source>
<name>ConfigDialog</name>
<message>
<location filename="../dialogs/configdialog.ui" line="14"/>
- <location filename="../dialogs/configdialog.ui" line="1216"/>
+ <location filename="../dialogs/configdialog.ui" line="1293"/>
<source>Configuration</source>
<translation type="unfinished"></translation>
</message>
@@ -1069,406 +1069,441 @@ but it&apos;s okay to use it.</source>
<translation>按键编定</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="656"/>
- <location filename="../dialogs/configdialog.ui" line="1206"/>
+ <location filename="../dialogs/configdialog.ui" line="671"/>
+ <location filename="../dialogs/configdialog.ui" line="1283"/>
<source>Language</source>
<translation>语言</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="662"/>
+ <location filename="../dialogs/configdialog.ui" line="677"/>
<source>Changing language requires application restart to take effect.</source>
<translation>更改语言后,重启程序生效。</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="679"/>
+ <location filename="../dialogs/configdialog.ui" line="694"/>
+ <source>Compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="700"/>
+ <source>&lt;p&gt;Compact layout reduces all margins and spacing on the UI to minimum, making space for displaying more data. It makes the interface a little bit less aesthetic, but allows to display more data at once.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="703"/>
+ <source>Use compact layout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="709"/>
+ <source>General.CompactLayout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="719"/>
<source>Database list</source>
<translation>数据库列表</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="685"/>
+ <location filename="../dialogs/configdialog.ui" line="725"/>
<source>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</source>
<translation>如果关闭,将会以 CREATE TABLE 中的顺序对列进行排序。</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="688"/>
+ <location filename="../dialogs/configdialog.ui" line="728"/>
<source>Sort table columns alphabetically</source>
<translation>按字母对列排序</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="698"/>
+ <location filename="../dialogs/configdialog.ui" line="738"/>
<source>Expand tables node when connected to a database</source>
<translation>当连接到数据库时,展开数据库节点。</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="708"/>
+ <location filename="../dialogs/configdialog.ui" line="748"/>
<source>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="711"/>
+ <location filename="../dialogs/configdialog.ui" line="751"/>
<source>Display additional labels on the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="726"/>
+ <location filename="../dialogs/configdialog.ui" line="766"/>
<source>For regular tables labels will show number of columns, indexes and triggers for each of tables.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="729"/>
+ <location filename="../dialogs/configdialog.ui" line="769"/>
<source>Display labels for regular tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="739"/>
+ <location filename="../dialogs/configdialog.ui" line="779"/>
<source>Virtual tables will be marked with a &apos;virtual&apos; label.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="742"/>
+ <location filename="../dialogs/configdialog.ui" line="782"/>
<source>Display labels for virtual tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="755"/>
+ <location filename="../dialogs/configdialog.ui" line="795"/>
<source>Expand views node when connected to a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="765"/>
+ <location filename="../dialogs/configdialog.ui" line="805"/>
<source>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="768"/>
+ <location filename="../dialogs/configdialog.ui" line="808"/>
<source>Sort objects (tables, indexes, triggers and views) alphabetically</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="778"/>
+ <location filename="../dialogs/configdialog.ui" line="818"/>
<source>Display system tables and indexes on the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="791"/>
+ <location filename="../dialogs/configdialog.ui" line="831"/>
<source>Table windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="797"/>
+ <location filename="../dialogs/configdialog.ui" line="837"/>
<source>When enabled, Table Windows will show up with the data tab, instead of the structure tab.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="800"/>
+ <location filename="../dialogs/configdialog.ui" line="840"/>
<source>Open Table Windows with the data tab for start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="813"/>
+ <location filename="../dialogs/configdialog.ui" line="853"/>
<source>View windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="819"/>
+ <location filename="../dialogs/configdialog.ui" line="859"/>
<source>When enabled, View Windows will show up with the data tab, instead of the structure tab.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="822"/>
+ <location filename="../dialogs/configdialog.ui" line="862"/>
<source>Open View Windows with the data tab for start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="933"/>
+ <location filename="../dialogs/configdialog.ui" line="875"/>
+ <source>Main window dock areas</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="881"/>
+ <source>Left and right areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="901"/>
+ <source>Top and bottom areas occupy corners</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dialogs/configdialog.ui" line="1010"/>
<source>Hide built-in plugins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="962"/>
+ <location filename="../dialogs/configdialog.ui" line="1039"/>
<source>Current style:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="979"/>
+ <location filename="../dialogs/configdialog.ui" line="1056"/>
<source>Preview</source>
<translation>预览</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="989"/>
+ <location filename="../dialogs/configdialog.ui" line="1066"/>
<source>Enabled</source>
<translation>已启用</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1162"/>
+ <location filename="../dialogs/configdialog.ui" line="1239"/>
<source>Disabled</source>
<translation>已禁用</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1211"/>
+ <location filename="../dialogs/configdialog.ui" line="1288"/>
<source>Active formatter plugin</source>
<translation>启用格式化插件</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1249"/>
+ <location filename="../dialogs/configdialog.ui" line="1326"/>
<source>SQL editor font</source>
<translation>SQL编辑器字体</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1265"/>
+ <location filename="../dialogs/configdialog.ui" line="1342"/>
<source>Database list font</source>
<translation>数据库字体</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1281"/>
+ <location filename="../dialogs/configdialog.ui" line="1358"/>
<source>Database list additional label font</source>
<translation>数据库额外标签字体</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1297"/>
+ <location filename="../dialogs/configdialog.ui" line="1374"/>
<source>Data view font</source>
<translation>数据浏览字体</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1313"/>
+ <location filename="../dialogs/configdialog.ui" line="1390"/>
<source>Status field font</source>
<translation>状态栏字体</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1371"/>
+ <location filename="../dialogs/configdialog.ui" line="1448"/>
<source>SQL editor colors</source>
<translation>SQL编辑器颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1377"/>
+ <location filename="../dialogs/configdialog.ui" line="1454"/>
<source>Current line background</source>
<translation>当前行的背景色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1384"/>
+ <location filename="../dialogs/configdialog.ui" line="1461"/>
<source>&lt;p&gt;SQL strings are enclosed with single quote characters.&lt;/p&gt;</source>
<translation>&lt;p&gt;单引号内的SQL字符串&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1387"/>
+ <location filename="../dialogs/configdialog.ui" line="1464"/>
<source>String foreground</source>
<translation>字符串颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1490"/>
+ <location filename="../dialogs/configdialog.ui" line="1567"/>
<source>&lt;p&gt;Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;:param_name&lt;/li&gt;&lt;li&gt;$param_name&lt;/li&gt;&lt;li&gt;@param_name&lt;/li&gt;&lt;li&gt;?&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1493"/>
+ <location filename="../dialogs/configdialog.ui" line="1570"/>
<source>Bind parameter foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1516"/>
+ <location filename="../dialogs/configdialog.ui" line="1593"/>
<source>Highlighted parenthesis background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1523"/>
+ <location filename="../dialogs/configdialog.ui" line="1600"/>
<source>&lt;p&gt;BLOB values are binary values represented as hexadecimal numbers, like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;X&apos;12B4&apos;&lt;/li&gt;&lt;li&gt;x&apos;46A2F4&apos;&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1526"/>
+ <location filename="../dialogs/configdialog.ui" line="1603"/>
<source>BLOB value foreground</source>
<translation>BLOB值的颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1533"/>
+ <location filename="../dialogs/configdialog.ui" line="1610"/>
<source>Regular foreground</source>
<translation type="unfinished">背景色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1540"/>
+ <location filename="../dialogs/configdialog.ui" line="1617"/>
<source>Line numbers area background</source>
<translation>行号的背景色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1563"/>
+ <location filename="../dialogs/configdialog.ui" line="1640"/>
<source>Keyword foreground</source>
<translation>关键字的颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1570"/>
+ <location filename="../dialogs/configdialog.ui" line="1647"/>
<source>Number foreground</source>
<translation>数字颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1577"/>
+ <location filename="../dialogs/configdialog.ui" line="1654"/>
<source>Comment foreground</source>
<translation>注释颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1616"/>
+ <location filename="../dialogs/configdialog.ui" line="1693"/>
<source>&lt;p&gt;Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1619"/>
+ <location filename="../dialogs/configdialog.ui" line="1696"/>
<source>Valid objects foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1645"/>
+ <location filename="../dialogs/configdialog.ui" line="1722"/>
<source>Data view colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1651"/>
+ <location filename="../dialogs/configdialog.ui" line="1728"/>
<source>&lt;p&gt;Any data changes will be outlined with this color, until they&apos;re commited to the database.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1654"/>
+ <location filename="../dialogs/configdialog.ui" line="1731"/>
<source>Uncommited data outline color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1677"/>
+ <location filename="../dialogs/configdialog.ui" line="1754"/>
<source>&lt;p&gt;In case of error while commiting data changes, the problematic cell will be outlined with this color.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1680"/>
+ <location filename="../dialogs/configdialog.ui" line="1757"/>
<source>Commit error outline color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1703"/>
+ <location filename="../dialogs/configdialog.ui" line="1780"/>
<source>NULL value foreground</source>
<translation>NULL值的颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1726"/>
+ <location filename="../dialogs/configdialog.ui" line="1803"/>
<source>Deleted row background</source>
<translation>已删除行的背景色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1752"/>
+ <location filename="../dialogs/configdialog.ui" line="1829"/>
<source>Database list colors</source>
<translation>数据库列表颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1758"/>
+ <location filename="../dialogs/configdialog.ui" line="1835"/>
<source>&lt;p&gt;Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1761"/>
+ <location filename="../dialogs/configdialog.ui" line="1838"/>
<source>Additional labels foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1787"/>
+ <location filename="../dialogs/configdialog.ui" line="1864"/>
<source>Status field colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1793"/>
+ <location filename="../dialogs/configdialog.ui" line="1870"/>
<source>Information message foreground</source>
<translation>信息颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1816"/>
+ <location filename="../dialogs/configdialog.ui" line="1893"/>
<source>Warning message foreground</source>
<translation>警告信息颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.ui" line="1839"/>
+ <location filename="../dialogs/configdialog.ui" line="1916"/>
<source>Error message foreground</source>
<translation>错误信息颜色</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="765"/>
+ <location filename="../dialogs/configdialog.cpp" line="785"/>
<source>Description:</source>
<comment>plugin details</comment>
<translation>描述:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="766"/>
+ <location filename="../dialogs/configdialog.cpp" line="786"/>
<source>Category:</source>
<comment>plugin details</comment>
<translation>分类:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="767"/>
+ <location filename="../dialogs/configdialog.cpp" line="787"/>
<source>Version:</source>
<comment>plugin details</comment>
<translation>版本:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="768"/>
+ <location filename="../dialogs/configdialog.cpp" line="788"/>
<source>Author:</source>
<comment>plugin details</comment>
<translation>作者:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="770"/>
+ <location filename="../dialogs/configdialog.cpp" line="790"/>
<source>Internal name:</source>
<comment>plugin details</comment>
<translation>内部名字:</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="771"/>
+ <location filename="../dialogs/configdialog.cpp" line="791"/>
<source>Dependencies:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="772"/>
+ <location filename="../dialogs/configdialog.cpp" line="792"/>
<source>Conflicts:</source>
<comment>plugin details</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="776"/>
+ <location filename="../dialogs/configdialog.cpp" line="796"/>
<source>Plugin details</source>
<translation>插件详情</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1177"/>
+ <location filename="../dialogs/configdialog.cpp" line="1202"/>
<source>Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1241"/>
+ <location filename="../dialogs/configdialog.cpp" line="1266"/>
<source>%1 (built-in)</source>
<comment>plugins manager in configuration dialog</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1254"/>
+ <location filename="../dialogs/configdialog.cpp" line="1279"/>
<source>Details</source>
<translation>详情</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1266"/>
+ <location filename="../dialogs/configdialog.cpp" line="1291"/>
<source>No plugins in this category.</source>
<translation>该分类下没有插件。</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1362"/>
+ <location filename="../dialogs/configdialog.cpp" line="1387"/>
<source>Add new data type</source>
<translation>添加新的数据类型</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1366"/>
+ <location filename="../dialogs/configdialog.cpp" line="1391"/>
<source>Rename selected data type</source>
<translation>重命名选择的数据类型</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1370"/>
+ <location filename="../dialogs/configdialog.cpp" line="1395"/>
<source>Delete selected data type</source>
<translation>删除已选数据类型</translation>
</message>
<message>
- <location filename="../dialogs/configdialog.cpp" line="1374"/>
+ <location filename="../dialogs/configdialog.cpp" line="1399"/>
<source>Help for configuring data type editors</source>
<translation type="unfinished"></translation>
</message>
@@ -1610,121 +1645,129 @@ but it&apos;s okay to use it.</source>
</message>
</context>
<context>
+ <name>CssDebugDialog</name>
+ <message>
+ <location filename="../dialogs/cssdebugdialog.ui" line="14"/>
+ <source>SQLiteStudio CSS console</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DataView</name>
<message>
- <location filename="../dataview.cpp" line="95"/>
+ <location filename="../dataview.cpp" line="98"/>
<source>Filter data</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="104"/>
+ <location filename="../dataview.cpp" line="107"/>
<source>Grid view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="105"/>
+ <location filename="../dataview.cpp" line="108"/>
<source>Form view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="148"/>
+ <location filename="../dataview.cpp" line="165"/>
<source>Refresh table data</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="162"/>
+ <location filename="../dataview.cpp" line="179"/>
<source>First page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="163"/>
+ <location filename="../dataview.cpp" line="180"/>
<source>Previous page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="165"/>
+ <location filename="../dataview.cpp" line="182"/>
<source>Next page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="166"/>
+ <location filename="../dataview.cpp" line="183"/>
<source>Last page</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="171"/>
+ <location filename="../dataview.cpp" line="188"/>
<source>Apply filter</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="186"/>
+ <location filename="../dataview.cpp" line="203"/>
<source>Commit changes for selected cells</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="187"/>
+ <location filename="../dataview.cpp" line="204"/>
<source>Rollback changes for selected cells</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="188"/>
+ <location filename="../dataview.cpp" line="205"/>
<source>Show grid view of results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="189"/>
+ <location filename="../dataview.cpp" line="206"/>
<source>Show form view of results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="258"/>
+ <location filename="../dataview.cpp" line="275"/>
<source>Filter by text</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="259"/>
+ <location filename="../dataview.cpp" line="276"/>
<source>Filter by the Regular Expression</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="260"/>
+ <location filename="../dataview.cpp" line="277"/>
<source>Filter by SQL expression</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="291"/>
+ <location filename="../dataview.cpp" line="308"/>
<source>Tabs on top</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="292"/>
+ <location filename="../dataview.cpp" line="309"/>
<source>Tabs at bottom</source>
<comment>data view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="510"/>
+ <location filename="../dataview.cpp" line="555"/>
<source>Total number of rows is being counted.
Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="521"/>
+ <location filename="../dataview.cpp" line="566"/>
<source>Row: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1910,37 +1953,37 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="488"/>
+ <location filename="../dialogs/dbdialog.cpp" line="483"/>
<source>Enter an unique database name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="497"/>
+ <location filename="../dialogs/dbdialog.cpp" line="492"/>
<source>This name is already in use. Please enter unique name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="505"/>
+ <location filename="../dialogs/dbdialog.cpp" line="500"/>
<source>Enter a database file path.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="512"/>
+ <location filename="../dialogs/dbdialog.cpp" line="507"/>
<source>This database is already on the list under name: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="528"/>
+ <location filename="../dialogs/dbdialog.cpp" line="523"/>
<source>Select a database type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="585"/>
+ <location filename="../dialogs/dbdialog.cpp" line="580"/>
<source>Auto-generated</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/dbdialog.cpp" line="590"/>
+ <location filename="../dialogs/dbdialog.cpp" line="585"/>
<source>Type the name</source>
<translation type="unfinished"></translation>
</message>
@@ -2001,327 +2044,348 @@ Browsing other pages will be possible after the row counting is done.</source>
<translation type="unfinished">数据库</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.ui" line="67"/>
+ <location filename="../dbtree/dbtree.ui" line="73"/>
<source>Filter by name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="99"/>
+ <location filename="../dbtree/dbtree.cpp" line="102"/>
<source>Copy</source>
<translation type="unfinished">复制</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="100"/>
+ <location filename="../dbtree/dbtree.cpp" line="103"/>
<source>Paste</source>
<translation type="unfinished">粘贴</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="101"/>
+ <location filename="../dbtree/dbtree.cpp" line="104"/>
<source>Select all</source>
<translation type="unfinished">全选</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="102"/>
+ <location filename="../dbtree/dbtree.cpp" line="105"/>
<source>Create a group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="103"/>
+ <location filename="../dbtree/dbtree.cpp" line="106"/>
<source>Delete the group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="104"/>
+ <location filename="../dbtree/dbtree.cpp" line="107"/>
<source>Rename the group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="105"/>
+ <location filename="../dbtree/dbtree.cpp" line="108"/>
<source>Add a database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="106"/>
+ <location filename="../dbtree/dbtree.cpp" line="109"/>
<source>Edit the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="107"/>
+ <location filename="../dbtree/dbtree.cpp" line="110"/>
<source>Remove the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="108"/>
+ <location filename="../dbtree/dbtree.cpp" line="111"/>
<source>Connect to the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="109"/>
+ <location filename="../dbtree/dbtree.cpp" line="112"/>
<source>Disconnect from the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="110"/>
+ <location filename="../dbtree/dbtree.cpp" line="113"/>
<source>Import</source>
<translation type="unfinished">导入</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="111"/>
+ <location filename="../dbtree/dbtree.cpp" line="114"/>
<source>Export the database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="112"/>
+ <location filename="../dbtree/dbtree.cpp" line="115"/>
<source>Convert database type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="113"/>
+ <location filename="../dbtree/dbtree.cpp" line="116"/>
<source>Vacuum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="114"/>
+ <location filename="../dbtree/dbtree.cpp" line="117"/>
<source>Integrity check</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="115"/>
+ <location filename="../dbtree/dbtree.cpp" line="118"/>
<source>Create a table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="116"/>
+ <location filename="../dbtree/dbtree.cpp" line="119"/>
<source>Edit the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="117"/>
+ <location filename="../dbtree/dbtree.cpp" line="120"/>
<source>Delete the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="118"/>
+ <location filename="../dbtree/dbtree.cpp" line="121"/>
<source>Export the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="119"/>
+ <location filename="../dbtree/dbtree.cpp" line="122"/>
<source>Import into the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="120"/>
+ <location filename="../dbtree/dbtree.cpp" line="123"/>
<source>Populate table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="121"/>
+ <location filename="../dbtree/dbtree.cpp" line="124"/>
<source>Create similar table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="122"/>
+ <location filename="../dbtree/dbtree.cpp" line="125"/>
<source>Reset autoincrement sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="123"/>
+ <location filename="../dbtree/dbtree.cpp" line="126"/>
<source>Create an index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="124"/>
+ <location filename="../dbtree/dbtree.cpp" line="127"/>
<source>Edit the index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="125"/>
+ <location filename="../dbtree/dbtree.cpp" line="128"/>
<source>Delete the index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="126"/>
+ <location filename="../dbtree/dbtree.cpp" line="129"/>
<source>Create a trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="127"/>
+ <location filename="../dbtree/dbtree.cpp" line="130"/>
<source>Edit the trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="128"/>
+ <location filename="../dbtree/dbtree.cpp" line="131"/>
<source>Delete the trigger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="129"/>
+ <location filename="../dbtree/dbtree.cpp" line="132"/>
<source>Create a view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="130"/>
+ <location filename="../dbtree/dbtree.cpp" line="133"/>
<source>Edit the view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="131"/>
+ <location filename="../dbtree/dbtree.cpp" line="134"/>
<source>Delete the view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="132"/>
+ <location filename="../dbtree/dbtree.cpp" line="135"/>
<source>Add a column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="133"/>
+ <location filename="../dbtree/dbtree.cpp" line="136"/>
<source>Edit the column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="134"/>
+ <location filename="../dbtree/dbtree.cpp" line="137"/>
<source>Delete the column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="135"/>
+ <location filename="../dbtree/dbtree.cpp" line="138"/>
<source>Delete selected items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="136"/>
+ <location filename="../dbtree/dbtree.cpp" line="139"/>
<source>Clear filter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="137"/>
+ <location filename="../dbtree/dbtree.cpp" line="140"/>
<source>Refresh all database schemas</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="138"/>
+ <location filename="../dbtree/dbtree.cpp" line="141"/>
<source>Refresh selected database schema</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="308"/>
- <location filename="../dbtree/dbtree.cpp" line="313"/>
+ <location filename="../dbtree/dbtree.cpp" line="142"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Erase table data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="312"/>
+ <location filename="../dbtree/dbtree.cpp" line="317"/>
<source>Database</source>
<translation type="unfinished">数据库</translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="323"/>
+ <location filename="../dbtree/dbtree.cpp" line="327"/>
<source>Grouping</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Create group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="932"/>
+ <location filename="../dbtree/dbtree.cpp" line="937"/>
<source>Group name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="935"/>
+ <location filename="../dbtree/dbtree.cpp" line="940"/>
<source>Entry with name %1 already exists in group %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="953"/>
+ <location filename="../dbtree/dbtree.cpp" line="958"/>
<source>Delete group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="954"/>
+ <location filename="../dbtree/dbtree.cpp" line="959"/>
<source>Are you sure you want to delete group %1?
All objects from this group will be moved to parent group.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Delete database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1014"/>
+ <location filename="../dbtree/dbtree.cpp" line="1019"/>
<source>Are you sure you want to delete database &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1050"/>
- <location filename="../dbtree/dbtree.cpp" line="1260"/>
+ <location filename="../dbtree/dbtree.cpp" line="1055"/>
+ <location filename="../dbtree/dbtree.cpp" line="1265"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1070"/>
- <location filename="../dbtree/dbtree.cpp" line="1235"/>
+ <location filename="../dbtree/dbtree.cpp" line="1075"/>
+ <location filename="../dbtree/dbtree.cpp" line="1240"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1334"/>
+ <location filename="../dbtree/dbtree.cpp" line="1339"/>
<source>Error while executing VACUUM on the database %1: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1336"/>
+ <location filename="../dbtree/dbtree.cpp" line="1341"/>
<source>VACUUM execution finished successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1353"/>
+ <location filename="../dbtree/dbtree.cpp" line="1358"/>
<source>Integrity check (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Reset autoincrement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1390"/>
+ <location filename="../dbtree/dbtree.cpp" line="1395"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1397"/>
+ <location filename="../dbtree/dbtree.cpp" line="1402"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1399"/>
+ <location filename="../dbtree/dbtree.cpp" line="1404"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1501"/>
+ <location filename="../dbtree/dbtree.cpp" line="1421"/>
+ <source>Are you sure you want to delete all data from table &apos;%1&apos;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1429"/>
+ <source>An error occurred while trying to delete data from table &apos;%1&apos;: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1433"/>
+ <source>All data has been deleted for table &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../dbtree/dbtree.cpp" line="1535"/>
<source>Following objects will be deleted: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1504"/>
+ <location filename="../dbtree/dbtree.cpp" line="1538"/>
<source>Following databases will be removed from list: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1507"/>
+ <location filename="../dbtree/dbtree.cpp" line="1541"/>
<source>Remainig objects from deleted group will be moved in place where the group used to be.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1509"/>
+ <location filename="../dbtree/dbtree.cpp" line="1543"/>
<source>%1&lt;br&gt;&lt;br&gt;Are you sure you want to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtree.cpp" line="1511"/>
+ <location filename="../dbtree/dbtree.cpp" line="1545"/>
<source>Delete objects</source>
<translation type="unfinished"></translation>
</message>
@@ -2356,123 +2420,123 @@ All objects from this group will be moved to parent group.</source>
<context>
<name>DbTreeModel</name>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="407"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="422"/>
<source>Database: %1</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished">数据库:%1</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="412"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="427"/>
<source>Version:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished">版本:</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="413"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="430"/>
<source>File size:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="414"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="433"/>
<source>Encoding:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="419"/>
- <source>Error details:</source>
+ <location filename="../dbtree/dbtreemodel.cpp" line="438"/>
+ <source>Error:</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="429"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="448"/>
<source>Table : %1</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="452"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="471"/>
<source>Columns (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="455"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="474"/>
<source>Indexes (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="458"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="477"/>
<source>Triggers (%1):</source>
<comment>dbtree tooltip</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1073"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1092"/>
<source>Copy</source>
<translation type="unfinished">复制</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1074"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1093"/>
<source>Move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1076"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1095"/>
<source>Include data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1077"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1096"/>
<source>Include indexes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1078"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1097"/>
<source>Include triggers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1080"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1099"/>
<source>Abort</source>
<translation type="unfinished">中止</translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1156"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1175"/>
<source>Referenced tables</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1157"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1176"/>
<source>Do you want to include following referenced tables as well:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1166"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1185"/>
<source>Name conflict</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1167"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1186"/>
<source>Following object already exists in the target database.
Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1180"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1199"/>
<source>SQL statements conversion</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1188"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1207"/>
<source>Following error occurred while converting SQL statements to the target SQLite version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dbtree/dbtreemodel.cpp" line="1189"/>
+ <location filename="../dbtree/dbtreemodel.cpp" line="1208"/>
<source>Would you like to ignore those errors and proceed?</source>
<translation type="unfinished"></translation>
</message>
@@ -2521,135 +2585,135 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>EditorWindow</name>
<message>
- <location filename="../windows/editorwindow.ui" line="39"/>
+ <location filename="../windows/editorwindow.ui" line="42"/>
<source>Query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.ui" line="109"/>
+ <location filename="../windows/editorwindow.ui" line="112"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="130"/>
+ <location filename="../windows/editorwindow.cpp" line="137"/>
<source>Results in the separate tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="131"/>
+ <location filename="../windows/editorwindow.cpp" line="138"/>
<source>Results below the query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="164"/>
- <location filename="../windows/editorwindow.cpp" line="166"/>
+ <location filename="../windows/editorwindow.cpp" line="171"/>
+ <location filename="../windows/editorwindow.cpp" line="173"/>
<source>SQL editor %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="324"/>
+ <location filename="../windows/editorwindow.cpp" line="331"/>
<source>Results</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="357"/>
+ <location filename="../windows/editorwindow.cpp" line="364"/>
<source>Execute query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="358"/>
+ <location filename="../windows/editorwindow.cpp" line="365"/>
<source>Explain query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="361"/>
+ <location filename="../windows/editorwindow.cpp" line="368"/>
<source>Clear execution history</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="363"/>
+ <location filename="../windows/editorwindow.cpp" line="370"/>
<source>Export results</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="365"/>
+ <location filename="../windows/editorwindow.cpp" line="372"/>
<source>Create view from query</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="374"/>
+ <location filename="../windows/editorwindow.cpp" line="382"/>
<source>Previous database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="375"/>
+ <location filename="../windows/editorwindow.cpp" line="383"/>
<source>Next database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="378"/>
+ <location filename="../windows/editorwindow.cpp" line="386"/>
<source>Show next tab</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="379"/>
+ <location filename="../windows/editorwindow.cpp" line="387"/>
<source>Show previous tab</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="380"/>
+ <location filename="../windows/editorwindow.cpp" line="388"/>
<source>Focus results below</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="381"/>
+ <location filename="../windows/editorwindow.cpp" line="389"/>
<source>Focus SQL editor above</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="455"/>
+ <location filename="../windows/editorwindow.cpp" line="463"/>
<source>Active database (%1/%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="495"/>
+ <location filename="../windows/editorwindow.cpp" line="503"/>
<source>Query finished in %1 second(s). Rows affected: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="499"/>
+ <location filename="../windows/editorwindow.cpp" line="507"/>
<source>Query finished in %1 second(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Clear execution history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="601"/>
+ <location filename="../windows/editorwindow.cpp" line="609"/>
<source>Are you sure you want to erase the entire SQL execution history? This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="613"/>
+ <location filename="../windows/editorwindow.cpp" line="621"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="634"/>
+ <location filename="../windows/editorwindow.cpp" line="642"/>
<source>No database selected in the SQL editor. Cannot create a view for unknown database.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/editorwindow.cpp" line="664"/>
+ <location filename="../windows/editorwindow.cpp" line="672"/>
<source>Editor window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
@@ -2870,7 +2934,7 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<message>
<location filename="../dialogs/exportdialog.cpp" line="417"/>
<source>All files (*)</source>
- <translation type="unfinished">所有文件 (*)</translation>
+ <translation type="unfinished">所有文件 (*)</translation>
</message>
<message>
<location filename="../dialogs/exportdialog.cpp" line="420"/>
@@ -2903,49 +2967,49 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>FormView</name>
<message>
- <location filename="../formview.cpp" line="253"/>
+ <location filename="../formview.cpp" line="241"/>
<source>Commit row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="254"/>
+ <location filename="../formview.cpp" line="242"/>
<source>Rollback row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="255"/>
+ <location filename="../formview.cpp" line="243"/>
<source>First row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="256"/>
+ <location filename="../formview.cpp" line="244"/>
<source>Previous row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="257"/>
+ <location filename="../formview.cpp" line="245"/>
<source>Next row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="258"/>
+ <location filename="../formview.cpp" line="246"/>
<source>Last row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="259"/>
+ <location filename="../formview.cpp" line="247"/>
<source>Insert new row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../formview.cpp" line="260"/>
+ <location filename="../formview.cpp" line="248"/>
<source>Delete current row</source>
<comment>form view</comment>
<translation type="unfinished"></translation>
@@ -2959,58 +3023,58 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="151"/>
+ <location filename="../windows/functionseditor.ui" line="260"/>
<source>Function name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="161"/>
+ <location filename="../windows/functionseditor.ui" line="273"/>
<source>Implementation language:</source>
<translation type="unfinished">实现语言:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="171"/>
+ <location filename="../windows/functionseditor.ui" line="253"/>
<source>Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="187"/>
+ <location filename="../windows/functionseditor.ui" line="157"/>
<source>Input arguments</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="193"/>
+ <location filename="../windows/functionseditor.ui" line="163"/>
<source>Undefined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="235"/>
+ <location filename="../windows/functionseditor.ui" line="205"/>
<source>Databases</source>
<translation type="unfinished">数据库</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="241"/>
+ <location filename="../windows/functionseditor.ui" line="211"/>
<source>Register in all databases</source>
<translation type="unfinished">在所有数据库中注册</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="248"/>
+ <location filename="../windows/functionseditor.ui" line="218"/>
<source>Register in following databases:</source>
<translation type="unfinished">在下列数据库中注册:</translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="278"/>
+ <location filename="../windows/functionseditor.ui" line="293"/>
<source>Initialization code:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="294"/>
+ <location filename="../windows/functionseditor.ui" line="309"/>
<location filename="../windows/functionseditor.cpp" line="426"/>
<source>Function implementation code:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/functionseditor.ui" line="310"/>
+ <location filename="../windows/functionseditor.ui" line="325"/>
<source>Final step implementation code:</source>
<translation type="unfinished"></translation>
</message>
@@ -3334,293 +3398,298 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MainWindow</name>
<message>
- <location filename="../mainwindow.ui" line="66"/>
+ <location filename="../mainwindow.ui" line="81"/>
<source>Database toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="77"/>
+ <location filename="../mainwindow.ui" line="92"/>
<source>Structure toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="88"/>
+ <location filename="../mainwindow.ui" line="103"/>
<source>Tools</source>
<translation>工具</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="105"/>
+ <location filename="../mainwindow.ui" line="120"/>
<source>Window list</source>
<translation>窗口列表</translation>
</message>
<message>
- <location filename="../mainwindow.ui" line="119"/>
+ <location filename="../mainwindow.ui" line="134"/>
<source>View toolbar</source>
<translation>查看工具栏</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="104"/>
+ <location filename="../mainwindow.cpp" line="107"/>
<source>Configuration widgets</source>
<translation>配置部件</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="105"/>
+ <location filename="../mainwindow.cpp" line="108"/>
<source>Syntax highlighting engines</source>
<translation>语法高亮引擎</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="106"/>
+ <location filename="../mainwindow.cpp" line="109"/>
<source>Data editors</source>
<translation>数据编辑器</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="118"/>
+ <location filename="../mainwindow.cpp" line="121"/>
<source>Running in debug mode. Press %1 or use &apos;Help / Open debug console&apos; menu entry to open the debug console.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="120"/>
+ <location filename="../mainwindow.cpp" line="123"/>
<source>Running in debug mode. Debug messages are printed to the standard output.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="202"/>
+ <location filename="../mainwindow.cpp" line="211"/>
<source>You need to restart application to make the language change take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="245"/>
+ <location filename="../mainwindow.cpp" line="254"/>
<source>Open SQL editor</source>
<translation>打开SQL编辑器</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="246"/>
+ <location filename="../mainwindow.cpp" line="255"/>
<source>Open DDL history</source>
<translation>打开数据库定义(DDL)历史</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="247"/>
+ <location filename="../mainwindow.cpp" line="256"/>
<source>Open SQL functions editor</source>
<translation>打开SQL函数编辑器</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="248"/>
+ <location filename="../mainwindow.cpp" line="257"/>
<source>Open collations editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="249"/>
+ <location filename="../mainwindow.cpp" line="258"/>
<source>Import</source>
<translation type="unfinished">导入</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="250"/>
+ <location filename="../mainwindow.cpp" line="259"/>
<source>Export</source>
<translation>导出</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="252"/>
+ <location filename="../mainwindow.cpp" line="261"/>
<source>Open configuration dialog</source>
<translation>打开配置对话框</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="254"/>
+ <location filename="../mainwindow.cpp" line="263"/>
<source>Tile windows</source>
<translation>平铺窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="255"/>
+ <location filename="../mainwindow.cpp" line="264"/>
<source>Tile windows horizontally</source>
<translation>水平排列窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="256"/>
+ <location filename="../mainwindow.cpp" line="265"/>
<source>Tile windows vertically</source>
<translation>垂直排列窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="257"/>
+ <location filename="../mainwindow.cpp" line="266"/>
<source>Cascade windows</source>
<translation>层叠窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="258"/>
+ <location filename="../mainwindow.cpp" line="267"/>
<source>Next window</source>
<translation>下一个窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="259"/>
+ <location filename="../mainwindow.cpp" line="268"/>
<source>Previous window</source>
<translation>上一个窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="260"/>
+ <location filename="../mainwindow.cpp" line="269"/>
<source>Hide status field</source>
<translation>隐藏状态栏</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="262"/>
+ <location filename="../mainwindow.cpp" line="271"/>
<source>Close selected window</source>
<translation>关闭当前窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="263"/>
+ <location filename="../mainwindow.cpp" line="272"/>
<source>Close all windows but selected</source>
<translation>关闭其它窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="264"/>
+ <location filename="../mainwindow.cpp" line="273"/>
<source>Close all windows</source>
<translation>关闭全部窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="265"/>
+ <location filename="../mainwindow.cpp" line="274"/>
<source>Restore recently closed window</source>
<translation>恢复最近关闭的窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="266"/>
+ <location filename="../mainwindow.cpp" line="275"/>
<source>Rename selected window</source>
<translation>重命名当前窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="268"/>
+ <location filename="../mainwindow.cpp" line="277"/>
<source>Open Debug Console</source>
<translation>打开调试终端</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="269"/>
+ <location filename="../mainwindow.cpp" line="278"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../mainwindow.cpp" line="279"/>
<source>Report a bug</source>
<translation>提交Bug</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="270"/>
+ <location filename="../mainwindow.cpp" line="280"/>
<source>Propose a new feature</source>
<translation>提交新功能建议</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="271"/>
+ <location filename="../mainwindow.cpp" line="281"/>
<source>About</source>
<translation>关于</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="272"/>
+ <location filename="../mainwindow.cpp" line="282"/>
<source>Licenses</source>
<translation>许可</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="273"/>
+ <location filename="../mainwindow.cpp" line="283"/>
<source>Open home page</source>
<translation>访问主页</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="274"/>
+ <location filename="../mainwindow.cpp" line="284"/>
<source>Open forum page</source>
<translation>访问论坛</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="275"/>
+ <location filename="../mainwindow.cpp" line="285"/>
<source>User Manual</source>
<translation>用户手册</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="276"/>
+ <location filename="../mainwindow.cpp" line="286"/>
<source>SQLite documentation</source>
<translation>SQLite文档</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="277"/>
+ <location filename="../mainwindow.cpp" line="287"/>
<source>Report history</source>
<translation>报告历史</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="278"/>
+ <location filename="../mainwindow.cpp" line="289"/>
<source>Check for updates</source>
<translation>检查更新</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="315"/>
+ <location filename="../mainwindow.cpp" line="327"/>
<source>Database</source>
<comment>menubar</comment>
<translation>数据库</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="335"/>
+ <location filename="../mainwindow.cpp" line="347"/>
<source>Structure</source>
<comment>menubar</comment>
<translation>结构</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="356"/>
+ <location filename="../mainwindow.cpp" line="368"/>
<source>View</source>
<comment>menubar</comment>
<translation>查看</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="360"/>
+ <location filename="../mainwindow.cpp" line="372"/>
<source>Window list</source>
<comment>menubar view menu</comment>
<translation>窗口列表</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="381"/>
+ <location filename="../mainwindow.cpp" line="393"/>
<source>Tools</source>
<comment>menubar</comment>
<translation>工具</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="395"/>
+ <location filename="../mainwindow.cpp" line="407"/>
<source>Help</source>
<translation>帮助</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="549"/>
+ <location filename="../mainwindow.cpp" line="569"/>
<source>Could not set style: %1</source>
<comment>main window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="621"/>
+ <location filename="../mainwindow.cpp" line="642"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="637"/>
+ <location filename="../mainwindow.cpp" line="658"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Rename window</source>
<translation>重命名窗口</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="670"/>
+ <location filename="../mainwindow.cpp" line="691"/>
<source>Enter new name for the window:</source>
<translation>窗口的新名称:</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="738"/>
+ <location filename="../mainwindow.cpp" line="777"/>
<source>New updates are available. &lt;a href=&quot;%1&quot;&gt;Click here for details&lt;/a&gt;.</source>
<translation>有新更新 &lt;a href=&quot;%1&quot;&gt;点此查看更新详情&lt;/a&gt;.</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="746"/>
+ <location filename="../mainwindow.cpp" line="785"/>
<source>You&apos;re running the most recent version. No updates are available.</source>
<translation type="unfinished">您使用的是最新版,不需要更新。</translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="845"/>
+ <location filename="../mainwindow.cpp" line="891"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="852"/>
+ <location filename="../mainwindow.cpp" line="898"/>
<source>Database passed in command line parameters (%1) has been temporarily added to the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.cpp" line="857"/>
+ <location filename="../mainwindow.cpp" line="903"/>
<source>Could not add database %1 to list.</source>
<translation type="unfinished"></translation>
</message>
@@ -3646,29 +3715,29 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<context>
<name>MultiEditor</name>
<message>
- <location filename="../multieditor/multieditor.cpp" line="53"/>
+ <location filename="../multieditor/multieditor.cpp" line="62"/>
<source>Null value</source>
<comment>multieditor</comment>
<translation>Null 值</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="68"/>
+ <location filename="../multieditor/multieditor.cpp" line="77"/>
<source>Configure editors for this data type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="271"/>
+ <location filename="../multieditor/multieditor.cpp" line="287"/>
<source>Data editor plugin &apos;%1&apos; not loaded, while it is defined for editing &apos;%1&apos; data type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="356"/>
+ <location filename="../multieditor/multieditor.cpp" line="372"/>
<source>Deleted</source>
<comment>multieditor</comment>
<translation>已删除</translation>
</message>
<message>
- <location filename="../multieditor/multieditor.cpp" line="358"/>
+ <location filename="../multieditor/multieditor.cpp" line="374"/>
<source>Read only</source>
<comment>multieditor</comment>
<translation>只读</translation>
@@ -3920,27 +3989,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="158"/>
+ <location filename="../dialogs/populatedialog.cpp" line="54"/>
+ <source>Abort</source>
+ <translation type="unfinished">中止</translation>
+ </message>
+ <message>
+ <location filename="../dialogs/populatedialog.cpp" line="161"/>
<source>Configure</source>
<translation type="unfinished">配置</translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="256"/>
+ <location filename="../dialogs/populatedialog.cpp" line="259"/>
<source>Populating configuration for this column is invalid or incomplete.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="287"/>
+ <location filename="../dialogs/populatedialog.cpp" line="290"/>
<source>Select database with table to populate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="288"/>
+ <location filename="../dialogs/populatedialog.cpp" line="291"/>
<source>Select table to populate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/populatedialog.cpp" line="289"/>
+ <location filename="../dialogs/populatedialog.cpp" line="292"/>
<source>You have to select at least one column.</source>
<translation>您至少得选择一个字段。</translation>
</message>
@@ -4065,32 +4139,32 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="487"/>
+ <location filename="../dataview.cpp" line="532"/>
<source>Total pages available: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.cpp" line="497"/>
+ <location filename="../dataview.cpp" line="542"/>
<source>Total rows loaded: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="17"/>
+ <location filename="../dataview.h" line="18"/>
<source>Data view (both grid and form)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="18"/>
+ <location filename="../dataview.h" line="19"/>
<source>Refresh data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="19"/>
+ <location filename="../dataview.h" line="20"/>
<source>Switch to grid view of the data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dataview.h" line="20"/>
+ <location filename="../dataview.h" line="21"/>
<source>Switch to form view of the data</source>
<translation type="unfinished"></translation>
</message>
@@ -4212,41 +4286,46 @@ Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="42"/>
+ <location filename="../mainwindow.h" line="43"/>
<source>Main window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="43"/>
+ <location filename="../mainwindow.h" line="44"/>
<source>Open SQL editor</source>
<translation type="unfinished">打开SQL编辑器</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="44"/>
+ <location filename="../mainwindow.h" line="45"/>
<source>Previous window</source>
<translation type="unfinished">上一个窗口</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="45"/>
+ <location filename="../mainwindow.h" line="46"/>
<source>Next window</source>
<translation type="unfinished">下一个窗口</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="46"/>
+ <location filename="../mainwindow.h" line="47"/>
<source>Hide status area</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../mainwindow.h" line="47"/>
+ <location filename="../mainwindow.h" line="48"/>
<source>Open configuration dialog</source>
<translation type="unfinished">打开配置对话框</translation>
</message>
<message>
- <location filename="../mainwindow.h" line="48"/>
+ <location filename="../mainwindow.h" line="49"/>
<source>Open Debug Console</source>
<translation type="unfinished">打开调试终端</translation>
</message>
<message>
+ <location filename="../mainwindow.h" line="50"/>
+ <source>Open CSS Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../multieditor/multieditortext.h" line="12"/>
<source>Cell text value editor</source>
<translation type="unfinished"></translation>
@@ -4706,101 +4785,112 @@ find next</source>
</message>
<message>
<location filename="../sqleditor.cpp" line="128"/>
+ <source>Select file to save SQL</source>
+ <comment>sql editor</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="129"/>
<source>Load SQL from file</source>
<comment>sql editor</comment>
<translation>从文件加载SQL</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="129"/>
+ <location filename="../sqleditor.cpp" line="130"/>
<source>Delete line</source>
<comment>sql editor</comment>
<translation>删除行</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="130"/>
+ <location filename="../sqleditor.cpp" line="131"/>
<source>Move block down</source>
<comment>sql editor</comment>
<translation>整块下移</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="131"/>
+ <location filename="../sqleditor.cpp" line="132"/>
<source>Move block up</source>
<comment>sql editor</comment>
<translation>整块上移</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="132"/>
+ <location filename="../sqleditor.cpp" line="133"/>
<source>Copy block down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="133"/>
+ <location filename="../sqleditor.cpp" line="134"/>
<source>Copy up down</source>
<comment>sql editor</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="134"/>
+ <location filename="../sqleditor.cpp" line="135"/>
<source>Find</source>
<comment>sql editor</comment>
<translation>查找</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="135"/>
+ <location filename="../sqleditor.cpp" line="136"/>
<source>Find next</source>
<comment>sql editor</comment>
<translation>查找下一个</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="136"/>
+ <location filename="../sqleditor.cpp" line="137"/>
<source>Find previous</source>
<comment>sql editor</comment>
<translation>查找上一个</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="137"/>
+ <location filename="../sqleditor.cpp" line="138"/>
<source>Replace</source>
<comment>sql editor</comment>
<translation>替换</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="412"/>
+ <location filename="../sqleditor.cpp" line="252"/>
+ <source>Saved SQL contents to file: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sqleditor.cpp" line="431"/>
<source>Syntax completion can be used only when a valid database is set for the SQL editor.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="800"/>
+ <location filename="../sqleditor.cpp" line="819"/>
<source>Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1027"/>
+ <location filename="../sqleditor.cpp" line="1054"/>
<source>Save to file</source>
<translation>保存到文件</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1036"/>
+ <location filename="../sqleditor.cpp" line="242"/>
<source>Could not open file &apos;%1&apos; for writing: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1050"/>
+ <location filename="../sqleditor.cpp" line="1066"/>
<source>SQL scripts (*.sql);;All files (*)</source>
- <translation>SQL文件(*.sql);;所有文件(*)</translation>
+ <translation type="unfinished">SQL文件 (*.sql);;所有文件 (*)</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1051"/>
+ <location filename="../sqleditor.cpp" line="1067"/>
<source>Open file</source>
<translation>打开文件</translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1060"/>
+ <location filename="../sqleditor.cpp" line="1076"/>
<source>Could not open file &apos;%1&apos; for reading: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sqleditor.cpp" line="1267"/>
+ <location filename="../sqleditor.cpp" line="1285"/>
<source>Reached the end of document. Hit the find again to restart the search.</source>
<translation>已搜索到文档底部。点击查找从头程序开始搜索。</translation>
</message>
@@ -4860,7 +4950,7 @@ find next</source>
<name>SqlQueryModel</name>
<message>
<location filename="../datagrid/sqlquerymodel.cpp" line="63"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="474"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="487"/>
<source>Only one query can be executed simultaneously.</source>
<translation type="unfinished"></translation>
</message>
@@ -4885,43 +4975,43 @@ find next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="415"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="420"/>
<source>An error occurred while commiting the transaction: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="434"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="445"/>
<source>An error occurred while rolling back the transaction: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="560"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="573"/>
<source>Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="586"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="599"/>
<source>An error occurred while commiting the data: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1031"/>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1086"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1045"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1100"/>
<source>Error while executing SQL query on database &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1083"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1097"/>
<source>Error while loading query results: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Insert multiple rows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../datagrid/sqlquerymodel.cpp" line="1424"/>
+ <location filename="../datagrid/sqlquerymodel.cpp" line="1438"/>
<source>Number of rows to insert:</source>
<translation type="unfinished"></translation>
</message>
@@ -5040,12 +5130,12 @@ find next</source>
<translation>状态</translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="161"/>
+ <location filename="../statusfield.cpp" line="164"/>
<source>Copy</source>
<translation>复制</translation>
</message>
<message>
- <location filename="../statusfield.cpp" line="168"/>
+ <location filename="../statusfield.cpp" line="171"/>
<source>Clear</source>
<translation>清除</translation>
</message>
@@ -5250,411 +5340,421 @@ but it&apos;s okay to use them anyway.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="184"/>
+ <location filename="../windows/tablewindow.ui" line="190"/>
<source>Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="201"/>
+ <location filename="../windows/tablewindow.ui" line="207"/>
<source>Constraints</source>
<translation type="unfinished">约束</translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="215"/>
+ <location filename="../windows/tablewindow.ui" line="221"/>
<source>Indexes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="244"/>
+ <location filename="../windows/tablewindow.ui" line="250"/>
<source>Triggers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.ui" line="276"/>
+ <location filename="../windows/tablewindow.ui" line="282"/>
<source>DDL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="180"/>
+ <location filename="../windows/tablewindow.cpp" line="191"/>
<source>Export table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="181"/>
+ <location filename="../windows/tablewindow.cpp" line="192"/>
<source>Import data to table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="182"/>
+ <location filename="../windows/tablewindow.cpp" line="193"/>
<source>Populate table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="196"/>
+ <location filename="../windows/tablewindow.cpp" line="207"/>
<source>Refresh structure</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="198"/>
+ <location filename="../windows/tablewindow.cpp" line="209"/>
<source>Commit structure changes</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="199"/>
+ <location filename="../windows/tablewindow.cpp" line="210"/>
<source>Rollback structure changes</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="200"/>
+ <location filename="../windows/tablewindow.cpp" line="211"/>
<source>Add column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="201"/>
+ <location filename="../windows/tablewindow.cpp" line="212"/>
<source>Edit column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="202"/>
- <location filename="../windows/tablewindow.cpp" line="289"/>
+ <location filename="../windows/tablewindow.cpp" line="213"/>
+ <location filename="../windows/tablewindow.cpp" line="300"/>
<source>Delete column</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="203"/>
+ <location filename="../windows/tablewindow.cpp" line="214"/>
<source>Move column up</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="204"/>
+ <location filename="../windows/tablewindow.cpp" line="215"/>
<source>Move column down</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="210"/>
+ <location filename="../windows/tablewindow.cpp" line="221"/>
<source>Create similar table</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="211"/>
+ <location filename="../windows/tablewindow.cpp" line="222"/>
<source>Reset autoincrement value</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="214"/>
+ <location filename="../windows/tablewindow.cpp" line="225"/>
<source>Add table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="215"/>
+ <location filename="../windows/tablewindow.cpp" line="226"/>
<source>Edit table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="216"/>
+ <location filename="../windows/tablewindow.cpp" line="227"/>
<source>Delete table constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="217"/>
+ <location filename="../windows/tablewindow.cpp" line="228"/>
<source>Move table constraint up</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="218"/>
+ <location filename="../windows/tablewindow.cpp" line="229"/>
<source>Move table constraint down</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="220"/>
+ <location filename="../windows/tablewindow.cpp" line="231"/>
<source>Add table primary key</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="221"/>
+ <location filename="../windows/tablewindow.cpp" line="232"/>
<source>Add table foreign key</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="222"/>
+ <location filename="../windows/tablewindow.cpp" line="233"/>
<source>Add table unique constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="223"/>
+ <location filename="../windows/tablewindow.cpp" line="234"/>
<source>Add table check constraint</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="241"/>
+ <location filename="../windows/tablewindow.cpp" line="252"/>
<source>Refresh index list</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="243"/>
+ <location filename="../windows/tablewindow.cpp" line="254"/>
<source>Create index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="244"/>
+ <location filename="../windows/tablewindow.cpp" line="255"/>
<source>Edit index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="245"/>
+ <location filename="../windows/tablewindow.cpp" line="256"/>
<source>Delete index</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="251"/>
+ <location filename="../windows/tablewindow.cpp" line="262"/>
<source>Refresh trigger list</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="253"/>
+ <location filename="../windows/tablewindow.cpp" line="264"/>
<source>Create trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="254"/>
+ <location filename="../windows/tablewindow.cpp" line="265"/>
<source>Edit trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="255"/>
+ <location filename="../windows/tablewindow.cpp" line="266"/>
<source>Delete trigger</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="288"/>
+ <location filename="../windows/tablewindow.cpp" line="299"/>
<source>Are you sure you want to delete column &apos;%1&apos;?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="316"/>
+ <location filename="../windows/tablewindow.cpp" line="327"/>
<source>Following problems will take place while modifying the table.
Would you like to proceed?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="318"/>
+ <location filename="../windows/tablewindow.cpp" line="329"/>
<source>Table modification</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="456"/>
+ <location filename="../windows/tablewindow.cpp" line="467"/>
<source>Could not load data for table %1. Error details: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="569"/>
+ <location filename="../windows/tablewindow.cpp" line="580"/>
<source>Could not process the %1 table correctly. Unable to open a table window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="637"/>
- <source>Could not restore window, because database %1 could not be resolved.</source>
+ <location filename="../windows/tablewindow.cpp" line="635"/>
+ <source>Could not restore window %1, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="641"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or table was stored in session for this window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/tablewindow.cpp" line="648"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="646"/>
- <source>Could not restore window, because the table %1 doesn&apos;t exist in the database %2.</source>
+ <location filename="../windows/tablewindow.cpp" line="657"/>
+ <source>Could not restore window &apos;%1&apos;&apos;, because the table %2 doesn&apos;t exist in the database %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="671"/>
- <location filename="../windows/tablewindow.cpp" line="673"/>
+ <location filename="../windows/tablewindow.cpp" line="682"/>
+ <location filename="../windows/tablewindow.cpp" line="684"/>
<source>New table %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="824"/>
+ <location filename="../windows/tablewindow.cpp" line="835"/>
<source>Could not commit table structure. Error message: %1</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Reset autoincrement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="846"/>
+ <location filename="../windows/tablewindow.cpp" line="857"/>
<source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="853"/>
+ <location filename="../windows/tablewindow.cpp" line="864"/>
<source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="855"/>
+ <location filename="../windows/tablewindow.cpp" line="866"/>
<source>Autoincrement value for table &apos;%1&apos; has been reset successfly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>Empty name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="935"/>
+ <location filename="../windows/tablewindow.cpp" line="946"/>
<source>A blank name for the table is allowed in SQLite, but it is not recommended.
Are you sure you want to create a table with blank name?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="944"/>
+ <location filename="../windows/tablewindow.cpp" line="955"/>
<source>Cannot create a table without at least one column.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="970"/>
+ <location filename="../windows/tablewindow.cpp" line="981"/>
<source>Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="977"/>
+ <location filename="../windows/tablewindow.cpp" line="988"/>
<source>Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1114"/>
+ <location filename="../windows/tablewindow.cpp" line="1125"/>
<source>Are you sure you want to delete table constraint &apos;%1&apos;?</source>
<comment>table window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1115"/>
+ <location filename="../windows/tablewindow.cpp" line="1126"/>
<source>Delete constraint</source>
<comment>table window</comment>
<translation type="unfinished">删除约束</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1169"/>
+ <location filename="../windows/tablewindow.cpp" line="1180"/>
<source>Cannot export, because no export plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1182"/>
+ <location filename="../windows/tablewindow.cpp" line="1193"/>
<source>Cannot import, because no import plugin is loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1214"/>
+ <location filename="../windows/tablewindow.cpp" line="1225"/>
<source>Uncommited changes</source>
<translation type="unfinished">未提交的更改</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1215"/>
+ <location filename="../windows/tablewindow.cpp" line="1226"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Go back to structure tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1218"/>
+ <location filename="../windows/tablewindow.cpp" line="1229"/>
<source>Commit modifications and browse data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1368"/>
+ <location filename="../windows/tablewindow.cpp" line="1379"/>
<source>Name</source>
<comment>table window indexes</comment>
<translation type="unfinished">名称</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1369"/>
+ <location filename="../windows/tablewindow.cpp" line="1380"/>
<source>Unique</source>
<comment>table window indexes</comment>
<translation type="unfinished">唯一</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1370"/>
+ <location filename="../windows/tablewindow.cpp" line="1381"/>
<source>Columns</source>
<comment>table window indexes</comment>
<translation type="unfinished">字段</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1371"/>
+ <location filename="../windows/tablewindow.cpp" line="1382"/>
<source>Partial index condition</source>
<comment>table window indexes</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1425"/>
+ <location filename="../windows/tablewindow.cpp" line="1436"/>
<source>Name</source>
<comment>table window triggers</comment>
<translation type="unfinished">名称</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1426"/>
+ <location filename="../windows/tablewindow.cpp" line="1437"/>
<source>Event</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1427"/>
+ <location filename="../windows/tablewindow.cpp" line="1438"/>
<source>Condition</source>
<comment>table window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1428"/>
+ <location filename="../windows/tablewindow.cpp" line="1439"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation type="unfinished">详情</translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1517"/>
+ <location filename="../windows/tablewindow.cpp" line="1528"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1519"/>
+ <location filename="../windows/tablewindow.cpp" line="1530"/>
<source>Table window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/tablewindow.cpp" line="1521"/>
+ <location filename="../windows/tablewindow.cpp" line="1532"/>
<source>Table window &quot;%1&quot; has uncommited structure modifications.</source>
<translation type="unfinished"></translation>
</message>
@@ -5825,180 +5925,186 @@ Do you want to commit the structure, or do you want to go back to the structure
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="115"/>
- <source>Could not restore window, because database %1 could not be resolved.</source>
+ <location filename="../windows/viewwindow.cpp" line="103"/>
+ <location filename="../windows/viewwindow.cpp" line="109"/>
+ <source>Could not restore window &apos;%1&apos;, because no database or view was stored in session for this window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="121"/>
- <source>Could not restore window, because database %1 could not be open.</source>
+ <location filename="../windows/viewwindow.cpp" line="116"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="130"/>
- <source>Could not restore window, because the view %1 doesn&apos;t exist in the database %2.</source>
+ <location filename="../windows/viewwindow.cpp" line="122"/>
+ <source>Could not restore window &apos;%1&apos;, because database %2 could not be open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="155"/>
- <location filename="../windows/viewwindow.cpp" line="157"/>
+ <location filename="../windows/viewwindow.cpp" line="131"/>
+ <source>Could not restore window &apos;%1&apos;, because the view %2 doesn&apos;t exist in the database %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../windows/viewwindow.cpp" line="156"/>
+ <location filename="../windows/viewwindow.cpp" line="158"/>
<source>New view %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="275"/>
+ <location filename="../windows/viewwindow.cpp" line="283"/>
<source>Refresh the view</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="277"/>
+ <location filename="../windows/viewwindow.cpp" line="285"/>
<source>Commit the view changes</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="278"/>
+ <location filename="../windows/viewwindow.cpp" line="286"/>
<source>Rollback the view changes</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="285"/>
+ <location filename="../windows/viewwindow.cpp" line="293"/>
<source>Refresh trigger list</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="287"/>
+ <location filename="../windows/viewwindow.cpp" line="295"/>
<source>Create new trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="288"/>
+ <location filename="../windows/viewwindow.cpp" line="296"/>
<source>Edit selected trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="289"/>
+ <location filename="../windows/viewwindow.cpp" line="297"/>
<source>Delete selected trigger</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="310"/>
+ <location filename="../windows/viewwindow.cpp" line="318"/>
<source>View window &quot;%1&quot; has uncommited structure modifications and data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="312"/>
+ <location filename="../windows/viewwindow.cpp" line="320"/>
<source>View window &quot;%1&quot; has uncommited data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="314"/>
+ <location filename="../windows/viewwindow.cpp" line="322"/>
<source>View window &quot;%1&quot; has uncommited structure modifications.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="455"/>
+ <location filename="../windows/viewwindow.cpp" line="463"/>
<source>Could not load data for view %1. Error details: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="466"/>
+ <location filename="../windows/viewwindow.cpp" line="474"/>
<source>Uncommited changes</source>
<translation type="unfinished">未提交的更改</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="467"/>
+ <location filename="../windows/viewwindow.cpp" line="475"/>
<source>There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Go back to structure tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="470"/>
+ <location filename="../windows/viewwindow.cpp" line="478"/>
<source>Commit modifications and browse data.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="528"/>
+ <location filename="../windows/viewwindow.cpp" line="536"/>
<source>Could not commit view changes. Error message: %1</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="606"/>
+ <location filename="../windows/viewwindow.cpp" line="614"/>
<source>Name</source>
<comment>view window triggers</comment>
<translation type="unfinished">名称</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="607"/>
+ <location filename="../windows/viewwindow.cpp" line="615"/>
<source>Instead of</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="608"/>
+ <location filename="../windows/viewwindow.cpp" line="616"/>
<source>Condition</source>
<comment>view window triggers</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="609"/>
+ <location filename="../windows/viewwindow.cpp" line="617"/>
<source>Details</source>
<comment>table window triggers</comment>
<translation type="unfinished">详情</translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="649"/>
+ <location filename="../windows/viewwindow.cpp" line="657"/>
<source>Could not process the %1 view correctly. Unable to open a view window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>Empty name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="684"/>
+ <location filename="../windows/viewwindow.cpp" line="692"/>
<source>A blank name for the view is allowed in SQLite, but it is not recommended.
Are you sure you want to create a view with blank name?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="699"/>
+ <location filename="../windows/viewwindow.cpp" line="707"/>
<source>The SELECT statement could not be parsed. Please correct the query and retry.
Details: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="707"/>
+ <location filename="../windows/viewwindow.cpp" line="715"/>
<source>The view could not be modified due to internal SQLiteStudio error. Please report this!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="733"/>
+ <location filename="../windows/viewwindow.cpp" line="741"/>
<source>The view code could not be parsed properly for execution. This is a SQLiteStudio&apos;s bug. Please report it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="746"/>
+ <location filename="../windows/viewwindow.cpp" line="754"/>
<source>Following problems will take place while modifying the view.
Would you like to proceed?</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../windows/viewwindow.cpp" line="748"/>
+ <location filename="../windows/viewwindow.cpp" line="756"/>
<source>View modification</source>
<comment>view window</comment>
<translation type="unfinished"></translation>
@@ -6007,7 +6113,7 @@ Would you like to proceed?</source>
<context>
<name>WidgetCover</name>
<message>
- <location filename="../common/widgetcover.cpp" line="198"/>
+ <location filename="../common/widgetcover.cpp" line="234"/>
<source>Interrupt</source>
<translation type="unfinished"></translation>
</message>
diff --git a/SQLiteStudio3/guiSQLiteStudio/uiconfig.h b/SQLiteStudio3/guiSQLiteStudio/uiconfig.h
index b434dc8..25a8e27 100644
--- a/SQLiteStudio3/guiSQLiteStudio/uiconfig.h
+++ b/SQLiteStudio3/guiSQLiteStudio/uiconfig.h
@@ -15,6 +15,12 @@ namespace Cfg
GUI_API_EXPORT QVariant getDefaultDbTreeLabelFont();
typedef QHash<QString,QVariant> Session;
typedef QHash<QString,QVariant> DataEditorsOrder;
+ enum InsertRowPlacement
+ {
+ BEFORE_CURRENT,
+ AFTER_CURRENT,
+ AT_THE_END
+ };
}
CFG_CATEGORIES(Ui,
@@ -82,6 +88,10 @@ CFG_CATEGORIES(Ui,
CFG_ENTRY(int, MaxInitialColumnWith, 600)
CFG_ENTRY(bool, LanguageAsked, false)
CFG_ENTRY(bool, OpenMaximized, true)
+ CFG_ENTRY(QString, DockLayout, "vertical")
+ CFG_ENTRY(QString, CustomCss, QString())
+ CFG_ENTRY(bool, CompactLayout, true)
+ CFG_ENTRY(int, InsertRowPlacement, Cfg::BEFORE_CURRENT)
)
)
diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/collationseditor.ui b/SQLiteStudio3/guiSQLiteStudio/windows/collationseditor.ui
index 98e7ddb..97c4e0a 100644
--- a/SQLiteStudio3/guiSQLiteStudio/windows/collationseditor.ui
+++ b/SQLiteStudio3/guiSQLiteStudio/windows/collationseditor.ui
@@ -101,27 +101,7 @@
<property name="bottomMargin">
<number>0</number>
</property>
- <item row="1" column="0">
- <widget class="QLineEdit" name="nameEdit"/>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="nameLabel">
- <property name="text">
- <string>Collation name:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="langCombo"/>
- </item>
- <item row="0" column="1">
- <widget class="QLabel" name="langLabel">
- <property name="text">
- <string>Implementation language:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
+ <item row="3" column="0" colspan="2">
<widget class="QWidget" name="rightBottomWidget" native="true">
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="leftMargin">
@@ -196,6 +176,41 @@
</layout>
</widget>
</item>
+ <item row="0" column="0" colspan="2">
+ <widget class="QWidget" name="widget" native="true">
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="nameLabel">
+ <property name="text">
+ <string>Collation name:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLineEdit" name="nameEdit"/>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="langLabel">
+ <property name="text">
+ <string>Implementation language:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="langCombo"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
</layout>
</widget>
</widget>
diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/editorwindow.cpp b/SQLiteStudio3/guiSQLiteStudio/windows/editorwindow.cpp
index c494702..30fe07b 100644
--- a/SQLiteStudio3/guiSQLiteStudio/windows/editorwindow.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/windows/editorwindow.cpp
@@ -24,6 +24,7 @@
#include <QStringListModel>
#include <QActionGroup>
#include <QMessageBox>
+#include <themetuner.h>
CFG_KEYS_DEFINE(EditorWindow)
EditorWindow::ResultsDisplayMode EditorWindow::resultsDisplayMode;
@@ -87,6 +88,12 @@ void EditorWindow::init()
setFocusProxy(ui->sqlEdit);
updateResultsDisplayMode();
+ THEME_TUNER->manageCompactLayout({
+ ui->query,
+ ui->results,
+ ui->history
+ });
+
resultsModel = new SqlQueryModel(this);
ui->dataView->init(resultsModel);
@@ -365,6 +372,7 @@ void EditorWindow::createActions()
createAction(CREATE_VIEW_FROM_QUERY, ICONS.VIEW_ADD, tr("Create view from query", "sql editor"), this, SLOT(createViewFromQuery()), ui->toolBar);
ui->toolBar->addSeparator();
ui->toolBar->addAction(ui->sqlEdit->getAction(SqlEditor::SAVE_SQL_FILE));
+ attachActionInMenu(ui->sqlEdit->getAction(SqlEditor::SAVE_SQL_FILE), ui->sqlEdit->getAction(SqlEditor::SAVE_AS_SQL_FILE), ui->toolBar);
ui->toolBar->addAction(ui->sqlEdit->getAction(SqlEditor::OPEN_SQL_FILE));
ui->toolBar->addSeparator();
actionMap[CURRENT_DB] = ui->toolBar->addWidget(dbCombo);
diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/editorwindow.ui b/SQLiteStudio3/guiSQLiteStudio/windows/editorwindow.ui
index 51d5503..924f895 100644
--- a/SQLiteStudio3/guiSQLiteStudio/windows/editorwindow.ui
+++ b/SQLiteStudio3/guiSQLiteStudio/windows/editorwindow.ui
@@ -14,6 +14,9 @@
<string notr="true">SQL editor</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
<property name="leftMargin">
<number>0</number>
</property>
diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/functionseditor.ui b/SQLiteStudio3/guiSQLiteStudio/windows/functionseditor.ui
index 45d291d..b99efe1 100644
--- a/SQLiteStudio3/guiSQLiteStudio/windows/functionseditor.ui
+++ b/SQLiteStudio3/guiSQLiteStudio/windows/functionseditor.ui
@@ -145,37 +145,7 @@
<property name="bottomMargin">
<number>0</number>
</property>
- <item row="0" column="0">
- <widget class="QLabel" name="nameLabel">
- <property name="text">
- <string>Function name:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <widget class="QComboBox" name="typeCombo"/>
- </item>
- <item row="0" column="3">
- <widget class="QLabel" name="langLabel">
- <property name="text">
- <string>Implementation language:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="QLineEdit" name="nameEdit"/>
- </item>
- <item row="0" column="2">
- <widget class="QLabel" name="typeLabel">
- <property name="text">
- <string>Type:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="3">
- <widget class="QComboBox" name="langCombo"/>
- </item>
- <item row="4" column="0">
+ <item row="5" column="0">
<widget class="QGroupBox" name="argsGroup">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
@@ -223,7 +193,7 @@
</layout>
</widget>
</item>
- <item row="4" column="1" colspan="3">
+ <item row="5" column="1" colspan="3">
<widget class="QGroupBox" name="databasesGroup">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
@@ -265,6 +235,51 @@
</layout>
</widget>
</item>
+ <item row="0" column="0" colspan="4">
+ <widget class="QWidget" name="widget" native="true">
+ <layout class="QGridLayout" name="gridLayout_3">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item row="0" column="1">
+ <widget class="QLabel" name="typeLabel">
+ <property name="text">
+ <string>Type:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="nameLabel">
+ <property name="text">
+ <string>Function name:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLineEdit" name="nameEdit"/>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="typeCombo"/>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="langLabel">
+ <property name="text">
+ <string>Implementation language:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QComboBox" name="langCombo"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
</layout>
</widget>
<widget class="QGroupBox" name="initCodeGroup">
@@ -329,9 +344,6 @@
<tabstops>
<tabstop>functionFilterEdit</tabstop>
<tabstop>list</tabstop>
- <tabstop>nameEdit</tabstop>
- <tabstop>typeCombo</tabstop>
- <tabstop>langCombo</tabstop>
<tabstop>undefArgsCheck</tabstop>
<tabstop>argsList</tabstop>
<tabstop>allDatabasesRadio</tabstop>
diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.cpp b/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.cpp
index 3a315db..02a1052 100644
--- a/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.cpp
@@ -33,6 +33,9 @@
#include "services/importmanager.h"
#include "dbobjectdialogs.h"
#include "dialogs/exportdialog.h"
+#include "themetuner.h"
+#include "dialogs/importdialog.h"
+#include "dialogs/populatedialog.h"
#include <QMenu>
#include <QToolButton>
#include <QLabel>
@@ -43,8 +46,6 @@
#include <QPushButton>
#include <QDebug>
#include <QStyleFactory>
-#include <dialogs/importdialog.h>
-#include <dialogs/populatedialog.h>
// TODO extend QTableView for columns and constraints, so they show full-row-width drop indicator,
// instead of single column drop indicator.
@@ -171,6 +172,16 @@ void TableWindow::init()
connect(structureExecutor, SIGNAL(success()), this, SLOT(changesSuccessfullyCommited()));
connect(structureExecutor, SIGNAL(failure(int,QString)), this, SLOT(changesFailedToCommit(int,QString)));
+ THEME_TUNER->manageCompactLayout({
+ ui->structureTab,
+ ui->constraintsWidget,
+ ui->dataTab,
+ ui->constraintsTab,
+ ui->indexesTab,
+ ui->triggersTab,
+ ui->ddlTab
+ });
+
setupCoverWidget();
updateAfterInit();
}
diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.ui b/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.ui
index f1fe409..0dd7fe6 100644
--- a/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.ui
+++ b/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.ui
@@ -43,7 +43,7 @@
<widget class="QWidget" name="structureTopBar" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
- <number>0</number>
+ <number>4</number>
</property>
<property name="topMargin">
<number>0</number>
@@ -52,7 +52,7 @@
<number>0</number>
</property>
<property name="bottomMargin">
- <number>0</number>
+ <number>2</number>
</property>
<item>
<widget class="QLabel" name="tableNameLabel">
@@ -99,6 +99,9 @@
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
+ <property name="handleWidth">
+ <number>2</number>
+ </property>
<property name="childrenCollapsible">
<bool>false</bool>
</property>
@@ -130,6 +133,9 @@
</widget>
<widget class="QWidget" name="constraintsWidget" native="true">
<layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
<property name="leftMargin">
<number>0</number>
</property>
diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/viewwindow.cpp b/SQLiteStudio3/guiSQLiteStudio/windows/viewwindow.cpp
index 9a30e1c..cb3a11e 100644
--- a/SQLiteStudio3/guiSQLiteStudio/windows/viewwindow.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/windows/viewwindow.cpp
@@ -20,6 +20,7 @@
#include "uiconfig.h"
#include "services/config.h"
#include "services/codeformatter.h"
+#include "themetuner.h"
#include <QPushButton>
#include <QProgressBar>
#include <QDebug>
@@ -204,6 +205,13 @@ void ViewWindow::init()
{
ui->setupUi(this);
+ THEME_TUNER->manageCompactLayout({
+ ui->queryTab,
+ ui->dataTab,
+ ui->triggersTab,
+ ui->ddl
+ });
+
dataModel = new SqlQueryModel(this);
ui->dataView->init(dataModel);
diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/viewwindow.ui b/SQLiteStudio3/guiSQLiteStudio/windows/viewwindow.ui
index 94f5ea7..0fdccc3 100644
--- a/SQLiteStudio3/guiSQLiteStudio/windows/viewwindow.ui
+++ b/SQLiteStudio3/guiSQLiteStudio/windows/viewwindow.ui
@@ -43,7 +43,7 @@
<widget class="QWidget" name="nameWidget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
- <number>0</number>
+ <number>4</number>
</property>
<property name="topMargin">
<number>0</number>
@@ -52,7 +52,7 @@
<number>0</number>
</property>
<property name="bottomMargin">
- <number>0</number>
+ <number>2</number>
</property>
<item>
<widget class="QLabel" name="nameLabel">
diff --git a/SQLiteStudio3/sqlitestudio/main.cpp b/SQLiteStudio3/sqlitestudio/main.cpp
index 4ec98cc..0ac506f 100644
--- a/SQLiteStudio3/sqlitestudio/main.cpp
+++ b/SQLiteStudio3/sqlitestudio/main.cpp
@@ -34,6 +34,7 @@
#include <QPluginLoader>
#include <QDebug>
#include <QMessageBox>
+#include <QProcess>
bool listPlugins = false;
@@ -92,6 +93,7 @@ int main(int argc, char *argv[])
{
QApplication a(argc, argv);
+#ifdef PORTABLE_CONFIG
int retCode = 1;
UpdateManager::setRetryFunction(updateRetryFunction);
if (UpdateManager::handleUpdateOptions(a.arguments(), retCode))
@@ -101,6 +103,7 @@ int main(int argc, char *argv[])
return retCode;
}
+#endif
qInstallMessageHandler(uiMessageHandler);
@@ -163,7 +166,9 @@ int main(int argc, char *argv[])
if (!dbToOpen.isNull())
MainWindow::getInstance()->openDb(dbToOpen);
+#ifdef PORTABLE_CONFIG
UPDATES->checkForUpdates();
+#endif
return a.exec();
}
diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.ts
index 1d96a62..7072f7c 100644
--- a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.ts
+++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.ts
@@ -4,68 +4,68 @@
<context>
<name>QObject</name>
<message>
- <location filename="../main.cpp" line="43"/>
+ <location filename="../main.cpp" line="44"/>
<source>GUI interface to SQLiteStudio, a SQLite manager.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="47"/>
+ <location filename="../main.cpp" line="48"/>
<source>Enables debug messages in console (accessible with F12).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="48"/>
+ <location filename="../main.cpp" line="49"/>
<source>Redirects debug messages into standard output (forces debug mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>Redirects debug messages into given file (forces debug mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="50"/>
+ <location filename="../main.cpp" line="51"/>
<source>Enables Lemon parser debug messages for SQL code assistant.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="51"/>
+ <location filename="../main.cpp" line="52"/>
<source>Enables debugging of every single SQL query being sent to any database.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>Limits SQL query messages to only the given &lt;database&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="53"/>
+ <location filename="../main.cpp" line="54"/>
<source>Lists plugins installed in the SQLiteStudio and quits.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>Database file to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="85"/>
- <location filename="../main.cpp" line="100"/>
+ <location filename="../main.cpp" line="86"/>
+ <location filename="../main.cpp" line="102"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.ts
index 34ff1b5..443941d 100644
--- a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.ts
+++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.ts
@@ -4,68 +4,68 @@
<context>
<name>QObject</name>
<message>
- <location filename="../main.cpp" line="43"/>
+ <location filename="../main.cpp" line="44"/>
<source>GUI interface to SQLiteStudio, a SQLite manager.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="47"/>
+ <location filename="../main.cpp" line="48"/>
<source>Enables debug messages in console (accessible with F12).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="48"/>
+ <location filename="../main.cpp" line="49"/>
<source>Redirects debug messages into standard output (forces debug mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>Redirects debug messages into given file (forces debug mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="50"/>
+ <location filename="../main.cpp" line="51"/>
<source>Enables Lemon parser debug messages for SQL code assistant.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="51"/>
+ <location filename="../main.cpp" line="52"/>
<source>Enables debugging of every single SQL query being sent to any database.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>Limits SQL query messages to only the given &lt;database&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="53"/>
+ <location filename="../main.cpp" line="54"/>
<source>Lists plugins installed in the SQLiteStudio and quits.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>Database file to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="85"/>
- <location filename="../main.cpp" line="100"/>
+ <location filename="../main.cpp" line="86"/>
+ <location filename="../main.cpp" line="102"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.ts
index 3a5ef09..f801dd7 100644
--- a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.ts
+++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.ts
@@ -4,69 +4,69 @@
<context>
<name>QObject</name>
<message>
- <location filename="../main.cpp" line="43"/>
+ <location filename="../main.cpp" line="44"/>
<source>GUI interface to SQLiteStudio, a SQLite manager.</source>
<translatorcomment>Interface GUI de SQLiteStudio un outil pour SQLite</translatorcomment>
<translation></translation>
</message>
<message>
- <location filename="../main.cpp" line="47"/>
+ <location filename="../main.cpp" line="48"/>
<source>Enables debug messages in console (accessible with F12).</source>
<translation>Messages de déboguage avec la console(accessible avec F12).</translation>
</message>
<message>
- <location filename="../main.cpp" line="48"/>
+ <location filename="../main.cpp" line="49"/>
<source>Redirects debug messages into standard output (forces debug mode).</source>
<translation>Messages de déboguage redirigés vers sortie standard(mode déboguage forcé).</translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>Redirects debug messages into given file (forces debug mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="50"/>
+ <location filename="../main.cpp" line="51"/>
<source>Enables Lemon parser debug messages for SQL code assistant.</source>
<translation>Message de déboguage avec l&apos;analyseur Lemon pour un assistant code SQL.</translation>
</message>
<message>
- <location filename="../main.cpp" line="51"/>
+ <location filename="../main.cpp" line="52"/>
<source>Enables debugging of every single SQL query being sent to any database.</source>
<translation>Déboguage pour toutes requêtes SQL simple utilisé pour la plupart des bases de données.</translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>Limits SQL query messages to only the given &lt;database&gt;.</source>
<translation>Limites des meesages de la requête SQL pour la &lt;database&gt;.</translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>database</source>
<translation>Base de données</translation>
</message>
<message>
- <location filename="../main.cpp" line="53"/>
+ <location filename="../main.cpp" line="54"/>
<source>Lists plugins installed in the SQLiteStudio and quits.</source>
<translation>Listes des plugins installés dans SQLiteStudio et quitter.</translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>file</source>
<translation>Fichier</translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>Database file to open</source>
<translation>Fichier de la base de données à ouvrir</translation>
</message>
<message>
- <location filename="../main.cpp" line="85"/>
- <location filename="../main.cpp" line="100"/>
+ <location filename="../main.cpp" line="86"/>
+ <location filename="../main.cpp" line="102"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.ts
index c95e02a..2a54175 100644
--- a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.ts
+++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.ts
@@ -4,68 +4,68 @@
<context>
<name>QObject</name>
<message>
- <location filename="../main.cpp" line="43"/>
+ <location filename="../main.cpp" line="44"/>
<source>GUI interface to SQLiteStudio, a SQLite manager.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="47"/>
+ <location filename="../main.cpp" line="48"/>
<source>Enables debug messages in console (accessible with F12).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="48"/>
+ <location filename="../main.cpp" line="49"/>
<source>Redirects debug messages into standard output (forces debug mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>Redirects debug messages into given file (forces debug mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="50"/>
+ <location filename="../main.cpp" line="51"/>
<source>Enables Lemon parser debug messages for SQL code assistant.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="51"/>
+ <location filename="../main.cpp" line="52"/>
<source>Enables debugging of every single SQL query being sent to any database.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>Limits SQL query messages to only the given &lt;database&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="53"/>
+ <location filename="../main.cpp" line="54"/>
<source>Lists plugins installed in the SQLiteStudio and quits.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>Database file to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="85"/>
- <location filename="../main.cpp" line="100"/>
+ <location filename="../main.cpp" line="86"/>
+ <location filename="../main.cpp" line="102"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.ts
index 8a9b8ca..711f4a2 100644
--- a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.ts
+++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.ts
@@ -4,68 +4,68 @@
<context>
<name>QObject</name>
<message>
- <location filename="../main.cpp" line="43"/>
+ <location filename="../main.cpp" line="44"/>
<source>GUI interface to SQLiteStudio, a SQLite manager.</source>
<translation>Графический интерфейс для SQLiteStudio, менеджера баз данных SQLite.</translation>
</message>
<message>
- <location filename="../main.cpp" line="47"/>
+ <location filename="../main.cpp" line="48"/>
<source>Enables debug messages in console (accessible with F12).</source>
<translation>Включает вывод отладочных сообщений в консоль (доступную по нажатию F12).</translation>
</message>
<message>
- <location filename="../main.cpp" line="48"/>
+ <location filename="../main.cpp" line="49"/>
<source>Redirects debug messages into standard output (forces debug mode).</source>
<translation>Перенаправляет отладочные сообщения в стандартный поток (принудительный отладочный режим).</translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>Redirects debug messages into given file (forces debug mode).</source>
<translation>Перенаправляет отладочные сообщения в указанный файл (принудительный отладочный режим).</translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>log file</source>
<translation>файл журнала</translation>
</message>
<message>
- <location filename="../main.cpp" line="50"/>
+ <location filename="../main.cpp" line="51"/>
<source>Enables Lemon parser debug messages for SQL code assistant.</source>
<translation>Включает вывод отладочных сообщений анализатора Lemon для автодополнения SQL кода.</translation>
</message>
<message>
- <location filename="../main.cpp" line="51"/>
+ <location filename="../main.cpp" line="52"/>
<source>Enables debugging of every single SQL query being sent to any database.</source>
<translation>Включает отладку каждого запроса SQL, посылаемого к любой базе данных.</translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>Limits SQL query messages to only the given &lt;database&gt;.</source>
<translation>Ограничивает сообщения запросов SQL только для указанной &lt;базы данных&gt;.</translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>database</source>
<translation>база данных</translation>
</message>
<message>
- <location filename="../main.cpp" line="53"/>
+ <location filename="../main.cpp" line="54"/>
<source>Lists plugins installed in the SQLiteStudio and quits.</source>
<translation>Выводит список установленных в SQLiteStudio модулей и осуществляет выход.</translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>file</source>
<translation>файл</translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>Database file to open</source>
<translation>Файл базы данных для открытия</translation>
</message>
<message>
- <location filename="../main.cpp" line="85"/>
- <location filename="../main.cpp" line="100"/>
+ <location filename="../main.cpp" line="86"/>
+ <location filename="../main.cpp" line="102"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.ts
index 4c82ea1..a7b3257 100644
--- a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.ts
+++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.ts
@@ -4,68 +4,68 @@
<context>
<name>QObject</name>
<message>
- <location filename="../main.cpp" line="43"/>
+ <location filename="../main.cpp" line="44"/>
<source>GUI interface to SQLiteStudio, a SQLite manager.</source>
<translation>GUI rozhranie pre SQLiteStudio, SQLite manažér.</translation>
</message>
<message>
- <location filename="../main.cpp" line="47"/>
+ <location filename="../main.cpp" line="48"/>
<source>Enables debug messages in console (accessible with F12).</source>
<translation>Aktivuje ladiace správy v konzole (dostupné pomocou F12).</translation>
</message>
<message>
- <location filename="../main.cpp" line="48"/>
+ <location filename="../main.cpp" line="49"/>
<source>Redirects debug messages into standard output (forces debug mode).</source>
<translation>Presmerovať ladiace informácie na štandardný výstup (vynútený ladiaci mód).</translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>Redirects debug messages into given file (forces debug mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="50"/>
+ <location filename="../main.cpp" line="51"/>
<source>Enables Lemon parser debug messages for SQL code assistant.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="51"/>
+ <location filename="../main.cpp" line="52"/>
<source>Enables debugging of every single SQL query being sent to any database.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>Limits SQL query messages to only the given &lt;database&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>database</source>
<translation>databáza</translation>
</message>
<message>
- <location filename="../main.cpp" line="53"/>
+ <location filename="../main.cpp" line="54"/>
<source>Lists plugins installed in the SQLiteStudio and quits.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>file</source>
<translation>Súbor</translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>Database file to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="85"/>
- <location filename="../main.cpp" line="100"/>
+ <location filename="../main.cpp" line="86"/>
+ <location filename="../main.cpp" line="102"/>
<source>Error</source>
<translation>Chyba</translation>
</message>
diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_zh_CN.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_zh_CN.ts
index ff9ee04..222126a 100644
--- a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_zh_CN.ts
+++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_zh_CN.ts
@@ -4,68 +4,68 @@
<context>
<name>QObject</name>
<message>
- <location filename="../main.cpp" line="43"/>
+ <location filename="../main.cpp" line="44"/>
<source>GUI interface to SQLiteStudio, a SQLite manager.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="47"/>
+ <location filename="../main.cpp" line="48"/>
<source>Enables debug messages in console (accessible with F12).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="48"/>
+ <location filename="../main.cpp" line="49"/>
<source>Redirects debug messages into standard output (forces debug mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>Redirects debug messages into given file (forces debug mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="49"/>
+ <location filename="../main.cpp" line="50"/>
<source>log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="50"/>
+ <location filename="../main.cpp" line="51"/>
<source>Enables Lemon parser debug messages for SQL code assistant.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="51"/>
+ <location filename="../main.cpp" line="52"/>
<source>Enables debugging of every single SQL query being sent to any database.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>Limits SQL query messages to only the given &lt;database&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="52"/>
+ <location filename="../main.cpp" line="53"/>
<source>database</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="53"/>
+ <location filename="../main.cpp" line="54"/>
<source>Lists plugins installed in the SQLiteStudio and quits.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="62"/>
+ <location filename="../main.cpp" line="63"/>
<source>Database file to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../main.cpp" line="85"/>
- <location filename="../main.cpp" line="100"/>
+ <location filename="../main.cpp" line="86"/>
+ <location filename="../main.cpp" line="102"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
diff --git a/SQLiteStudio3/sqlitestudiocli/main.cpp b/SQLiteStudio3/sqlitestudiocli/main.cpp
index cd10de3..4bec619 100644
--- a/SQLiteStudio3/sqlitestudiocli/main.cpp
+++ b/SQLiteStudio3/sqlitestudiocli/main.cpp
@@ -53,9 +53,11 @@ int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
+#ifdef PORTABLE_CONFIG
int retCode = 1;
if (UpdateManager::handleUpdateOptions(a.arguments(), retCode))
return retCode;
+#endif
QCoreApplication::setApplicationName("SQLiteStudio");
QCoreApplication::setApplicationVersion(SQLITESTUDIO->getVersionString());