Commit Graph

899 Commits

Author SHA1 Message Date
Martin Kleusberg
0fed833e55 Move a connect in SqlTextEdit to avoid unnecessary slot calls
Move the connect for updating the line number area width from the reload
settings method to the constructor to make sure it's only called once.
Otherwise there would be more and more unnecessary connections made
whenever the settings are reloaded.
2015-12-22 18:19:55 +01:00
Martin Kleusberg
3376bd9353 Add option to execute arbitrary SQL when loading any database
This adds an option to execute arbitrary SQL statements whenever a
database is opened or created.

See issue #451 for a possible use case.
2015-12-22 17:49:51 +01:00
Martin Kleusberg
63c08d027d EditDialog: Reset values when pressing escape in dock mode
See #441.
2015-12-22 15:09:33 +01:00
Martin Kleusberg
540b12a57a EditDialog: Allow opening dialog/updating dock in read-only mode for views
See #441.
2015-12-21 11:22:43 +01:00
Martin Kleusberg
f84305ccbb Tidy up generated SQL statements when filtering 2015-12-21 01:44:39 +01:00
Martin Kleusberg
b9bef48b0e Fix bug in the filter bar
See the comment in the code for more details.
2015-12-21 01:38:24 +01:00
Martin Kleusberg
d923c5dfe7 Add keyboard shortcuts for recently opened files actions
See issue #432.
2015-12-21 01:08:40 +01:00
Martin Kleusberg
0e17990583 EditDialog: Better behaviour when pressing escape key in dock mode
See issue #441.
2015-12-20 12:15:13 +01:00
Martin Kleusberg
9582786237 Add dropping of URLs and text on the data browser view
See issue #441.
2015-12-19 19:02:38 +01:00
Martin Kleusberg
672b6f693b EditDialog: Make edit dock more keyboard friendly to use
See #440, #441.
2015-12-19 14:05:45 +01:00
Martin Kleusberg
f26df79961 Add edit cell dock to main window
Add a new option for replacing the edit data dialog by an edit data dock
widget which is added to the main window and remains visible. This might
be interesting for people who otherwise would have to open the edit
dialog many times by doing tons of double clicks.
2015-12-15 22:29:15 +01:00
Martin Kleusberg
e74645bb1f Browse Data: Add keyboard shortcuts for deleting value
Add keyboard shortcut for setting the values of the selected cells to
empty string (Delete key) or to NULL (Alt+Delete).

See issue #443.
2015-12-14 21:53:12 +01:00
Martin Kleusberg
258938a799 Don't create savepoint when releasing all savepoints
See issue #447.
2015-12-14 21:31:05 +01:00
Peinthor Rene
03497dd304 Merge pull request #444 from manisandro/signal_loop
Fix stack overflow due to signal infinite loop
2015-11-18 08:48:52 +01:00
Sandro Mani
29800310c7 Fix stack overflow due to signal infinite loop 2015-11-17 18:07:58 +01:00
Martin Kleusberg
159605e2f8 Automatically add % wildcards to filter queries
Automatically add a % wildcard to the beginning and the end of a filter
query if the user hasn't typed in any wildcards by their own.

See issue #415.
2015-10-15 22:07:14 +02:00
Martin Kleusberg
71b7806f03 Delay applying a changed filter value
When changing a filter value delay the application of the new value on
the table for a couple of milliseconds. This makes the filter process
much smoother for fast typing users working on large tables.

See issue #415.
2015-10-15 11:42:59 +02:00
GeorgijK
9d7efcacfa Fixed bug issue #390 ("crash then correct table").
Some functions renamed for better readability.

See pull request #401.
2015-10-14 22:22:07 +02:00
Peter Dave Hello
9280511f84 Traditional Chinese (zh_TW) l10n 2015-10-07 18:07:58 +08:00
Martin Kleusberg
1ea45a54d6 Allow escaping of filter wildcard characters
See issue #421.
2015-10-05 19:57:44 +02:00
Martin Kleusberg
afb14a6f27 Fix Qt4 build 2015-09-15 11:07:23 +02:00
Martin Kleusberg
c78c466598 Add option for changing encoding for all tables in Browse Data tab
Add a new menu option to the Browse Data tab for changing the encoding
of all tables instead of just the one table.

Also check if the encoding the user typed in exists before trying to use
it to prevent a crash when an invalid encoding is used.

See issue #414.
2015-09-15 10:58:37 +02:00
Martin Kleusberg
eaf6ff1565 Support text in different encoding in Browse Data tab
When browsing and editing a table in the Browse Data tab allow the user
to change the assumed encoding of the text in the table. We'll then try
to convert from this encoding to Unicode for display purposes and to
convert from Unicode to this encoding for editing purposes. This way the
UI and all tools will keep using Unicode while the database format is
still respected. I hope the amount conversions generated this way won't
affect the performance too much.

See issue #414.
2015-09-15 00:14:55 +02:00
Martin Kleusberg
1ebecbbc9d Add option for showing the rowid column
See issue #408.

This isn't working reliably yet on my system: If you enable the fix
restoring the previous settings when going back to a table doesn't work
and if you disable it that very way is the only way to change the
option. Don't know what's going on there :(
2015-09-11 13:30:24 +02:00
Martin Kleusberg
90bb4891b9 Support read only opening of database files
When opening a read only database file show a 'Read only' note in the
status bar of the main window and disable all editing buttons in the UI.

See issue #402.
2015-08-25 19:28:40 +02:00
Martin Kleusberg
a8c52eba12 Make Data Browser font and font size configurable
See issue #383.

Also delete the custom styling sheets for the Data Browser tab in the
Preferences Dialog - no need to have these group boxes look differently
from all the others.
2015-08-23 18:19:19 +02:00
Martin Kleusberg
e833e49130 EditDialog: Fix window positioning
The old code somehow stopped working for me...
2015-08-23 18:19:19 +02:00
Martin Kleusberg
1788678732 EditDialog: Set position to center of parent dialog when opening dialog
See issues #342 and #394.
2015-08-18 23:12:48 +02:00
Martin Kleusberg
dce47b3404 grammar: Correctly parse double quotes as a means of escaping
This should parse the table and column names correctly by removing any
double quote characters and replacing them by a single one.

See issue #387.
2015-08-18 22:54:16 +02:00
Martin Kleusberg
631979c330 Improve escpaing support
When generating SQL statements properly escape all identifiers, even
those containing backticks which apparently are allowed inside
identifiers in SQLite.

See issue #387.
2015-08-17 00:17:48 +02:00
Martin Kleusberg
160bc87d3c grammar: Support escaping backticks using double backticks
This adds support for escaping backticks inside an identifier using
backticks as quote characters by adding a second backtick following the
first one (e.g. `test``test`  => 'test`test').
2015-08-17 00:16:03 +02:00
Martin Kleusberg
282c439228 Try to fix a compiler warning on MacOS X
See issue #386.
2015-08-06 15:14:43 +02:00
Martin Kleusberg
8e4371c1d9 MainWindow: Add extra shortcut for Browse Data refresh button
See issue #388.
2015-08-06 15:01:49 +02:00
Martin Kleusberg
ce40d555f1 Fix error message when renaming/moving/modifying column
When modifying a column e.g. renaming it there was a case where an error
message would be shown because of invalid SAVEPOINT handling. Try to fix
this issue by not creating a SAVEPOINT for creating a SAVEPOINT.

This should fix issue #390.
2015-08-06 14:37:12 +02:00
Sebastian Philipp
6388ac81ba add UTF16 and UTF16CI collation
UTF16 = Case sensitive compare
UTF16CI = Case insensitive compare

comparison is performed by QString functions
2015-07-28 10:51:16 +02:00
Justin Clift
a9670fb6ca Merge pull request #384 from jehoffmann/master
Fix sqlcipher and OSX 10.10 build.
2015-07-16 23:00:27 +01:00
Martin Kleusberg
82292c221b Add 'x rows affected' part to the Execute Query results
See issue #114.
2015-07-16 20:02:49 +02:00
Jens Hoffmann
3f4ba5982f Fix sqlcipher and OSX 10.10 build.
Building under Mac OS X 10.10 was broken using latest QT SDK. Add
missing macextras and fix INCLUDEPATH for mac.
2015-07-15 00:57:59 +02:00
Martin Kleusberg
86fb1758de Optimise success message in Execute SQL tab
Change the success message for SELECT statement so that the amount of
time taken comes before the SQL statement itself because the time is a
new information whereas the statement is just a repitition for the user.

See issue #381.
2015-07-09 10:57:04 +02:00
Martin Kleusberg
41b337c533 Put error pane under result view when horizontal tiling is enabled
See issue #380.
2015-07-09 10:53:38 +02:00
Martin Kleusberg
c235379523 Add option for horizontal tiling between code editor and result view
Add a new option to the Preferences Dialog which activates horizontal
tiling between the SQL code editor and the result view in the Execute
SQL tab, i.e. the two widgets are shown side by side instead of one over
the other.

See issue #380.
2015-07-08 21:48:14 +02:00
Martin Kleusberg
6806a9b312 Fix splitter between code editor and result view in Execute SQL tab
There was a supposed to be a splitter between the SQL code editor widget
and the result table view widget in the SQL execution areas in the
Execute SQL tab. A splitter like this allows resizing the widgets around
it. Apparently this was broken some time ago (probably by me) and is
fixed by this commit.

See #380 which is partially fixed by this.
2015-07-08 21:35:18 +02:00
Martin Kleusberg
16f037a0ed Remove deleted files from recently opened files list
See #379.
2015-07-08 21:29:12 +02:00
Martin Kleusberg
743bdf9941 Fix a few warnings 2015-07-06 22:48:18 +02:00
Martin Kleusberg
90f651d548 displayformats: Semi-fix filters
Fix the filters. For columns with a display format set they always
perform string comparisons but this is probably just something you have
to live with...
2015-07-06 20:48:33 +02:00
Martin Kleusberg
22e858d1f4 displayformats: Support more formats 2015-07-06 19:16:18 +02:00
Martin Kleusberg
0ca3319cb2 Fix Qt4 build 2015-07-06 19:02:33 +02:00
Martin Kleusberg
7c1d237d9b Support alternative display formats in the Browse Data tab
This is a proof-of-concept or even a basic first implementation of a new
feature I'd like to have in DB4S which at the moment I call display
formats.

The idea here is to allow the user to change the data in the Browse Data
tab on a per column basis before displaying it. This means even though
the data is stored in format X in the database it can be shown in format
Y in the browser. This should be useful in cases where the original
format X is hard to read or just not useful in a particular case.

This first implementation allows the user to right click on the header
of a column and open a new dialog for setting the display format which
offers a (limited) list of pre-defined formats. The selected format is
then integrated into the SELECT statement which is sent to SQLite.

While it works, this draft implementation lacks a number of features.
Here are the most prominent ones I'm currently aware of:
* Data not editable (or only via the Edit Dialog) because it isn't
  transformed back yet.
* More display formats needed; maybe customizable ones, too.
* No indication in the UI for which columns a format has been set.
* Could _maybe_ be integrated into the import/export etc. for optional
  use.
2015-07-06 18:28:30 +02:00
Martin Kleusberg
944e22a80d Add clear button to filter line edit widgets
When entering some filter value show a clear button in that line edit
widget which when clicked clears the filter value.
2015-07-06 13:52:35 +02:00
Martin Kleusberg
748f06df93 Save filter settings and sort order for each table
When changing the table in the Browse Data tab we used to remember the
column widths for that particular table. When changing the tab and then
coming back or when pressing the refresh button we used to save the
filters (but not for a table change). The sort order wasn't remembered
at all. I think this behaviour doesn't make any sense.

With this patch we remember column widths, sort order and filter values
for each table individually and restore it when the user switches back to
the table. All the settings are handled the same way and as much
information as possible is stored. It gets also saved in our project
file format.
2015-07-04 23:12:30 +02:00