Commit Graph

310 Commits

Author SHA1 Message Date
Martin Kleusberg
a8af5a7c04 Use static linking for QHexEdit
Compile and link the QHexEdit as a static library.
2013-03-17 12:31:23 +01:00
Martin Kleusberg
42fdbd326c Remove BLOB ToDo from the readme file
The most important commit in this branch...
2013-03-17 02:55:47 +01:00
Martin Kleusberg
b5bade6d52 Allow user to switch between text and hex editor
Allow the user to change between the text editor and the hex editor.

Allow the user to change between insert and overwrite mode in both
editors.

This makes it possible to enter any binary data into an empty cell.
2013-03-17 02:54:07 +01:00
Martin Kleusberg
15f685a1eb Simplify EditDialog code and improve the new multiple editor feature
Remove quite a bit of old code from the EditDialog.

Fix various smaller issues with the multiple editors added in the last
commit.
2013-03-17 02:29:45 +01:00
Martin Kleusberg
b88fd9316e Use different editors in EditDialog depending on the data type
Only show the old text edit widget when there is actually a text to be
edited. If the data is a image file show the image instead of some
random garbage. If it is some other binary data show the hex editor.
2013-03-17 02:11:12 +01:00
Martin Kleusberg
6c8712d804 Change the internal data type for cell contents to a binary type
Store the data of a DB cell in a QByteArray, i.e. a binary data type,
instead of putting it in a QString, thus converting it to a UTF8 string.

Rewrite the reading and writing of DB cells to correctly handle binary
data containing 0x00 bytes.

Change the edit dialog to actually do all the data checks etc. on a
currently invisible QHexEdit widget instead of a QTextEdit.

All these changes combined make it possible to actually store binary
data without it being corrupted. You can for example import pictures
now, export them and actually open the exported file. So this is an
improvement.
2013-03-17 01:38:48 +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
ac9901abc2 the sql text view should be read only 2013-03-16 20:36:30 +01:00
Peinthor Rene
05da4bfe8e Rework the create/modify table dialog.
In the crusade to remove the ugly edit field dialog.
Editing tables does currently not work because of a locking issue.
2013-03-16 20:22:23 +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
Peinthor Rene
56d8103e17 Merge pull request #7 from MKleusberg/improved-copy-paste
Improve the copy to clipboard feature quite a bit
2013-03-16 12:02:27 -07:00
Martin Kleusberg
80e4708fc2 Fix selection of entire columns in browse tab
Fix the selection of entire columns in the browse tab table view. Even
when selecting multiple columns the data would be re-sorted instead of
selected; this is changed now.
2013-03-16 19:35:27 +01:00
Martin Kleusberg
e548224bd9 Add proper copy support to the SQL tab table view widget
Allow copying data from the result table view widget in the SQL tab of
the main window.
2013-03-16 19:24:08 +01:00
Martin Kleusberg
5e8c14e942 Make the QTableWidget a QTableView
Rewrite some code to use a QTableView widget instead of a QTableWidget
in the browse tab of the main window, or more presicely in the new
extended table widget class. This way the widget and the data model are
separated which on the one hand means a bit more work on our side but on
the other hand also gives us a bit more flexibility. And more
importantly at the moment: This means both, the browse tab and the sql
tab, use a table view now - that's going to be helpful for the next
commit...
2013-03-16 19:10:03 +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
1daaac93e5 ignore object files and static libs 2013-03-13 18:11:05 +01:00
Peinthor Rene
94955c1db9 add a function to return the create table statement for a given table 2013-03-13 18:09:40 +01:00
Peinthor Rene
0286520f19 set a restore point if a non SELECT was executed 2013-03-13 18:03:17 +01:00
Peinthor Rene
e91aa3833a fix warning 2013-03-13 18:02:30 +01:00
Peinthor Rene
3c6ab04485 add antlr 2.7.7 cpp runtime for parsing the sqlite3 grammar 2013-03-13 15:35:04 +01:00
Peinthor Rene
f1ce26c72a Merge pull request #6 from takluyver/update-building
Update BUILDING instructions
2013-03-13 07:33:19 -07:00
Thomas Kluyver
c51d927761 Update BUILDING instructions 2013-03-12 22:36:20 +00:00
Peinthor Rene
df91d663f9 Fix the transaction logic 2013-03-05 20:22:17 +01:00
Peinthor Rene
93acb897df fix locking the database by just opening it 2013-03-04 19:25:15 +01:00
Peinthor Rene
2920697894 add setter and a datatype list 2013-03-03 22:12:16 +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
05a5db3e28 indicate database encoding in the statusbar 2013-02-23 13:18:46 +01:00
Peinthor Rene
d6533747b4 rework database encoding settings and conversions 2013-02-23 13:00:07 +01:00
Peinthor Rene
f8777ca550 add some constness 2013-02-14 18:43:46 +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
Peinthor Rene
158e35ae65 set the monospace font crossplattform 2013-01-29 23:10:27 +01:00
Peinthor Rene
6765737bf4 tweak fonts for sql edit widgets 2013-01-29 18:41:19 +01:00
Peinthor Rene
4601c5fc27 set better size for the browse table combobox 2013-01-29 18:37:18 +01:00
Peinthor Rene
f8e51cc07a add a foreign key setting
to open database with foreign keys enabled
2013-01-29 18:26:29 +01:00
Peinthor Rene
9c9e1a61f3 show the user a fancy subdialog will be opened 2013-01-29 08:12:43 +01:00
Peinthor Rene
f9cc48bdcc always link to shared sqlite3 2013-01-26 11:10:15 +01:00
Peinthor Rene
5df6509f59 add download location for windows binaries 2013-01-26 11:07:35 +01:00
Peinthor Rene
b98aa78987 Update README.rst
change the issues page back to mine, don't hit me Martin ;)
2013-01-26 11:06:29 +01:00
Peinthor Rene
13792e8100 forgot to add an else branch 2013-01-26 10:25:50 +01:00
Peinthor Rene
c5dafe9617 avoid useless string copies and fix a bug with logSQL because of that 2013-01-26 10:23:04 +01:00
Peinthor Rene
fbfe25cca9 show browsetable tab on start 2013-01-26 10:22:11 +01:00
Peinthor Rene
322520270d rework the pragma view and setting
removed uninteresting PRAGMA's for user
only set PRAGMA if value has changed
commit transaction before setting pragma with user warning
show the current PRAGMA value after setting
2013-01-25 14:55:03 +01:00
Peinthor Rene
95dbd93ab8 remove sqlite_source from include path 2013-01-25 14:29:32 +01:00
Peinthor Rene
9c6bb1daed remove duplicate setDirty 2013-01-25 14:27:54 +01:00
Peinthor Rene
0dcf45ca47 Merge pull request #5 from MKleusberg/master
Fix pragma editing and further code clean up
2013-01-22 12:26:45 -08:00
Martin Kleusberg
31bd8fd98e Fix pragma editing
Fix a bug in the pragma editing that made it impossible to change some
pragmas because the new values were not put in quotes.
2013-01-22 17:22:09 +01:00
Martin Kleusberg
317cebf2a8 Merge remote-tracking branch 'upstream/master' 2013-01-22 16:05:36 +01:00
Martin Kleusberg
68bb8f103a Merge SQLLogDock and MainWindow
Move the SQL log dock into the main window. This means the log dock is
now included in the MainWindow.ui file and its logic in MainWindow,cpp.
2013-01-22 16:03:20 +01:00
Peinthor Rene
33b1adf58d Revert the reverted "Revert "better about dialog layout""
This reverts commit 176435646f.
2013-01-22 16:01:22 +01:00
Peinthor Rene
adf1d9eb8a Merge branch 'master' of https://github.com/MKleusberg/sqlitebrowser 2013-01-21 20:12:18 +01:00