A new setting is added to the 'SQL' tab of the Preferences dialog. It
enables the line wrapping in the editors with none/character/word/
whitespace boundaries.
See comments in issue #1173.
The download and disk usage difference is apparent and should be avoided when possible
```
$ apt show git-core git 2>/dev/null | grep '^Installed-Size'
Installed-Size: 8,192 B
Installed-Size: 24.1 MB
```
Signed-off-by: 林博仁 <Buo.Ren.Lin@gmail.com>
Document the behaviour of the 'Execute SQL' button so users can discover
the feature for executing the statements in the selection.
See related issue #1336
"SQL sentences" to "SQL statements", as that is the standard term.
Add plot feature to list of features in README file and DB4S abbreviation
In order to avoid removing multiple line breaks inside strings, the
replacement is only done when removeCommentsFromQuery has performed some
substitution. Otherwise the query is left as is.
This will improve the problem described in issue #1334 for simple cases.
There will be still problems when the query has comments and multiple line
breaks inside strings.
Browse data table settings are now saved in the project files using a pure
tagged XML format. This would make easier the generation of our project
files by external tools or direct human edition of the project files.
Compatibility with the older format is preserved in the loading. Previous
software versions have been tested with the new format, and they are also
able to load the new project files ignoring these new tags.
See related issue #1306
Quoted values in DELETE FROM and UPDATE SET take into account that value
could have a single quote and they are now doubled.
Detect tables without rowid in order to make invisible the "Show rowid
column"
See issue #1332
Use SQLite3 and Qt APIs to export the table data using appropriate JSON
data types.
See issue #1323: JSON table export converts integer and null values to
string.
All the colour configurations have been reviewed under an operating-system theme
dark theme.
Some hard-coded colours in QScintilla editors and Data Browser have been
replaced by queries of the system palette or reuse of our settings.
New settings for foreground and background colours for QScintilla editors
defaulting to system colours. This is mainly needed because if the user
saves colour settings for a dark theme and then he changes the system theme
back to a light theme, then the foreground colours are preserved while the
background would fall back to the system theme leading to an incompatible
combination. This also gives more freedom to the user in defining his own
colour combinations.
Since only the default colour settings adapt to the system theme, and once
settings are saved this can no longer happen, a 'Restore Defaults' button
is added so the default adapted colour settings can be restored. This is
also useful for restoring default behaviour when wanted.
Other fixes and improvements: waiting cursor while saving; check boxes in
SQL tab for bold, italic and underline when applicable; avoid translation
of hidden colour setting names used in code.
See related issue #1324.
For single cell without-headers copy it is better to not escape the text
since there isn't any gain in trying to escape quotes, end-of-lines or
tabs. Escaping should only be done for table like data for compatibility
to spreadsheets applications.
See issue #1244.
Added some texts to the "What's This" information of some buttons or other
widgets that lacked them. This will help the user to discover the provided
features.
Specifically, help is added for the filter fields and the remote dock.
See discussions in issues #1311 and #1312.
Set breaks in nested switch where missing.
Fix editModeChanged since it was overwriting the dataType for JSON and
SVG.
Additionally, removed unnecessary conversion in fromJson.
Two new options added to the context menu of the plot:
- Stacked bars: switches between stacked bars or grouped bars. The former
overlapped layout is avoided since it doesn't make much sense.
- Show legend: toggles the display of a plot legend with a translucent
background. Possible future improvement is dragging the legend with the
mouse.
Now that we have a proper type column in the plot selection widget, the
internal type storing can be simplified.
If the plot has more than one Y selections for one X of label type (bar
charts) the first bar is opaque, but the additional are translucent in
order to be seen, since they will overlap.
What's This information added to explain all the possible selections for
plotting.
String type columns are now selectable as X axis. In that case a bar chart
is plotted where the column values are used as bar labels.
A new Axis Type column is added to the axis selection table, so the user
knows before-hand how the plot will be drawn.
Line type and point shape combo-boxes are not enabled for bar charts, since
they don't make sense.
Columns that make no sense for the Y axis as strings and date/times are not
selectable for that axis.
Isolated column names are added to the list of possible auto-completions,
so they can be completed without having to enter first the table followed
by dot. "Table.field" completion is still supported for completing only for
fields inside that context.
See issue #1242
The original Create statement formatting is preserved when the menu option
"Copy Create statement" is selected, regardless of the setting that removes
the line breaks in the schema view.
The Edit Role is requested to the model for getting the original text data.
See issue #1300
The original Create statement formatting is preserved when the menu option
"Copy Create statement" is selected, regardless of the setting that removes
the line breaks in the schema view.
The Edit Role is requested to the model for getting the original text data.
See issue #1300
Make use of signals to connect the selection in plot to the associated
table widget. Every time that the plot is updated from the Main Window
the table widget associated to the table or query is connected to the plot
and the previous widget is disconnected. This allows the selection of the
correct table widget.
Line selection methods moved to the Extended Table Widget to be used as
slots for this connection.
The destroyed signal is also connected for resetting the plot. This fixes
a crash that already existed before this PR, when closing a SQL tab while
the plot is still associated to the table results model.
Revert the savepoint in the Execute SQL whenever possible. We need to
do this after each statement because there are some rare cases where
the next statement might be affected by what is only a temporary and
unnecessary savepoint. For example in this case:
ATTACH 'xxx' AS 'db2'
SELECT * FROM db2.xy; -- Savepoint created here
DETACH db2; -- Savepoint makes this statement fail
See issue #1249.
When dragging and dropping a table from one instance of the application
to the other, the tree structure representing the database was broken.
We would show the 'Browsables' and 'All' nodes at the top level instead
of the child nodes of the 'All' node. This happened because after
dropping a table, we would reload the database structure and rebuild the
tree structure but didn't notify the tree view in the main window about
the update. This is fixed by this commit, so the main window's widgets
are always notified about the new tree structure.
See issue #1288.