Commit Graph

2680 Commits

Author SHA1 Message Date
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
Justin Clift
c01e6d3e85 Remove CPack pieces and winlaunch.bat, as they're no longer needed 2018-11-24 21:15:45 +11:00
Karim ElDeeb
1ceb9ba946 Update the location of MSVC 2017 merge modules
See #1592.
2018-11-24 11:12:15 +02:00
Justin Clift
d206c9a990 Added Win32 nightly build script 2018-11-24 15:38:34 +11:00
Justin Clift
5113bd8fb0 Added Win64 nightly build script 2018-11-24 15:01:26 +11:00
mgrojo
87a8aeb1c0 Option to find&replace in selection #1618
New check box in the Find and Replace dialog for Scintilla editors. The
new option uses the feature in QScintilla for finding text in the
selection only.

The implementation has been changed to use findFirst(InSelection) and
findNext so it works exactly as designed by QScintilla. Consequently the
finding process has to be cancel whenever any of the parameters have
changed.
2018-11-24 00:25:40 +01:00
Justin Clift
058f2acd14 Typo fix in a comment 2018-11-24 10:12:41 +11:00
Justin Clift
17193d96f3 Update Win x64 builds to use MSVC 2017 2018-11-24 05:39:37 +11:00
mgrojo
2b15029be5 Button for new Un/Comment Block feature
A new button has been added to the "Execute SQL" toolbar for invoking the
new Un/Comment Block feature.

See issue #1614
2018-11-23 18:35:52 +01:00
mgrojo
33266b7707 Improvement and fixes to the un/comment block feature
The last line of the selection is considered part of the block, even if it
is not completely selected. At the same time, we have to discard this last
line of the selection, if the index is 0, since in that case there is no
actual selected character in the line.

Additionally all the steps in the replacement are considered a single
action for history, so that user can undo the change in a single undo
action.

See issue #1614
2018-11-21 21:13:40 +01:00
mgrojo
17827ce5be Update QScintilla patches for version 2.10.8
Delete patches that have already been applied upstream and add new ones
for build related files that were not registered.

See commits:
209120c01e
43134caa2d

and issue #1621
2018-11-21 20:30:59 +01:00
Martin Kleusberg
39586da475 Remove some unneeded includes 2018-11-20 23:57:00 +01:00
Martin Kleusberg
32f4394eb8 Remove unreachable code 2018-11-20 23:11:25 +01:00
Martin Kleusberg
43134caa2d Fix qmake build
This was broken by 209120c01e.

See issue #1621.
2018-11-20 22:57:23 +01:00
Martin Kleusberg
594e3a2945 Remove unnecessary 'virtual' to silence some warnings 2018-11-20 22:09:23 +01:00