Commit Graph

2694 Commits

Author SHA1 Message Date
Justin Clift
ee4518cd7b Build our macOS nightlies using SQLCipher 4.0.0 2018-12-13 16:57:38 +11:00
Justin Clift
66e3322088 Add macOS .dylib extension to the extension selector dialog 2018-12-13 16:50:45 +11:00
Karim ElDeeb
ffb07e1f23 Disable running the application after installation on Windows
See issue #1656.
2018-12-12 17:08:48 +02:00
Martin Kleusberg
035bc161f9 dbhub: Redesign the Remote teb of the Preferences dialog
The new layout hopefully makes it a bit easier to understand how to use
the dialog.
2018-12-12 14:23:50 +01:00
Martin Kleusberg
d86b45e7e6 dbhub: Open Preferences dialog on the correct tab
When opening the Preferences dialog from the Remote dock, we now show
the Remote tab by default.
2018-12-12 14:23:44 +01:00
Martin Kleusberg
88ce4acf97 sqlcipher: Add new encryption settings to improve support for SQLCipher4
This adds three new settings to the cipher dialog: KDF iterations, HMAC
algorithm, and KDF algorithm. To simplify things we also add two presets
for all the encryption settings: SQLCipher3 defaults and SQLCipher4
defaults. The preselected default is chosen depending on the SQLCipher
version which we use.

This should work with any combination of SQLCipher3 and SQLCipher4 and
any database created by either. It should also work with DotEnv files as
expected. Again, the defaults which are used for missing values in the
DotEnv files are chosen depending on the SQLCipher version we use.
2018-12-12 13:41:47 +01:00
Justin Clift
2c8883d540 Use our temporary SQLCipher 3.4.2 Homebrew tap
This is just until we get some things for SQLCipher 4.0.x worked
out.
2018-12-12 13:04:19 +11:00
Justin Clift
ac5551458d Fix a bad cut-n-paste
We don't go a git pull of the sqlitebrowser repo for the SQLCipher
build, else the SQLite and SQLCipher builds could differ in the
commits they'd done with.
2018-12-12 00:27:07 +11:00
Justin Clift
f6abc61ff4 Work around an edge case for the macOS nightly builds 2018-12-12 00:19:25 +11:00
Justin Clift
c796a7cb8e Optimise the macOS nightly build script slightly 2018-12-11 23:47:28 +11:00
Justin Clift
ca4c39b855 Homebrew SQLite package no longer has a --without-readline option 2018-12-11 22:49:03 +11:00
Justin Clift
5093ac02a3 Update macOS nightly build to use Qt 5.12.0 2018-12-11 21:54:21 +11:00
Justin Clift
1181687115 Update Windows x64 nightly build to use Qt 5.12.0 2018-12-11 19:34:58 +11:00
Manuel
87e9732fcd Foreign key combobox in table browser #614 (#1550)
Foreign key combo-box in table browser

This adds a combo-box for the editor delegate when the associated column
has a foreign key constraint. In this way the user can choose the key value
based from a combo-box.

To minimise possible performance problems, the model only loads the foreign
key field, instead of the whole related table.

Except for not-null columns, a NULL value is given as possible value in
the foreign-key combo-box.

See issue #614
2018-12-10 21:39:16 +01:00
Martin Kleusberg
7e549c7c4c Don't show misleading "determining row count" message in empty db
When no table is selected in the Browse Data tab, either because the
current database is empty or because no database is opened, we would
forever show the "determining row count" message even though nothing is
to be determined at this point. This commit makes sure to show a better
"0 - 0 of 0" message as we did before.

See issue #1654.
2018-12-09 12:43:50 +01:00
Justin Clift
6944874f85 Add Italian language entries for our nightly build scripts 2018-12-08 17:24:25 +11:00
Justin Clift
2ce52c0518 Add entry for Italian flag to flags.qrc 2018-12-08 16:34:22 +11:00
Justin Clift
e399d3ac1b Trivial spacing adjustment. 2018-12-08 14:42:00 +11:00
Feyn-Man
6431998470 Italian translation (#1584)
Partial Italian translation for now.  Will be continued later as time permits.
2018-12-08 14:39:34 +11:00
Bartlomiej Przymus
f2be488898 Working on Polish Translation (#1582)
Update file with some translations done
2018-12-08 12:06:51 +11:00
Martin Kleusberg
47422f36c7 Fix alterTable() function when renaming a column
When renaming a column using SQLite >= 3.25 and changing something else
in the table, you would lose all the data in the renamed column. This is
because the second part of the alterTable() function (the part after the
renaming) didn't know about the new column name and so assumed it still
to be the old one.

See issue #1650.
2018-12-07 20:50:23 +01:00
Martin Kleusberg
b42097c704 Fix insert and delete record buttons not being activated
This was introduced in 10b6c34be6 which
fixed another issue. So this is pretty embarassing ;)
2018-12-07 20:36:38 +01:00
mgrojo
49fbc52fec Added hourglass icon to resources
The file was added and used in PR #1575 but at some time it should have
been lost in the icon resources file, so it was not actually working.
2018-12-06 21:26:14 +01:00
mgrojo
6425fb177e Use native names in the tool-tips documenting some shortcuts
There are three reasons for not hard-coding the shortcut names in tool-tips
or other texts inside the UI elements:
- Qt uses portable names for the shortcuts, that are translated to different
key combinations depending on the operating system, e.g. Ctrl is translated
to Cmd in MacOS.
- An eventual change in a shortcut is propagated to user strings affecting
translations.
- If we ever allow configuring the shortcuts in Preferences, the text
would be incoherent.

The shortcuts are added programmatically to the tool-tips and consequently
they are removed from the UI files. The translation files have been updated
semi-automatically so the translated strings aren't lost.

Shortcuts have been added to actions that lacked them (because they are
implemented through other means) so they can be used. The WidgetShortcut
scope prevents in those cases any interference with the current shortcut
logic.

In the case of Ctrl+Return for "Execute all/selected SQL", it has been
moved from code to UI file, since it no longer made sense.

See issue #721
2018-12-06 18:56:24 +01:00
mgrojo
6eebefb0f7 Fix Spanish shortcut translations for Qt5.9.5 (Ubuntu 18.04)
This translation was working for Ubuntu 16.04, because it matched the
official Qt translation for Shift, but in Qt5.9.5 (Ubuntu 18.04) the
translation is no longer abbreviated (Mayúsculas) and the former
translation breaks the shortcuts. Using the original English terms should
work for all versions and it is automatically translated in the display.
2018-12-06 18:56:24 +01:00
Karim ElDeeb
41fd313e74 Update Windows Installer to detect old NSIS installer
NSIS was used up to v3.10.1 and then we moved to MSI. The Windows Installer will now be able to detect if a previous version was installed using NSIS and uninstall it before installing the new version.

See issue #1642.
2018-12-05 23:55:12 +02:00
mgrojo
41312837b1 Consistency and fix in the Spanish translation
Avoid "Title Case" in two cases for consistency with the rest of the
translation.

Fix an "All files" filter lacking a "(*)".
2018-12-05 21:08:11 +01:00
Martin Kleusberg
a150656d87 dbhub: Make the initial account creation process a bit more obvious
This shows a short text in the Remote dock when no certificates are
configured yet. This text contains links to the dbhub.io page and gives
at least some information on the overall process. As soon as the first
certificate is imported, the old view is shown instead.
2018-12-05 19:33:20 +01:00
Martin Kleusberg
1f9101ae2a Move SQL execution in Execute SQL tab into a separate thread 2018-12-05 18:37:52 +01:00
Martin Kleusberg
7e0ff3061b Move code for running SQL statements into a separate class
This is only done for better readability and for easing future changes.
No major logic changes intended here.
2018-12-05 18:37:52 +01:00
Martin Kleusberg
10b6c34be6 Fix view editing
This was probably broken by f1e01dde8c.

See issue #141.
2018-12-05 18:11:21 +01:00
Karim ElDeeb
d8b1ac2c39 Update the Windows Installer
See issue #1642.
2018-12-04 14:12:58 +02:00
Karim ElDeeb
69f20ea921 Update Windows build scripts 2018-12-02 00:18:39 +02:00
mgrojo
d0417eeac9 Support for CMake 3.11
CMake 3.11 has a new AUTOMOC implementation that is breaking QScintilla
compilation.
https://cmake.org/cmake/help/v3.11/release/3.11.html#autogen

It is disabled and QT5_WRAP_CPP used instead. This has been tested with
CMake 3.10.2 and 3.13.1.

See issue #1361
2018-12-01 18:16:03 +01:00
Karim ElDeeb
9f28851d00 Allow overriding a library path from the commandline when using CMake on Windows
Change the path of used libraries to a cache entry instead of a normal variable. More info https://cmake.org/cmake/help/latest/command/set.html#set-cache-entry

If you are automating Windows build, you have to change the path of every library in CMakeLists.txt, to match your system, after every update to DB4S source.

This commit will set every library path to a cache entry instead of a normal value so it can be changed from the commandline using the `-D` flag.

For example, to change Qt5 path run `cmake -DQT5_PATH=/path/to/qt5 ...` to let CMake use this path instead of the one in CMakeLists.txt. This doesn't affect the current used paths and they will continue to work, and be used, if they are not replaced on the commandline.
2018-12-01 15:58:48 +02:00
Karim ElDeeb
161e71b8b0 Update build script to include math extension
See issue #1224.
2018-11-29 05:09:09 +02:00
Karim ElDeeb
2b21e1b18b Add math extension source 2018-11-29 04:14:42 +02:00
Karim ElDeeb
ab9939376b Fix a typo 2018-11-28 21:32:58 +02:00
Karim ElDeeb
79859dc0da Test merging SQLite and SQLCipher installers together
All the new committed files are the same as the current files, but have "_new" suffix so they can be tested without breaking the current build system. Once tested, the old files can be removed and the new ones renamed.

See issue #1630.
2018-11-28 18:18:20 +02:00
Martin Kleusberg
e8a03f462c Fix bug in 9e36f21112
This fixes a bug in the code to modify multiple table columns in one go.
We were accidentally adding more tracked columns when adding a new
column and then changing its name.

See issue #1627.
2018-11-28 12:13:38 +01:00
Justin Clift
583301d0df Update the version numbers in our issue templates. 2018-11-28 19:40:08 +11:00
Justin Clift
05fc3007ca Adjust the Win32/64 nightly build batch files to handle more edge cases 2018-11-28 10:49:09 +11:00
Karim ElDeeb
7db2372509 Update build to include a .zip package for Windows
See #1630.
2018-11-27 12:40:28 +02:00
Justin Clift
5ae582355b Add the nightly macOS build script to our git repo 2018-11-27 14:34:09 +11:00
Justin Clift
655dd497ac Update the included translations for our Win32 nightly builds 2018-11-26 11:30:19 +11:00
mgrojo
58f52f13cb Set the POSIX flag in Scintilla regex find
The POSIX flag is passed to QScintilla for stardardisation of the regex
implementation. This only changes the syntax for sub-expressions. Before
this change it was '\( \)'. With the POSIX flag it is simply '( )' for
sub-expressions, consequently \( and \( have to be used for matching
parenthesis.

Both the Qt implementation (used in filters and REGEXP operator) and the
C++11 standard (possibly used in the future for the editor, if QScintilla
add support) use the the new syntax for sub-expressions.

References:
https://en.cppreference.com/w/cpp/regex/syntax_option_type
>    If no grammar is chosen, ECMAScript is assumed to be selected.

https://en.cppreference.com/w/cpp/regex/ecmascript
>    The Atom ( Disjunction ) is marked subexpression

Qt also uses subexpressions in the POSIX style.
http://doc.qt.io/qt-5/qregexp.html#capturing-parentheses

See issue #1625
2018-11-25 18:43:27 +01:00
Karim ElDeeb
58553647a5 Add the missing *.qm translations files
The *.qm translations files were missing from being bundled with the installer, so the default strings weren't translated and were defaulting to English.

See #1592.
2018-11-25 15:41:46 +02:00
Karim ElDeeb
1f0acad07c Remove the bearer plugin from the 32-bit build
The 32-bit version is built using Qt 5.7 and it doesn't look like it needs this plugin. It will be included in 64-bit builds only.

See #1592.
2018-11-25 02:09:01 +02:00
Karim ElDeeb
9c0ccc3cb1 Fix "The network is not accessible" error
Commit 7394640 added a workaround for a bug in QNetworkAccessManager about a year ago but the required DLL "qgenericbearer.dll" for it wasn't included with the build which was causing "The network is not accessible" error.

The required file is now included till the bug is fixed and probably
 should be removed when it is no longer needed.

See https://bugreports.qt.io/browse/QTBUG-40332

See also #1592.
2018-11-24 17:24:44 +02:00
Justin Clift
bd2cd99f2d Remove all references to VSREDIST too
Missed from the previous commit
2018-11-24 21:39:09 +11:00