Commit Graph

1629 Commits

Author SHA1 Message Date
Martin Kleusberg
ce1efcf645 dbhub: Update CA certificates 2016-11-01 20:03:14 +01:00
Martin Kleusberg
6283f97598 dbhub: Add list of CA certificates and restructure code
Change the layout of the preferences dialog a bit.

Remove the server selection combo box from the preferences dialog as it
will probably never be required. The way we do logins using certificates
kind of makes this obsolete, I think.

Restructure the whole remote code a little bit. Also add helper
functions here and there.

Show a list of our the CA certificates built into the application in the
preferences dialog. This list is read only of course but still
informative as it tells the user which sites are supported ny DB4S.
2016-11-01 19:45:42 +01:00
Martin Kleusberg
e9894b47fa grammar: Add support for row values
SQLite version 3.15.0 introduced a new feature called row values. These
are basically vectors of values that can be used to simplify some
expressions.

For example instead of this
CREATE TABLE x(a int, b int, c int, CHECK(a=1 and b=2));
you could write this:
CREATE TABLE x(a int, b int, c int, CHECK((a,b) = (1,2)));

However, the new syntax wasn't supported by our grammar parser which
made it impossible to access or edit that table. This commit attempts to
fix this.
2016-10-30 21:50:30 +01:00
Vladislav Tronko
9afa8d2ace Use platform-wise line-endings in export CSV dialog (issue #842)
For Windows platform we use '\r\n', for other platforms default value is
set to '\n'
2016-10-30 15:08:19 +02:00
Martin Kleusberg
19d45bfc54 dbhub: Ignore errors about self signed certificates in a chain
Previously we'd only ignore errors about a single self signed
certificate but apparently it's an entirely different matter to Qt or
OpenSSL if we're talking about a self signed certificate in a
certificate chain.
2016-10-26 23:56:32 +02:00
bss, shaoshi
e12022432f keep user_version when Set Encryption (#846)
Set user_version of the new db to current user_version.
Otherwise user_version would be set to 0.
2016-10-26 23:40:51 +02:00
Martin Kleusberg
ae31dc82b8 dbhub: Support CA certificate chains 2016-10-26 23:07:31 +02:00
Martin Kleusberg
08e7f575ee dbhub: Fix weird progress bar behaviour 2016-10-25 20:54:42 +02:00
Martin Kleusberg
c2a9608c80 dbhub: Add basic HTTPS support
This adds basic support for fetching databases via HTTPS using client
certificates. You can include CA certificates to verify any responses
from a server. For now, one test CA certificate is included but it's
easy to add more.

It's also possible to authentify the client using a client certificate,
a client key and a password. As of this commit all three items are
hardcoded.

It's still possible to access any remote database via HTTP but if a
request URL starts with 'https' this new mechanism will be used.

All certificates, keys, and password included in here are taken from my
node.js test server repository. They will be replaced soon-ish.
2016-10-25 20:42:31 +02:00
Martin Kleusberg
fad7246400 dbhub: Show download progress and allow canceling downloads 2016-10-24 23:56:36 +02:00
Martin Kleusberg
4d26624bda dbhub: Add very basic support for opening remote files
This adds some initial support for opening remote files. You can enter a
URL and DB4S will try to download the file. When successful you'll be
able to specify a place and name to save the file under, and after
saving it locally to disk it'll be opened just like any local database
file.

See the included TODO comments for missing features. Most notably
missing is the HTTPS and certificate handling code. Also any support
for storing the remote source of a database is lacking.
2016-10-24 22:49:32 +02:00
Justin Clift
31dffa6afc Updated nightly build URLs to HTTPS 2016-10-20 21:04:37 +01:00
bss, shaoshi
ea9d22ead8 Fix Chinese translation (#843) 2016-10-20 16:50:38 +01:00
bss, shaoshi
44bb1d8ade Update Simplified Chinese translation (#840) 2016-10-19 22:22:07 +01:00
Martin Kleusberg
85934dee77 Simplify code
This simplifies some of the super long iterator declarations by using
the auto keyword from C++11.
2016-10-18 20:07:48 +02:00
Martin Kleusberg
aa965ff725 Fix last commit
Also drop more Qt4 code in order to achieve this.
2016-10-18 18:33:59 +02:00
Martin Kleusberg
b9e4433318 Drop Qt4 support
This commit removes all code and configuration that was required for
building with Qt4. Hopefully noone really needs it anymore.

See issue #603.
2016-10-18 18:07:38 +02:00
Martin Kleusberg
1ced897793 Switch to using C++11 and Qt5 (#808)
* grammar: Simplify code thanks to C++11 being there

* Use lambdas instead verbose slots for duplicating record

* travis: Use Qt5
2016-10-18 17:31:20 +02:00
Justin Clift
65a2c24afc Wording tweak 2016-10-17 06:18:32 +01:00
Justin Clift
000af85547 Updated README.md for new Windows nightly builds 2016-10-17 06:09:59 +01:00
Justin Clift
b1b9f61d30 Updated project name for Windows nightly builds 2016-10-17 00:52:48 +01:00
Vlad
312c29b238 Fix cells copying (#825)
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)
2016-10-15 18:15:04 +03:00
Martin Kleusberg
9c5c2f7f36 Clean up CMakeLists.txt file for the unit tests 2016-10-14 13:38:13 +02:00
Martin Kleusberg
d5c6b7bb0e Remember plot settings for each table (#819)
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.
2016-10-14 13:24:06 +02:00
Vlad
c25119ed4e Add unit test for regex parsing comments in SQL query (#826) 2016-10-14 13:23:27 +02:00
Martin Kleusberg
1592b7d2c3 When fetching all table data show a progress dialog
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.
2016-10-13 23:07:36 +02:00
Martin Kleusberg
7570a0092d plot: Allow plotting of column when there is a NULL value in it
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.
2016-10-13 21:55:21 +02:00
Justin Clift
980429debd Change the default editor font size on OSX to 12pt
For #818
2016-10-13 12:47:53 +01:00
Martin Kleusberg
627ed4c56b Fix renaming of table columns when there are foreign keys constraints
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.
2016-10-13 13:35:54 +02:00
Martin Kleusberg
8a9a5d27de Play around with Travis 2016-10-13 13:16:16 +02:00
Martin Kleusberg
c40615c16c Fix altering tables with multiple indices
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.
2016-10-13 13:00:35 +02:00
Martin Kleusberg
8f77634a0a Fix escaping of Execute SQL results
Fix the HTML escaping of the success/error messages at the bottom of the
Execute SQL tab. This also simplifies the code a bit.

See issue #823.
2016-10-13 12:39:10 +02:00
Martin Kleusberg
da7f472864 Make shortcut for 'reload' dependent on currently active tab
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.
2016-10-13 12:22:54 +02:00
Martin Kleusberg
e76e5b3241 Improve error handling when saving
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.
2016-10-13 00:08:48 +02:00
Martin Kleusberg
2563d67868 Fix cmake file 2016-10-12 23:26:56 +02:00
Martin Kleusberg
34246120d8 Simplify code 2016-10-12 22:12:49 +02:00
Iulian Onofrei
a4f44d8f19 Fix multiple commented out lines not being ignored (#811)
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.
2016-10-11 22:11:39 +03:00
Iulian Onofrei
90f98f311e Add system version requirement in Issue template 2016-10-10 12:09:57 +03:00
Iulian Onofrei
175a162d1a Clear Browse Data paging label on database close
Before this, only the start index was being reset to 0, now it resets
all the indexes to 0 after closing a database.

This fixes #809
2016-10-09 03:21:52 +03:00
Martin Kleusberg
7b86b17788 Fix a couple of memory leaks 2016-10-08 23:50:53 +02:00
Justin Clift
2a097a639a Add a comment about the ScrollPerItem default, as it was tricky to debug 2016-10-08 22:42:28 +01:00
Iulian Onofrei
e5bca9d2db Fix incorrect scrollbar size on macOS with Qt5 (#810)
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.
2016-10-08 22:40:19 +01:00
ilovezfs
969e263e5b Xcode 8 fix for QScintilla2 2016-10-07 12:10:55 +01:00
Iulian Onofrei
2bdd71a78b Fix uninitialized value memory error (#793)
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.
2016-10-04 16:04:17 +01:00
Justin Clift
9d6713c5ad Updated currentrelease to 3.9.1 2016-10-03 02:38:35 +01:00
Justin Clift
722cecaa69 Updated issue reporting template for 3.9.1 2016-10-03 01:25:04 +01:00
Justin Clift
bd92a5bb95 Updated README.md with 3.9.1 release date 2016-10-03 01:17:01 +01:00
Oleg V. Polivets
842a634be5 RID: AboutDialog WindowContextHelpButtonHint window flag (#796) 2016-10-02 17:13:55 +01:00
Oleg V. Polivets
d1f93d96f9 UPDATE Russian translation (#795) 2016-10-01 22:14:33 +01:00
Iulian Onofrei
b59aeecdd9 Merge branch 'master' of https://github.com/sqlitebrowser/sqlitebrowser 2016-10-01 21:58:31 +03:00