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
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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
Delete patches that have already been applied upstream and add new ones
for build related files that were not registered.
See commits:
209120c01e43134caa2d
and issue #1621
QScintilla is returning strings with text(line) with line terminator and
they are also counted by lineLength, so the Windows version has to
substract one for setSelection.
This solves various problems resulting in characters being removed at the
beginning of lines when commenting or uncommenting blocks of code with
Windows line terminators.
Summary from NEWS file:
- Control-wheel scroll will now zoom in and out of the document.
- Added accessibility support.
- Added setScrollWidth() , scrollWidth, setScrollWidthTracking() and
scrollWidthTracking() to QsciScintilla. (one of our patches)
- Bug fixes.
This is to deal with building on Ubuntu 18.04 and seeing the message:
Could not find a package configuration file provided by "Qt5LinguistTools"
with any of the following names:
Qt5LinguistToolsConfig.cmake
qt5linguisttools-config.cmake
* As mentioned in one of previous commits, dump wrapper was causing problem with launchpad CI/CD for snap packages. Content of this wrapper file resemble snapcraft-desktop-helpers for gtk application.
Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>