Set the encoding used by Qt to UTF8. This fixes the wrong appearance of
special characters caused by SQLite using UTF8 and the application
ISO-8859 or whatever.
Start numbering the rows in the preview table view of the ImportCSVForm
with #1 instead of 0.
Don't create too many columns when filling the preview table view.
Keep the UI responsive when reading a CSV file. This way the progress
dialog can be seen, too.
Don't crash when reading files without an empty line at their end.
Extend the code used to delete tables to also allow the deletion of
other objects in the data base.
Change the activation of the popup menu entries to activate the
associated action when a trigger, view or index is selected.
Change the design of DBBrowserDB to store all DB objects in one single
map instead of having one map for table, one for views, one for triggers
etc. This requires some changes in the entire program.
Show more details of views in the DB structure tab, i.e. the names of
the fields included in the view. Allow browsing views in the browse tab
and allow exporting views as CSV.
Do not scroll per item but per pixel when scrolling in the tree widget
in the DB structure tab of the main window. This makes scrolling much
more comfortable when the schema string includes line breaks.
Since quite a few problems are fixed by now and the program is moving
towards rudeimentary usability again it's time to add some new features
and problems!
This should let the user know that something's not working instead of
offering him a not working dialog and winding him up this way. That
should make the behaviour of the program much easier to understand.
Make it possible to remove columns in the dialog shown to design a new
table.
Show a TODO message when user tries to delete a column in an existing
table.
Create a savepoint when starting to edit an existing table, release it
when the user clicks on the OK button and rollback to it if he cancels
the action.
Delete those two dialog, the only use of which is to make it possible to
select a table which is totally pointless because the user can do this
in the main window and would probably do so intuitively anyway.
Fix the caption of the edit field dialog to show the correct table name
when it is called by the modify field action in the popup menu or the
toolbar.
Also remove one more useless debug message.
Add the functionality needed to create new tables to the editTableForm
dialog.
Delete the createTableForm as it is no longer needed, also delete its
semi-finished replacement createTableDialog.
Fix not working add column function and as usual some other bugs here
and there.
Always show all rows of the current table in the browse tab of the main
window instead of limiting it to a 1000 per page.
Change the functionality of the buttons and inputs to change the page
accordingly.
Limiting the number of rows to a 1000 was probably done for performance
reasons but is a killer in terms of usability. And as we'll probably
move sooner or later to a model-view architecture that loads data on
demand, the performance when opening large tables will be more than
restored anyway.
Fix bug when closing the editFieldForm.
Fix bug that not always the correct database object was used.
Fix bug that changed field type when changing field name in editTableForm.
Delete the renameTableForm class and dialog. They are basically useless
as their functionality can (and has been) easily be integrated into the
editTableForm.
Delete the addFieldTypeForm dialog which appears to be quite useless.
It's not needed by editFieldForm anymore and would probably never been
of any use at all.
Design the editFieldForm dialog in Qt Designer.
Also add custom field type support and fix some other issues.
The dialog is still doing nothing because support for modifying columns
is still missing in the SQLite interface.
Get rid of the addFieldForm class and dialog and use the editFieldForm
instead.
Also fix the window caption of the editFieldForm dialogs called by the
editTableForm to show the correct table name.