Since the mouse release triggers the sorting, we were unable to select
only one column. Connecting the double click over the header to a column
selection, we are able to select that column. However, we cannot select
one column without sorting by it, since the sorting is triggered before,
on the first mouse click.
See issue #1717
When more than one column is selected we abort the sorting, but Qt has
already assigned the sort indicator to the last selected column, so we
have to restore the saved settings to fix the sort indicator column.
See issue #1717
This change fixes a cmpile warning on Mac OS: (10.12.6) + Clang
warning: 'selectAll' overrides a member function but is not marked
'override'
Fixes#1718
New action "Save All" for saving all the files currently opened by the
application: DB file, SQL files and project file. Can be activated through
shortcut (Ctrl+Shift+S) and File menu.
Icon composed from package.png and database_save.png.
See issues #871 and #1706
User is asked once for saving modified SQL tabs not attached to a file to
the current project file (or to a new project file, when there isn't any
yet).
For each tab linked to a file, the user is asked to save the changes to the
file.
The asking is performed when the tab is closed, or when the application
is closing.
The modified attribute of the editor is set to false when the data is
saved or has just been loaded in the editor.
See issues #1386 and #1706
When executing only a part of a query by selecting the start of it in
the Execute SQL tab, SQLite would execute it until the next semicolon,
even when the selection does not go as far. This commit changes this
back to the old behaviour to only ever execute exactly the selected part
of a query.
See issue #1708.
The OK button in the Remote Push dialog sometimes needed to be clicked
twice in order to work. That's because whenever the Database Name field
loses focus, we would send out a request for the updated branch list.
While processing this request the OK button is effectively disabled by
Qt. This commit aims for an easy fix by changing the request to happen
whenever the text in the Name field changes. This way the timing is a
lot less sensitive. We will need to see however if this introduces other
timing issues for users with slow Internet connections.
Fields having a foreign-key constraint are shown with a distinctive icon.
New icon based on page_green.png and bullet_key.png from the Silk icon set.
See comment in issue #192
"Save Project" remembers used filename, at second and successive calls
the user is not asked for the filename. Ellipsis are removed, since it
only opens a dialog the first time.
A Wait Cursor is set while saving so the user does not get the impression
that pressing "Save Project" does nothing.
"Save Project As" action is added, so the user can still save to another
filename when saved for the first time. Added icon combining package.png
and textfield_rename.png from the Silk icon set.
The base filename for a new project does not include the DB suffix.
Problems saving the project file are detected and the user warned.
See issue #1706
- New SQLcipher dialog strings
- Extensions filter
- Remove translation for Alt+Del, since it has to match the official Qt
translation and it changes between versions. When the shortcut isn't
changed, it is better to not translate the shortcut at all.
# Conflicts:
# src/translations/sqlb_es_ES.ts
In Mac the standard shortcut for deleting word to the left is Alt+Backspace
so we set this key sequence in Scintilla editors as alternate for Mac.
Reference:
http://doc.qt.io/qt-5/qkeysequence.html
Section Standard Shortcuts:
DeleteStartOfWord is Alt+Backspace in macOS column.
See issue #815
Even after having removed the hard-coded style from the link texts, this
combination of hyperlink over regular window background is not giving good
results in some dark theme colours. It is uncommon to have this combination
in GUI applications.
The link in the label has been replaced by a link in an embedded icon.
In order to be still recognisable as a link (apart from the hand icon) the
link hover signal is connected to a slot showing the link in the status bar
for 5 seconds.
See issue #1493
If there are no settings previously stored for the MainWindow/openTabs, the
default empty string was converted to a list of one empty string and
consequently all tabs were cleared and none added.
This fixes all possible cases where the list of open tabs is empty. It
means: do not make changes, as originally designed (since the setting for
all tabs closed doesn't make sense).
See issue #1692 (and #1675 for the enhancement).
This shortcut was set for the following actions, making it ambiguous:
"View > DB Toolbar" and "Open tab" in "Execute SQL". Additionally it was
used by QScintilla for transposing lines.
Shortcut for "View > DB Toolbar" has been removed, since it's not
considered a frequently used action and there are other toolbars without
shortcut. The shortcut for QScintilla has been changed to "Ctrl+Shift+Up".
The now working shortcut is added to the "Open tab" action's tool-tip for
documentation purposes.
See issue #1647
Using QShortcut this shortcuts are working in any context. With the
previous approach there were problems in QScintilla widgets, in the Browse
table combo-box and probably others.
See issue #788
Ctrl+O for opening a database file did no longer work. It raised this
warning:
QAction::eventFilter: Ambiguous shortcut overload: Ctrl+O
The shortcut was repeated in the UI.
This bug was introduced by e11b32ed54
It was laterally reported in #459
- New action (Alt+0) in View menu for resetting window layout (main tabs,
toolbars and docks).
- Shortcuts for tabs use positional meaning: after moving the tabs, the
number always refers to the position of the tab, and not the identity.
- Avoid using statusTip for restoring the original tab label and use
accesibleName, which is believed to be either neutral, when set, or
beneficial.
- Assure the tab is open when some function switches to it: browse table
and SQLite checks.
- Avoid flickering while clearing and adding tabs.
See issue #1675
The ordered set of open tabs is saved in the project file using a new
element main_tabs with attributes open (ordered list of open tabs like the
"MainWindow/openTabs" setting) and current (the current index inside that
set).
When the project load code finds the old element (current_tab) it falls
back to restoring all the main tabs and then setting that tab index as
current. In this way, old project files are restored as they were saved,
even when the user has closed or moved some tabs.
See issue #1675.
Main tabs are made closable, so they can be closed by the user. New entries
are added to the View menu for toggling their open/closed state.
Spartan users can closed all tabs but their preferred, and then the tab bar
is hidden saving some space.
The set of open tabs and their order is automatically saved in the settings
on application exit and restored on application start.
Tab labels are stored in the statusTip attribute in order to restore them,
since those labels are not stored anywhere else.
See issues #1675 and #459
Add the destination platform from the compilation process and the
platform we are running on to the About dialog and the Bug Report
template text.
See issue #1660.
The movable attribute for the main tabs is enabled and the code is adapted
to use widget references instead of indices.
This allows user to move tabs and set a preferred order, but the order is
still not saved.
See issue #1675
The width of the UI elements is forced by the text in buttons. This is a problem in some translations,
where the text are longer than the original. This PR address this tweaking some aspects:
* change UI size policy
* make RU translation for some buttons shorter
* move Set as NULL to bottom in EditDialog