Commit Graph

546 Commits

Author SHA1 Message Date
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
6ba0cd76c0 Open database correctly when importing into a new file
When doing a SQL import into a new database file open this file
correctly after the import.
2013-05-10 13:29:49 +02:00
Martin Kleusberg
11a2d321d8 Don't set dirty flag after SQL import to new DB file
When creating a new database to import a SQL file into don't set the
dirty flag.
2013-05-10 13:21:52 +02:00
Martin Kleusberg
729773d345 Fix SQL import file name logic
Don't ask the user wether to create a new DB or use the current one if
no database is opened anyway.

Don't start the import when the save dialog was cancelled.
2013-05-10 13:15:06 +02:00
Martin Kleusberg
cf0a0339eb MainWindow: Replace icon for the SQL log window
Replace the icon used in the action for toggling the SQL log
dock/window.
You might need to delete your makefiles before building this.
2013-05-09 18:34:33 +02:00
Martin Kleusberg
5b9d5cc40b Remove some debug messages. Change some error messages..
Remove some useless debug messages, e.g. because they just print an SQL
string which you can see in the SQL log window anyway.

Change some "critical" errors messages to just warning. No sense in
printing a critical error message when the program can handle the
problem by itself.
2013-05-08 22:03:04 +02:00
Martin Kleusberg
cf72bfbb1c MainWindow: Improve SQL tab behaviour
Don't allow opening and saving when no database file is opened.

Close all tabs when the database is closed.
2013-05-08 21:50:35 +02:00
Martin Kleusberg
f3f340f83e Add single step execution to the SQL tab
Add a new action to allow the execution of the SQL statement in the
current line. This also supports multi-line SQL statement.
2013-05-08 21:44:08 +02:00
Martin Kleusberg
ea31c8023b SqliteTableModel: Don't show binary data in table widgets
Don't show BLOBs as binary data in table widgets, instead put a "BLOB"
text in that cell.

Also make BLOBs not editable unless you use the edit dialog.
2013-05-07 20:47:16 +02:00
Martin Kleusberg
09afe637c6 MainWindow: Don't open new SQL tab when the current one is empty
When opening an SQL file don't open a new tab for it when the current
one is completely empty and could be used just as well.
2013-05-07 20:33:04 +02:00
Martin Kleusberg
61ee8b4871 MainWindow: Fix menu entry for log dock widget
Simplify the log window handling a little bit.

Fix a bug that caused the log window to disappear when the window was
minimised.
2013-05-06 19:11:06 +02:00
Martin Kleusberg
9536e7a095 SqlExecutionArea: Support exporting result to CSV file
Add a button which allows the user to save the query results to a CSV
file.

Add some basic preparations for saving the result as a view.
2013-05-06 18:44:58 +02:00
Martin Kleusberg
65b1adf845 Also load extensions when creating a new database
Also load the default extensions when creating a new database.

When opening a database load the extensions before reading the structure
and the pragmas because the extensions could affect those.
2013-05-04 21:27:36 +02:00
Martin Kleusberg
33d3dcdc16 Fix extension loading 2013-05-03 16:11:35 +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
9d8cfaa8cf Remove filter row when closing database file
Remove the filter row in the browse tab when closing the database.
Before this it would remain visible leading to a crash when using it.
2013-05-03 13:20:20 +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
Martin Kleusberg
909d435ec6 Allow inline editing in browse data tab
Make it possible to edit records directly in the table view without
having to open the edit dialog.
2013-05-02 17:36:16 +02:00
Martin Kleusberg
b3465546bb SqliteTableModel: Remove dependency from PreferencesDialog 2013-04-26 13:55:29 +02:00
Martin Kleusberg
b4a64d6208 Clean up SQLiteDB
Much of the code in there is not really needed anymore as quite a bit of
functionality has been moved to the SqliteTableModel.
2013-04-19 19:54:26 +02:00
Martin Kleusberg
17eaed8ebc Remove some TODO notes
Remove two TODO notes as they have been dealt with by now.
2013-04-19 19:40:06 +02:00
Martin Kleusberg
bb59b398fa Update recordset label when changing the filters 2013-04-19 19:39:00 +02:00
Peinthor Rene
a7fd9f600e insert tables/views sorted in browse combobox 2013-04-16 17:24:32 +02:00
Peinthor Rene
a2b3a57ddd use new SqliteTableModel with the executequery tab 2013-04-15 17:46:29 +02:00
Peinthor Rene
ce4a93ea1f set override cursor if selecting a line 2013-04-14 21:41:48 +02:00
Martin Kleusberg
c7e6684fc4 SqliteTableModel: Allow data() and setData() on rows not cached yet 2013-04-11 14:08:59 +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
6742f5632d Add a filter row to the table view in the browse tab
Add a row of line edits between the table header and the actual content
of the table in the browse tab. Show one input widget per table column
in this row.

Add a live search which hides any table rows which do not fit to the
current filter settings.

Why add this to the parital-data-fetch branch? Because this is an
attempt to get rid of the find dialog which is broken again and not even
worth fixing. Also there is not much to break in this branch at the
moment ;)
2013-04-09 18:52:37 +02:00
Martin Kleusberg
13db875acd Clear the table view in the browse tab when closing a database file 2013-04-07 20:55:56 +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
50b160227b only revert if the db wasn't dirty before
otherwise we might have reverted pre execute query transactions
2013-03-28 10:55:09 +01:00
Peinthor Rene
13eba0f5d4 improve the fix on the broken execute query transaction
should now do the same as before, but with working rollback and commit
2013-03-27 22:44:42 +01:00
Peinthor Rene
cea4afcd04 fix broken transaction logic if executing a query 2013-03-27 22:37:28 +01:00
Peinthor Rene
7644364130 partial selects and a hotkey for execute query
show the correct queryPart
also add some thoughts of me
2013-03-27 08:12:56 +01:00
Peinthor Rene
ec650b0024 forgot to update the error message of add record 2013-03-24 21:44:22 +01:00
Peinthor Rene
fdb3e51827 show why we couldn't update the record 2013-03-24 21:36:51 +01:00
Peinthor Rene
7eb385b28d remove the defaultnewdata setting
it is useless now
2013-03-24 21:27:36 +01:00
Peinthor Rene
d7d6a861b2 Rework the kinda broken add record button
Now it should always be possible to add a new record,
no matter how the table is defined or what the new data default is.
The default new data setting will be removed in the next commit.
2013-03-24 21:26:01 +01:00
Martin Kleusberg
0868f299af Rewrite and simplify import SQL code
Rewrite the import SQL code using a similar method to the one used in
executeQuery(). This makes the code much easier to read and removes the
last remnants of that C code stolen from some demo application.
2013-03-20 22:17:36 +01:00
Martin Kleusberg
1eaa112a27 MainWindow: Fix possible endless loop in executeQuery
Don't get into an endless loop when there is a syntax error in the SQL
statement to execute.
2013-03-19 19:46:56 +01:00
Peinthor Rene
e22bfb71e6 cleanup executeQuery and fix a few bugs
Didn't report constraint insert errors
nor any other constraint errors
2013-03-19 17:18:52 +01:00