With this commit, we start to handle empty and NULL single cell
selections in a special way. Well, there's nothing special about it.
We just push them to inner buffer and clear outer clipboard. That's it.
NB: possible side effect might appear if you copy empty value,
then select some text and paste your empty value here. Nothing will
happen with text though, because, well, we wiped clipboard.
Plus, it fixes single-cell multiline text copy-pasting (#541)
Store and restore the plot settings for each table - just like the
filter values or the column widths. This way you can have multiple
plots, one for each table.
Also, save these settings in the project files.
Fetching all table data using the button in the plot area might take a
long time. This commit adds a progress dialog which is displayed while
loading all the data.
See issue #499.
This enables plotting even for those columns which contain NULL values.
To distinguish NULL from a numeric 0 there is nothing drawn for NULL
values, i.e. there is a gap in the graph.
See issue #822.
When editing a table (e.g. renaming a column) and there is another table
referencing the edited table in a foreign key, this could cause problems
when foreign key enforcement is enabled. We tried to circumnavigate
these issues by temporarily disabling foreign keys but that wouldn't
work. This commit tries to implement a better way of achieving the same
goal.
This hopefully prevents an error message from appearing when trying to
edit a table with multiple indices referring to it. While restoring
these indices the SQL commands wouldn't be separated by semicolons and
that might have caused problems.
Also trim the SQL commands to remove any excessive whitespace that might
be in them.
See issue #771.
Make the reload shortcut (at the moment F5 and Ctrl+R) dependent on the
currently active tab. This way it always performs some meaningful task,
depending on the current context.
See issue #759.
Report any errors that might occur while saving changes to the database
to the user. Also warn the user that this means the database wasn't
saved entirely.
See issue #770.
This was supposed to be fixed by 842aec8, but it wasn't. It now removes
everything that starts with two consecutive dashes, up until the end of
the respective line.
Building the project with Qt5 on macOS and browsing a huge table, the
scrollbar height was smaller than necessary. Scrolling to the end, some
rows were not showing up.
This was caused by the default vertical scroll mode, which is set to
ScrollPerPixel on macOS, and ScrollPerItem on other systems.
While profiling using Valgrind, two uninitialized value errors popped up,
because the dataSource iVar was used in the if check from the editTextChanged
function before initializing it. This commit moves the dataSource
initializations before any other calls.
Previously, it was running the query at the current cursor position, but that
proved to be confusing. Now, it runs the SQL that contains the start of the
current line. So having:
SELECT * FROM table1;
SELECT * FROM table2;
and the cursor either before the first semicolon, either after it, the first
SQL will be run, and not the second one as before.
If the last character was a semicolon and the cursor was placed after
it, the Execute current line action didn't execute anything. It now
execute the last SQL found