The query used in sqlitetablemodel does not rename the columns, instead
it applies the display formats in the WHERE part. In this way the saved
view has the original column names.
Changes in Button "Save filter as view": more information in tooltip and it
is disabled when no database is open.
See discussion in PR #1246
New view name validated with isNull().
Text in information box reworded.
Column names are preserved in the new view, except for the ones with
display formats, for which an underline is appended in order to fix the
reported filtering defect.
Make sure the keyboard shortcut for the Find & Replace dialog is always
set to Ctrl+H instead of using Qt's QKeySequence::Replace. At least on
KDE desktops but probably on other systems too it break the Ctrl+R
shortcut which is used for refresh and SQL execution.
When restoring the plot state we always checked set the use-on-y-axis
checkbox when a colour was defined for a field. This is correct most of
the times because a field doesn't have a colour as long as it's not used
in the plot. However, when you uncheck a field it keeps its colour which
starts causing issues as soon these settings are reloaded.
The solution is to not only store the colour but also the check state
independently. This changes the project files format though, so the code
needs to support loading old and new file formats.
See issue #1245.
A new button is added to the Browse Data tab for saving the current display
of the table (current filter, sort column and display formats) as a new
view. This allows (specially for non advanced users) the creation of simple
views. It can be seen, either as a way of storing the current
filtering or as an easy way of creating views.
This reuses the query set in sqlitetablemodel, but the column aliases when
a display format is used has been changed from col%1 to the original column
names, i.e. format(`orig`) AS `orig`.
Improve the feedback to the user for invalid JSON data using error
indicators like the SQL editor.
Do not select all the text in the JSON mode, in order to see the
syntax highlighting while browsing.
Fix the logic in the case of not compacting/prettifying.
Change "Indent" to "Pretty print" in preferences for coherence to
JSON Export dialog (actually it is not only indentation).
Do not underline error style font, so it does not overlap with
error indicators.
See issue #1173
Find/Replace dialog does not block the main window.
Dialog reused, so checks changed by user are preserved.
The selection of the last occurrence in Find All and Replace All
is cleared, so all the occurrences have the same appearance.
A classic Find/Replace dialog including all the options provided
by the QScintilla editor. Additionally a "Replace All" and a
Find All" button are implemented. This complements issue #191
New shortcut in main window for opening the find/replace dialog
connected to the focused widget. Standard for Replace is Ctrl+H.
Consequently the shortcut for Copy with Headers is changed to
Ctrl+Shift+C (see issue #1058).
For SQL text widgets not embedded in the main window, the standard
shortcut cannot be enabled, otherwise it conflicts with the main
window. Therefore the shortcut Ctrl+Shift+H is enabled for all the
SQL widgets as fallback. A better solution would be desirable.
A warning dialog is popped-up for confirming application of
invalid JSON data. Parse error is shown in the dialog.
*.json added to import filter.
See issue #1173
This adds support for pasting a single value into all selected cells in
the Browse Data tab in order to mimic the behaviour of standard
spreadsheet application more closely.
New setting for enabling the following feature:
when JSON data is loaded in the JSON cell editor, the text is
indented. Before JSON data written back into the cell, the text
is compacted.
See issue #1173
Minor adjustment in preference label: removed ":" for consistency.
* Add Signal if File dropped
* Check if Index is valid
Send Signal and return if Index is invalid and File was dropped
* Connect Dropsignal to fileopen
The default style for invalid JSON or unclosed strings uses red
background and white foreground, but the current line has
precedence, so it is by default white over grey. We change the
default to something more readable for the current line at
invalid JSON. See issue #1173.
New icons in resources from our icon set: Silk from
famfamfam.com
Icon for close. Applied to the find bar (see issue #191).
New icon for special copy. Applied to the "Copy with
Headers" option.
Removed the execution permission from some icon files.
results pane
Copy for multi-line text data surrounds the text with the
<pre> tag in the HTML version for avoiding line white-space
adjustments in the pasted text. See #1058
Do not use binary data in the "Use as Filter" option.
Indicate the existence of an error in the background of the
SQL results frame. The error-indicators is reused for
disabling this functionality.
When nothing is shown, a placeholder text hints the
objective of the results pane.
The preference label for the font size of this pane is
modified for consistency (SQL Log is another widget).
Both "Copy" and "Copy with Headers" write in HTML and text format to the
system clipboard, when the selection includes more than one cell. This lets
the pasting application choose the most appropriate format.
Images have now no precedence over text when requesting the clipboard
content, so pasting from applications like LibreCalc, that set both formats
in the clipboard, works as expected, instead of pasting an image of the
copied text.
Copying and pasting inside the DB4S should not be affected, since the
application requests the text format and uses the internal buffer when
necessary (binary data included).
Related issue: #1058
Support for JSON in the Database Cell editor using the QScintilla library.
The lexJSON lexer has been added to the compilation, including the
necessary files from the QScintilla source package.
See issue #1173
Support for JSON in the Database Cell editor using the QScintilla library.
The lexJSON lexer has been added to the compilation, including the
necessary files from the QScintilla source package.
See issue #1173