A new checkable button and associated setting is added for automatically
switching the editor mode in the Edit Database Cell dock in accordance to
the loaded data. The switch is done after loading data from cell, after
importing new data to the cell and when checking the button.
If the button is unchecked the behaviour is as formerly.
Since XML is not currently detected, the mode only changes to XML when SVG
is supplied.
Default value is true, since the new behaviour is considered more useful
for the general case.
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.
The new editor mode shares the same Scintilla widget as the JSON mode.
The JsonTextEdit class has been generalised. Future modes supported by
Scintilla could be added with the current pattern. As a consequence, the
EditMode is not always equal to the current stacked widget.
Some code in EditDialog has been refactored, so it is easier to understand
and modified with so many modes. textNullSet has been replaced by the use
of dataType as Null.
SVG is promoted to a new recognised data type, so it can be edited in the
XML mode.
The XML data is formatted and validated following the pattern established
by the JSON mode.
New modules are needed by the XML mode: the Qt XML module and some new
Scintilla files required by the HTML/XML lexer.
The indent_compact was incorrectly named in Setting::getDefaultValue.
See issue #1253.
Removed the related check box in the Preferences Dialog. A new checkable
tool-button with icon from the Silk collection. When checked, the
indent-on-loading and compact-on-saving feature is enabled. When widget
is destroyed, the setting value is saved from this button state.
Currently it is only usable in the JSON mode, but could be reused in XML
and any other future modes.
See issue #1173.
Some tooltips in the Edit Dialog have been corrected, since it is not only
used for text.
Ctrl+H invokes the Copy with Headersers action in the Extended Table Widget
as suggested in #1058.
The following options in context menu display now their shortcuts:
Set to Null, Copy, Copy with Headers and Paste.
Some other shortcuts are now displayed in the corresponding tooltips.
This uses a somewhat different approach to the previous
one. It now selectively stores the data into either
the text *or* hex widget buffer, and only copies the
data between them when the edit mode is changed.
Additionally, unneeded copy operations are minimised
where possible to reduce overall slowdown.:
Add a new option for replacing the edit data dialog by an edit data dock
widget which is added to the main window and remains visible. This might
be interesting for people who otherwise would have to open the edit
dialog many times by doing tons of double clicks.
Make the EditDialog a bit more user friendly when editing binary data in
text mode:
Don't change back to the hex editor after changing any character.
Show the full binary data even if it contains a NULL byte.
Also (though a bit unrelated) disable rich text input for the text widget.
This partially fixes issue #19.
Put the image editor into a scrollarea so the dialog doesn't screw up
when importing a large image file.
When importing a file add a filter to the file dialog to only show image
files.
Allow the user to change between the text editor and the hex editor.
Allow the user to change between insert and overwrite mode in both
editors.
This makes it possible to enter any binary data into an empty cell.
Only show the old text edit widget when there is actually a text to be
edited. If the data is a image file show the image instead of some
random garbage. If it is some other binary data show the hex editor.
Create a Qt Designer form file for the edit dialog.
Clean up the edit dialog code removing some not working and not used
functionality e.g. for blob editing.