Commit Graph

127 Commits

Author SHA1 Message Date
Justin Clift
d17b5454a1 Qmake now installs icon and metadata on *nix 2017-05-14 18:12:31 +01:00
Martin Kleusberg
f07548dfb2 build: Add make install rule to qmake project file
See issue #833.
2017-05-08 13:51:40 +02:00
Martin Kleusberg
0c8cb4ec1d Revert "Move fetching data for data browsing to a separate thread"
This reverts commit 6da71b6788.

This was causing just too many problems for one. The ones I noticed
were:
- Messing up the table view when scrolling down very large table where
the prefetching code is triggered.
- Crashing when setting an auto increment PK in the Edit Table dialog
because the sqlitetablemodel is used for a check in there.
- Probably more crashed in other places but for the same reason.
- Easy to fix but an issue nonetheless: when doing plotting a number of
empty rows would be inserted into the data browser.
- It just feels a little laggy.
2017-05-05 15:08:51 +02:00
Martin Kleusberg
6da71b6788 Move fetching data for data browsing to a separate thread
This moves the data fetching code into a separate thread for
asynchronous execution. The Browse Data and the Execute SQL tabs are
affected by this.

Note that this is a somewhat naive implementation that is meant for some
first testing.
2017-05-04 18:58:38 +02:00
Martin Kleusberg
1eece9ef06 tests: Add regex test files to qmake project file 2017-04-29 13:50:57 +02:00
Андрій Кондратьєв
dd685afef1 Ukrainian translation 2017-04-06 19:19:44 +01:00
Martin Kleusberg
3e4f3fc3d2 dbhub: Add remote dock with directory browsing support
This adds a new dock to the main window that contains all the remote
functionality (or is supposed to contain it all in the future).

It also adds a directory browsing feature which allows you to browse
through the folders and files on the dbhub server.

By double clicking a database you can download and open it. The Open
Remote menu action isn't needed anymore and has been removed.

This also fixes an issue with pushing databases where, after sending the
file is completed, the save dialog was opened.

Note that this is still WIP and is far from polished.
2017-03-18 20:40:59 +01:00
Martin Kleusberg
2c7f32c699 Rename Create Index dialog to Edit Index dialog
Just like the Edit Table dialog, this dialog handles both creating and
editing. For consistency's sake this dialog is therefore renamed to Edit
Index dialog.
2017-01-20 12:35:07 +01:00
Martin Kleusberg
45580865d3 Merge branch 'plotrefactoring' 2017-01-16 12:46:52 +01:00
Martin Kleusberg
a6f2a7d9a0 Move plot code into a separate set of files
This cleans up the main window class a bit which was getting quite large
and a bit harder to maintain than necessary.

This commit also includes two minor fixes to the plot system:
- The plot widgets are now disabled when no database file is opened.
- The progress bar shown when fetching all data is now initialised with
the correct row numbers.

Other than that this commit should in theory not change any
functionality.
2017-01-13 18:00:39 +01:00
Vladislav Tronko
4f7473fbed Enhanced UI for creating and editing foreign keys 2017-01-13 12:59:31 +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
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
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
5dddffd7a0 travis: Fix building 2016-09-06 17:07:06 +02:00
Martin Kleusberg
affacf08bd Test adding C++11 code 2016-09-06 16:19:10 +02:00
Vladislav Tronko
3a06395f88 Divide PreferencesDialog in two classes
This forces PreferencesDialog to serve only for UI needs.
Plus, this opens the door for adding another class for shortcut
management without pain.
2016-09-03 22:30:55 +03:00
Martin Kleusberg
a1e08b37c9 Rename ExportCsvDialog to ExportData dialog
Sorry for the big change but I think it's preferable to not call it CSV
dialog when it's not just doing CSV.
2016-08-25 23:12:36 +02:00
Justin Clift
c6121c8d64 Renamed Arabic language file for now, so flag icon shows on windows
(cherry picked from commit ac0b8b9a4f)
2016-08-14 15:34:47 +01:00
M. Hasbini
2a1441a4aa Update src.pro 2016-07-11 03:12:35 +03:00
Justin Clift
cfdb48cec0 Initial qmake changes for OSX sqlcipher/sqlite switching 2016-05-24 15:15:21 +01:00
Justin Clift
3d6f318618 Adjust the application name on Windows & OSX 2016-05-17 18:35:06 +01:00
Justin Clift
159cc27e56 Move the new Win32 SQLite variable paths to the existing Win32 scope 2016-05-02 14:10:18 +01:00
Justin Clift
46536d2893 Added comment for the new SQLite paths in src.pro 2016-05-02 12:54:00 +01:00
Justin Clift
5d98a19901 Add SQLite source & library paths for Qt Creator 3.6.1 on Windows 2016-05-01 17:14:47 +01:00
lulol
0b8c5d8c8d Added spanish translation and flag (#560)
* First spanish translation

* Added flag of Spain

* Enable build of spanish translation

* Enable build of spanish translation 2nd

* Enable build of spanish flag

* Enable build of spanish translation 3rd

* Enable build of spanish translation fix 4rd

* Enable build of spanish translation fix 5th

* Enable build of spanish translation - travis hiccup
2016-04-11 14:27:48 +01:00
Firat Eski
f33a988530 Turkish translation 2016-03-20 18:25:13 +00:00
Gihun Ham
c2f78b682c Korean translation
Includes the updated CMakeList for Korean ts file
2016-01-03 14:59:13 +00: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
Peter Dave Hello
9280511f84 Traditional Chinese (zh_TW) l10n 2015-10-07 18:07:58 +08: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
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
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
Geoff Lawrence
700741af71 Added English (United Kingdom) translation
Not a huge change from the default US English but also added the flag.
This was done to document the process for the wiki!
2015-06-13 15:15:01 +01:00
Peinthor Rene
4223d5d5da gen_version.h is no longer generated so rename it to version.h 2015-05-23 10:27:15 +02:00
schdub
b0abd07d01 preparation to Brazilian Portuguese translation 2015-05-20 01:09:57 +03:00
schdub
f251d11ccb fix: translations are not being installed via make install 2015-05-12 22:15:10 +03:00
Martin Kleusberg
861ecec527 Add option to remember last location for file dialogs
Add an option to remember the location of the last opened or saved file
and use it as the default location for the next file dialog because
always going back to the default location set in the preferences dialog
can be a real hastle.

See issues #224, #276 and #281.
2015-05-03 13:22:13 +02:00
Martin Kleusberg
e8328aa5a2 qmake: Enable version checking for Windows 2015-04-27 14:59:46 +02:00
Martin Kleusberg
cde2393539 Use QScintilla instead of own implementation of a code editor
This is a first rough implementation of QScintilla support as SQL text
editor.

It should work mostly and build fine with qmake as well as cmake. The
new code supports all the features of the old one plus adding a few
subtle improvements. The main point of this, however, is reducing the
code we have to maintain and making it easier to add new features to the
editor.
2015-04-23 19:51:54 +02:00
jsbot
073cf64a9d exportsql: issue #242 2015-04-11 23:54:05 +03:00
Samir Aguiar
d959080f33 unittests: Adding qtestlib to CONFIG is deprecated in Qt5+ 2015-03-20 23:27:22 +01:00
Samir Aguiar
a5d6e6df7a preferencesdialog: Add country flag to language combo box
See issue #182.
2015-02-13 23:49:33 +01:00
Samir Aguiar
eb1a32ef24 localization: Rename Chinese translation file to match locale
This allows the file to be included in the language box
(Qt wasn't recognizing the "cn" suffix as a valid locale).
2015-01-21 23:06:02 +01:00
Samir Aguiar
db7fdc2a04 qmake: Add compatibility with shadow build
See issue #175.
2015-01-07 19:15:35 +01:00
Elbert Pol
5879553c5f Added icon for IBM OS/2 2014-12-05 09:20:29 +00:00
Martin Kleusberg
167d8cbd74 cipher: Fix build option and use a dialog for entering the password
Fix the sqlcipher build option in the qmake project to actually enable
the SQLCipher support.

Add a new dialog called CipherDialog which is used to ask the user for
the password and other encryption details instead of using standard Qt
input dialogs.
2014-11-02 13:12:31 +01:00
Martin Kleusberg
9ba36d02b2 Add initial SQLCipher support
Add some basic initial support for SQLCipher. Note that this is more of
a POC than a final implementation.

This commit adds an option called 'sqlcipher' to the cmake and qmake
projects which - when enabled - replaces the default SQLite3 include and
library files by their SQLCipher counter-parts. Especially on MacOS X
there might be some more work required in finding the correct include
paths. The SQLCipher library supports unencrypted databases, too, so
even if the option is enabled the program behaves like before. You can
see the difference, though, in the About Dialog where the SQLite version
string will say 'SQLCipher version xy'.

When the sqlcipher option is enabled and you try to open a file which is
neither a project file nor a normal SQLite3 database it is assumed now
that the file is an encypted database. There is no way to tell between
an invalid file and an encypted file, so in both cases a password dialog
pops up. When the correct password and page size are entered the file is
opened and can be edited like any other database before.

Creating encrypted databases isn't supported yet. So for testing you
need to fall back to the sqlcipher command line tool.

See issue #12.
2014-11-01 12:56:53 +01:00
Martin Kleusberg
722bf3797f i18n: Add Chinese translation to project files 2014-10-29 19:46:29 +01:00
Martin Kleusberg
847ad46424 Enable version check for MacOS X 2014-09-16 20:04:46 +02:00