Commit Graph

45 Commits

Author SHA1 Message Date
Peinthor Rene
4ed5d9a778 plot: add a button to save the current plot as different file formats 2014-05-10 09:23:16 +02:00
Martin Kleusberg
a1f506bb14 Fix not working filters.
Closes issue #46.
2014-04-29 20:27:20 +02:00
Peinthor Rene
fdbda563d4 plot: only allow X column to be selected once 2014-04-23 19:54:07 +02:00
Peinthor Rene
88ccd48173 plotting: add a simple mechanism to visualize data
added a plotting dock, where you can select x and y axis
and it will draw a chart out of it
2014-04-19 22:19:32 +02:00
Peinthor Rene
1e2ee439ea fix memory leak 2013-12-24 20:01:18 +01:00
Peinthor Rene
be1ba804c6 add a version check feature
this is only enabled on windows as there is no package manager handling the versions
and we don't want users to stay on old versions forever
2013-12-02 16:52:48 +01:00
Peinthor Rene
1bac11348f include cleanup 2013-09-19 22:55:35 +02:00
Martin Kleusberg
64a938716f Add custom model for tree view in Database Structure tab
Use a custom model for the tree view in the "Database Structure" tab in
the main window, i.e. change from a QTreeWidget to a QTreeView and do
all the item management stuff manually. This might add some code and
complexity but also offers some more flexibility for us.
2013-07-19 20:36:48 +02:00
Martin Kleusberg
1287a2cf6f MainWindow: Further simplification
Looking at this now this can be simplified even further.
2013-06-12 20:22:07 +02:00
Martin Kleusberg
7a81189d50 PreferencesDialog: New settings for font size of SQL editor and log
Add two new settings to allow changing the font size inside the SQL log
and the SQL editor.

Increase the default font size from 8 to 9 - better a bit too big on
some systems than too small on others.

Also do some restructuring in the MainWindow to avoid duplicate code to
reload settings.
2013-06-07 20:57:58 +02:00
Martin Kleusberg
04b431d3f1 Add rough implementation of some command line options
Support some additional command line options for opening and running SQL
scripts directly.

Don't just take the first argument as a SQLite database to open as it
could be a command line option - Qt and X11 have some default ones.
2013-05-14 18:12:11 +02:00
Martin Kleusberg
2d8cad27eb PreferencesDialog: Add new tab for extension loading
Add new settings to preferences dialog for automated loading of
extensions for all databases.
2013-05-03 16:01:52 +02:00
Martin Kleusberg
e36b17a485 Add support for SQLite extension loading
Enable the extension support in SQLite.

Add code to allow loading of extension.

Add menu entry for easy extension loading.
2013-05-03 15:26:34 +02:00
Martin Kleusberg
d52a6be86f Add buttons to open and save SQL files to SQL tab in main window 2013-05-03 12:13:17 +02:00
Martin Kleusberg
57b44b891d Add auto completion in SQL editor again 2013-05-03 11:47:53 +02:00
Martin Kleusberg
23d929ec0e First version of multiple SQL scripts support in main window
Allow multiple SQL scripts in different tabs in the SQL tab of the main
window.

Auto completion support is still missing, the rest is working fine.
2013-05-02 21:15:23 +02:00
Peinthor Rene
a2b3a57ddd use new SqliteTableModel with the executequery tab 2013-04-15 17:46:29 +02:00
Martin Kleusberg
2463cf3d5d Get rid of the find dialog
Remove the old find dialog. It's fully replaced by the new filter row
now. Good riddance!
2013-04-09 19:36:17 +02:00
Martin Kleusberg
77cf98fd53 SqliteTableModel: Inserting and deleting rows, clean up, bug fixes
Add some basic code to support inserting and deleting rows again.

Fix a few bugs here and there.

Do some general code clean up.
2013-04-07 19:08:40 +02:00
Martin Kleusberg
3cd5792cea More improvements and fixes to the new SqliteTableModel
Change the way sorting is done to correctly sort all data even if it
hasn't been loaded completely yet.

Fix the navigation label and buttons by showing the correct information
again and fixing the validator of the input field.

Log all SQL statements executed from within the SqliteTableModel.

Silence a few warnings.
2013-04-07 17:30:35 +02:00
Martin Kleusberg
5d2139ce99 Kind of fix the find dialog when using the SqliteTableModel 2013-04-06 23:40:47 +02:00
Martin Kleusberg
00b9f40271 SqliteTableModel: Make editing of data possible again 2013-04-06 23:12:53 +02:00
Martin Kleusberg
f25892d6d2 SqliteTableModel: Do a few fixes and add sorting again
Fix empty rows being shown in the main window when changing to a table
with less rows than the old one.

Add sorting in the browse tab again.

Do some minor clean ups.
2013-04-06 22:09:36 +02:00
Peinthor Rene
93cce3d87f first working prototype 2013-04-06 12:22:50 +02:00
Martin Kleusberg
d941073c25 Make syntax highlighting configurable
Add new options to the preferences dialog to change the colours and text
styles used in the SQL syntax highlighter.
2013-03-30 15:06:26 +01:00
Peinthor Rene
5289adaab8 Remove the editfield dialog and the edit options outside of edittable dialog 2013-03-19 17:18:52 +01:00
Martin Kleusberg
2165e544a2 Move all settings logic to the preferences dialog
Read and write the settings only from the preferences dialog.

Remove all the copies of some settings which were stored in nearly every
dialog class individually.

Simplify the settings dialog code by removing all those not really
needed slots.
2013-03-17 16:09:28 +01:00
Martin Kleusberg
6c8712d804 Change the internal data type for cell contents to a binary type
Store the data of a DB cell in a QByteArray, i.e. a binary data type,
instead of putting it in a QString, thus converting it to a UTF8 string.

Rewrite the reading and writing of DB cells to correctly handle binary
data containing 0x00 bytes.

Change the edit dialog to actually do all the data checks etc. on a
currently invisible QHexEdit widget instead of a QTextEdit.

All these changes combined make it possible to actually store binary
data without it being corrupted. You can for example import pictures
now, export them and actually open the exported file. So this is an
improvement.
2013-03-17 01:38:48 +01:00
Martin Kleusberg
5e8c14e942 Make the QTableWidget a QTableView
Rewrite some code to use a QTableView widget instead of a QTableWidget
in the browse tab of the main window, or more presicely in the new
extended table widget class. This way the widget and the data model are
separated which on the one hand means a bit more work on our side but on
the other hand also gives us a bit more flexibility. And more
importantly at the moment: This means both, the browse tab and the sql
tab, use a table view now - that's going to be helpful for the next
commit...
2013-03-16 19:10:03 +01:00
Peinthor Rene
05a5db3e28 indicate database encoding in the statusbar 2013-02-23 13:18:46 +01:00
Peinthor Rene
c5dafe9617 avoid useless string copies and fix a bug with logSQL because of that 2013-01-26 10:23:04 +01:00
Peinthor Rene
322520270d rework the pragma view and setting
removed uninteresting PRAGMA's for user
only set PRAGMA if value has changed
commit transaction before setting pragma with user warning
show the current PRAGMA value after setting
2013-01-25 14:55:03 +01:00
Martin Kleusberg
68bb8f103a Merge SQLLogDock and MainWindow
Move the SQL log dock into the main window. This means the log dock is
now included in the MainWindow.ui file and its logic in MainWindow,cpp.
2013-01-22 16:03:20 +01:00
Martin Kleusberg
e4e840dc38 Make many methods and attributes of classes private
Make most variables, functions, slots etc. private instead of public.

Also make the constructors explicit.
2013-01-20 16:00:09 +01:00
Martin Kleusberg
e52f268578 MainWindow: Remove copy and paste actions
Remove the copy and paste actions and slots from the main window code.
They have not been working for a very long time and seem to be rather
useless anyway.
2013-01-18 22:12:20 +01:00
Martin Kleusberg
ab2a4e6479 Rewrite EditDialog using Qt Designer
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.
2013-01-09 16:25:45 +01:00
Martin Kleusberg
065cb3682a Rewrite the find dialog using Qt Designer
Create a Qt Designer form file for the find dialog.

Simplify the find dialog code a little bit.

Add a new comparison operator '<>' in the find dialog.
2013-01-09 15:45:24 +01:00
Martin Kleusberg
1c4891ad47 Silence some runtime warnings
Rename all slots starting with "on_" because Qt tries to auto-connect
them to signals of that name. And as those signals do not exist Qt
prints a warning for each of them after every program start.
2013-01-05 16:21:28 +01:00
Martin Kleusberg
88ee12a1ab Delete the DeleteIndexForm
Delete the DeleteIndexForm as it is no longer needed. Since the last
commit an index can be deleted directly via the popup menu.
2013-01-04 17:41:26 +01:00
Martin Kleusberg
41e0a11452 Allow deletion of indices, views and triggers
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.
2013-01-04 17:31:34 +01:00
Martin Kleusberg
130e389bd6 Start simplifying the dialog construction and destruction a bit 2013-01-03 16:06:30 +01:00
Martin Kleusberg
8290a035e8 Add basic and shaky pragma editing
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!
2013-01-03 14:36:28 +01:00
Martin Kleusberg
9b2e8cd5a4 Show those TODO message also when using the toolbar or the popup menu
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.
2013-01-02 23:04:04 +01:00
Martin Kleusberg
0180017dbd Delete the ChooseTableForm and DeleteTableForm dialogs
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.
2013-01-02 20:03:33 +01:00
Martin Kleusberg
eef1c04020 Rename files to match class names 2013-01-02 19:01:47 +01:00