Commit Graph

87 Commits

Author SHA1 Message Date
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
Peinthor Rene 04e08cb6d1 trans: add french translation to build process 2014-09-02 18:18:34 +02:00
Peinthor Rene b2533f70bb qmake: add csvparser 2014-09-02 18:10:26 +02:00
Sergey Muratov 87bda982c1 I18N was improved. Translation GUI to Russian was made. 2014-07-15 22:33:17 +04:00
Martin Kleusberg e7924f3739 Tests: Add unit tests for CSV import
Add a new test class for testing the import functionality. Currently
it's only covers some test cases for the CSV import.

Since the function to test here (DBBrowserDB::decodeCSV) is part of the
DBBrowserDB class, that class has a reference to the main window and the
main window basically depends on the entire rest of the project the
makefile grew quite a bit unfortunately.
2014-07-11 21:31:34 +02:00
Martin Kleusberg ca56fb9f4a Fix project file 2014-05-24 20:19:48 +02:00
Martin Kleusberg c24fa1fcbc Translation: Begin German translation 2014-05-24 20:12:24 +02:00
Martin Kleusberg 08e8597ec8 Subclass QApplication and move most code from main() there
Create a new subclass of the QApplication class and move most of the
code in the main function to the constructor of the new class. This
makes the code a bit more consistent in terms of object orientedness,
makes it a little simpler and allows extending the new Application class
in the future.
2014-05-15 17:52:00 +02:00
Martin Kleusberg 6057edaaf1 qmake: Avoid 'double linking' of qcustomplot library 2014-04-23 20:45:32 +02:00
Martin Kleusberg f451beef0d Update qmake files
As promised, here is me updating the qmake project files in order to
allow building the new version with qmake instead of cmake.
2014-04-20 12:36:21 +02:00
Peinthor Rene 88ccd48173 plotting: add a simple mechanism to visualize data
added a plotting dock, where you can select x and y axis
and it will draw a chart out of it
2014-04-19 22:19:32 +02:00
Martin Kleusberg 0632ecc35f Further simplification of the qmake files
I missed two lines when removing all traces of the version script, so
delete them now.
2014-01-14 21:50:54 +01:00
Martin Kleusberg 3b45f0fe26 Re-introduce basic qmake support
Allow building the project using qmake as discussed on commit
88f66be89e. This lacks the support for generating a dynamic version
number from the Git log though and obviously most of the nice features
of CMake.
2014-01-14 21:36:34 +01:00
Peinthor Rene be1ba804c6 add a version check feature
this is only enabled on windows as there is no package manager handling the versions
and we don't want users to stay on old versions forever
2013-12-02 16:52:48 +01:00
Martin Kleusberg 64a938716f Add custom model for tree view in Database Structure tab
Use a custom model for the tree view in the "Database Structure" tab in
the main window, i.e. change from a QTreeWidget to a QTreeView and do
all the item management stuff manually. This might add some code and
complexity but also offers some more flexibility for us.
2013-07-19 20:36:48 +02:00
Peinthor Rene 26bb0e1adf split unittest class into header and cpp file 2013-07-11 16:12:45 +02:00
Justin Clift 4b45f040ac Convert the embedded tabs to spaces
For the benefit of people who's editors show embedded tabs visually
as errors (like me). :)
2013-06-08 19:54:55 +01:00
Justin Clift c83bf8fcb8 Added include paths for SQLite3 installed using OSX Homebrew 2013-06-08 19:42:05 +01:00
Justin Clift 8db087a8fb Improved resilience when checking for SQLite on OSX 2013-06-08 00:16:04 +01:00
Justin Clift 8d9044500d Update OSX build to use Homebrew compiled libs 2013-06-07 13:05:39 +01:00
Martin Kleusberg 4dfabe4a78 VacuumDialog: Add dialog to allow compacting single objects individually
Add a new dialog which is shown when compacting the database. This
dialog allows selecting single objects individually to avoid vacuuming
the entire database.

It also shows a new warning if the database is dirty as changes are
going to be saved before vacuuming.
2013-05-21 22:32:05 +02:00
Martin Kleusberg e548becda1 SqlExecutionArea: Use Qt Designer for layout design 2013-05-06 18:17:59 +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
Peinthor Rene a1d4b6a38e belongs to previous commit, my --amend failed 2013-04-20 17:25:53 +02:00
Peinthor Rene 6075f1d464 set lib paths correctly for windows 2013-04-20 17:23:42 +02:00
Martin Kleusberg e871ecc777 Add antlr directory to linker path to fix a linker error 2013-04-19 16:21:15 +02:00
Peinthor Rene 441d4e79b7 improve the way the git hash is included in the binary
should be better for use of ccache and so on
2013-04-19 11:54:25 +02:00
Peinthor Rene e3d20ee434 cleanup and improve qmake build files 2013-04-19 06:30:06 +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
Peinthor Rene 93cce3d87f first working prototype 2013-04-06 12:22:50 +02:00
Justin Clift 2bdae0caa4 Compile for current arch only, don't force x86. 2013-03-31 15:23:38 +01:00
Peinthor Rene a258b66f1d don't build ppc versions anymore by default on mac 2013-03-31 00:16:49 +01:00
unknown d2c0452e2c fix the windows build 2013-03-24 23:40:13 +02: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
Peinthor Rene 5289adaab8 Remove the editfield dialog and the edit options outside of edittable dialog 2013-03-19 17:18:52 +01:00
Martin Kleusberg 0cf9ecd158 Add the QHexEdit widget
Add the QHexEdit widget as some sort of library. Feel free to improve
the project files - I won't, every build system ever made is just
horrible.
2013-03-16 23:36:36 +01:00
Peinthor Rene 5737925079 Add a sqlite3 antlr2 "create table" grammar + generated parser files
There is also a "create table" ast walker which fills
info for the new sqlitetype objects.
A dependency to the antlr2 runtime was added.
The grammar most probably still contain bugs.
Why all this?
First writing grammars is fun and this is the only way
we can get all information for proper table editing + some time
in the future when the grammar is finished we can provide real
auto completion.
2013-03-16 20:18:57 +01:00
Martin Kleusberg d9cd62ba49 Implement an extended table widget to add proper copy to clipboard support
Extend the standard table widget class to make it possible to copy
multiple cells to the clipboard.
2013-03-16 18:31:12 +01:00
Peinthor Rene 9394caffa9 add classes for a new sqlite field and table objects
plus a unittest build mode
2013-02-28 17:15:03 +01:00
Peinthor Rene ba34c1e986 add basic autocompletion for tables and fields to the sql text input
this does only work on full table names, NOT on aliases
for a full auto completion to work we need a sqlite parser
2013-02-14 17:32:54 +01:00