When the path to the database file given in a project file doesn't exist
try parsing it relative to the path of the loaded project file. This
makes it possible to move project and database file around together
without need to manually correct the path in the project file.
See #36.
Increase the default size of the main window a bit.
Move the SQL log dock to the right side and tabify it with the plot
dock. This way there is much more space for actual information by
default.
The idea behind both changes is to make it easier for first time users
to find their way around and offer them a more appropriate window layout
for the usual tasks. The layout is still entirely configurable and
non-first-time users are not affected at all.
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.
Allow NULL constraints in a column definition when parsing a CREATE
TABLE statement. Before this only NOT NULL constraints were parsed
correctly even though NULL is proper SQL as well - it's just a redundant
information.
Make it possible to use other quote and separator characters than those
predefined in the respective combo boxes when exporting a CSV file.
See issue #23.
Make it possible to use other quote and separator characters than those
predefined in the respective combo boxes when importing a CSV file.
See issue #23.
Also update the internal table representation and thus the SQL string at
the bottom of the window when the type of a column is changed
automatically, e.g. when the AI checkbox is clicked.
Closes#24.
Sort the table names in the combo box in the CreateIndexDialog
alphabetically.
Add the table icon to each entry of the combo box - not because there
are any possible object types other than tables here but just for
improved consistency with the rest of the UI.
Move the FilterTableHeader object from the MainWindow to the
ExtendedTableWidget class because it actually is a part of the latter,
not the former.
Show sort order arrows in the table header of the Browse Data tab after
clicking it.
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.
Don't show cells with a text value longer than 1024 characters as
'(BLOB)'.
Also don't change back to binary mode in the EditDialog after manually
switching to the text mode.
Closes issue #16.
Change the tool tips and help texts for the navigation buttons in the
Browse Data tab. They were still referring to the old concept of pages
of 1000 records.
The QTranslator objects need to be stored as class attributes as
otherwise they are destroyed after the Application constructor is done
and translations won't work.