A new dialog for editing conditional formats that can be invoked from the
filter line editor or from the data browser contextual menus. The dialog
allows adding and removing conditional formats, changing the priority order
and editing foreground colour, background colour and filter condition.
The conditional formats have been expanded to allow defining the foreground
colour. By default is the setting configured by user.
This is a continuation of the functionality introduced in PR #1503.
A new option, in the toolbar of the Edit Database Cell, is added for
setting word wrapping for the text editor modes. It is now independent of
the SQL preference. The configuration reading the editor/wrap_lines setting
is moved to the particular SQL editor class.
Added icon from the Silk icon set.
See issue #1796
* Improve the size policy (and more and better icons)
These changes improve the size policy for translations having long texts
in some buttons by:
* Converting the text buttons in the Edit Database Cell to icons
* Making the "Type of data" label wrappable and expandable
* Converting the text buttons in the Browse Data tab to icons
* Allowing the Plot combo-boxes to shrunk
All this allows both the Browse Data and the docks to grow and shrink with
more freedom.
New icons for buttons are reused when appropriate in context menus.
Added icon for filter and improve icon for docks (has been mirrored so it
matches the actual dock position).
Added Print icon in Edit Database Cell using the extra free space, so the
print action there is more visible.
This continues the effort started in #1324.
* Convert the embedded buttons to actual toolbars
This provides more flexibility, like the way how toolbars are compacted
when they have not enough space.
The QToolButtons in Browse Data tab and in Edit Cell dialog are converted
to QActions and inserted in new toolbars embedded in the same place as
the old buttons. Everything else should stay the same (shortcuts, tool-tips
and what's-this information).
* Set style for all toolbars in Preferences and minor adjustments
The combo-box used for the main toolbar is replicated for all the toolbars
in application. In this way, users with high resolutions can use the styles
with both icons and text, while users with lower resolutions can leave the
default styles, which should be better for them.
Some icon texts has been abbreviated from their default values, so they fit
better in the toolbars when they are visible.
The print icon in Edit Cell has been moved to the right, where it would be
the first to be collapsed.
The original what's-this info for Set as NULL in Edit Cell toolbar has been
restored.
* Remove no longer used overloaded function
The addShortcutsTooltip function applying to QWidget was no longer used
after having converted all the buttons to actions, so it is removed.
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
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
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
This adds a label to the status bar which becomes visible whenever the
database is busy. It also specifies the currently running action. Also
add a button which allows you to cancel this action at the next
opportunity.
Note that this doesn't work for the Execute SQL tab yet which requires
some more rewriting of the code there.
Reorder the context menu of the table header and use separators for
coherent grouping: column actions, misc and encoding.
Set buttons invisible in the DB Structure toolbar when the object is
different to the supported ones. Disabling wasn't enough because the logic
for changing icon and text wasn't working well for fields and other items.
Separate Print from object actions in that same toolbar.
New icon for Project Save so it uses the same metaphor (floppy disk) as
other save actions.
Improved the look in the clear filters icon by editing it in gimp. It had
a glitch in the funnel base.
Add printing support for QScintilla widgets (SQL, JSON and XML). It can be
access through the contextual menu, shortcut (Ctrl+P) or (in the case of
the "Execute SQL" tab) from a button in the toolbar.
Ctrl+P was previously assigned to Plot Dock since
63c338c359 but, as it was foreseen in that
commit, it should be assign to print is ever supported. This change must
be mentioned in release notes.
First part of printing support. See issue #1525.
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.
Two new application toolbars: Extra DB (attach, close database) and Project
(Open, Save). Can be disabled and moved as usual.
Icons for Close Database and Attach Database actions, which lacked ones.
Different icon for the dock configuration, so they are visually
distinguishable from the toolbar configurations.
New preference for the toolbar style, with default value: text besides icon
as before. But in order for the style to change, the value in UI must be
ToolButtonIconOnly.
Needed new icons from famfamfam.com's Silk collection.
See related issue #331
The rectangle selection is no longer possible. Control+click can be used
for selecting a range of items.
This allows more freedom for performing customisations as requested in
issue "Change axis limits #838".
The "Load all data" button tool-tip and icon have been readjusted so they
hint the additional use pattern of resetting the plot to the original
zoom and range limits.
New and more appropriate icon for the "Save Plot" button. Icon from the
Silk set from famfamfam.com.
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.
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.
This commit removes the File -> Remote menu entirely. The only menu item
that was left was the Save to Remote item which is replaces by a button
in the remote dock.
The button is only enabled when a database file is opened and the user
has logged in using a certificate.
Clicking the button opens the same dialog and performs the same actions
as before. The only difference is that we don't use the first client
certificate - no matter which one it is - but instead use the client
certificate that was used for logging in.
Add a context menu to all table view widgets in the program (Browse Data
tab and Execute SQL tab) which opens when right clicking a table item.
Currently the menu only allows you to copy and paste the selected
item(s).
Only activate the paste action when the current view is writable.
This adds a new dock to the main window that contains all the remote
functionality (or is supposed to contain it all in the future).
It also adds a directory browsing feature which allows you to browse
through the folders and files on the dbhub server.
By double clicking a database you can download and open it. The Open
Remote menu action isn't needed anymore and has been removed.
This also fixes an issue with pushing databases where, after sending the
file is completed, the save dialog was opened.
Note that this is still WIP and is far from polished.
Improve the Create Index dialog so that it allows creating as well as
editing indices.
Chenge the code for the main window to allow editing existing indices.
This is a first rough implementation of QScintilla support as SQL text
editor.
It should work mostly and build fine with qmake as well as cmake. The
new code supports all the features of the old one plus adding a few
subtle improvements. The main point of this, however, is reducing the
code we have to maintain and making it easier to add new features to the
editor.
Add a new menu option to the main window (only visible when built with
the sqlcipher option enabled) which opens a dialog asking for new
encryption settings. These are then applied to a new database to which
all contents of the current one are exported. The old database is then
replaced by the new one.
This adds support for encrypting plaintext databases, decrypting
encrypted databases and changing the password or other settings of
encrypted databases.
If this turns out to work well enough we have functional SQLCipher
encryption support with only details missing.
In the Database Structure tab of the main window and the DB Schema
pane, show more information in the field nodes of the tree view. This
commit puts the field definition in the Schema column which has been
unsused until now. It also changes the icon of the field row when the
field is a primary key. This hopefully makes the Schema view a bit more
useful, especially in the pane.
This add support for saving and loading of SQLiteBrowser project files.
As of now these files contain a reference to the used database file,
store some window and widget settings as well as the content of the SQL
tabs.
Note that while working this is a first draft only. Especially the
parsing code still might contain a bug or two and there is a lot more
information to be added to these files later (like filters, plot
settings, etc.).
Also note that the main intention behind these project files was to make
the life of users easier while not getting into the way of those who don't
need them. The program still remains a database browser and doesn't
become a visual database studio thing.
Add two buttons to move the currently selected field up or down to allow
changing the field order of a table.
Extend the DBBrowserDB::renameColumn() method to support changing the
position of a field.