Commit graph

51 commits

Author SHA1 Message Date
eelke
dc8a052544 Basic concept of MenuAction is working
Module can register action
Window adds this action to its menu
Clicking the menu item for the action has the expected result
But menu structure still needs work (everything is now put into one dropdown menu)
2019-01-01 11:15:16 +01:00
eelke
eec75e28f9 Remove unused ApplicationWindow 2019-01-01 08:49:32 +01:00
eelke
456180325e Code cleanups 2018-12-31 15:45:53 +01:00
eelke
b0cd47ef46 Extended the plugin system to allow for dynamic runtime bindings between modules.
As a test implementation, this allows the TablesPage to open a CrudTab for a table/view without
the need for TablesPage, CrudTab and DatabaseWindow to know anything about each other.
2018-12-31 15:26:36 +01:00
eelke
f996703937 Corrected some usage of QueueTask that was already broken as QueueTask is defunct. 2018-12-31 15:19:16 +01:00
eelke
cc4f309c0f Completed removal of ASyncWindow 2018-12-31 09:40:25 +01:00
eelke
15bee33076 Made step to remove ASyncWindow in favour of usage of Future and FutureWatcher.
This should allow concurrency in the plugins to be independent from their container.

Contains also some work on the system for registering plugins.
2018-12-30 15:46:15 +01:00
eelke
2a7e505dbf Made a step in removing knowledge of DatabaseWindow from QueryTab as an effort to move
in the direction of a plugin system.

DatabaseWindow now passes a Context to QueryTab and other pages that give those pages an
API for passing information up the system without knowing anything about the sytem.
2018-12-29 18:59:54 +01:00
eelke
f6ea2ce0a6 Introduced own version of QTableView called PgLabTableView that has some other defaults. 2018-12-29 17:54:54 +01:00
eelke
69473d65d2 Renamed MainWindow to DatabaseWindow so the name tells us the functionality provided by the window.
MainWindow was really a bad name as the app doesn't have a main window.
2018-12-28 12:55:11 +01:00
eelke
437736a023 Tab with list of sequences and create sql for selected sequence. 2018-12-28 08:51:02 +01:00
eelke
742fd0a4d3 SelectionEditorFactory + ItemModel + ItemModelFactory combination is working
in new EditTableWidget

(EditTableWidget is very much WIP)
2018-12-15 20:27:40 +01:00
eelke
57217974f4 New column page
Shows SQL for columns ALTER TABLE ... [ADD|DROP] COLUMN combines a selection
of multiple columns into a single alter table.
Show collation in list of columns.

(order of columns isn't what is should be but that should maybe be fixed
by a generic column selection and ordering mechanism that knows what the
default sort should be)
2018-11-29 20:21:36 +01:00
eelke
840af1e0a9 WIP: Added page showing list of functions.
Only list is shown, still working on details.
2018-11-25 09:06:01 +01:00
eelke
f2639b9ea5 Link with new builds of botan
We now have seperate debug and release builds.
2018-11-17 19:33:47 +01:00
eelke
f629e48a85 Position of error marks is adjusted for selection.
Close: #20
2018-11-10 10:59:52 +01:00
eelke
e36924c087 Passwords are now saved in a password manager.
The password manager uses strong encryption using a key derived from the passphrase using
scrypt key strengthening algorithm. This ensures encryption is performed using a strong key
and that brute forcing the passphrase is time consuming.

If the user loses his passphrase no recovery is possible.
2018-11-08 21:50:49 +01:00
eelke
2230a4bd61 Lot of password related changes all over the place.
Password is no longer saved with the connection list.
Password is not entered along with other connection credentials.
Password is now asked for when required.
Still working on saving the password and auto retrieving it from the password manager.
2018-11-04 11:44:40 +01:00
eelke
38ae5f50e4 Moved code from TablesPage into seperate PropetiesPage component
Clears up the TablePage and makes rhe propertypage reusable.
2018-10-20 10:58:42 +02:00
eelke
2a75e86102 Added listing of triggers for selected table (not completely finished).
Used slightly different approach. This tab is fully build in source code
using subclasses to adjust behaviour of widgets for reuse in the other tabs.
Uses custom proxy model for filtering triggers for correct table and supporting
out of the box sorting by QTableView.

SqlCodePreview: QPlainTextEditor which sql highlighter and in readonly mode but allows copy.
2018-10-07 19:40:06 +02:00
eelke
780d912cd1 Adjusted project files for new boost version.
This should be handled differently the location of boost should not be baked into the project files.
2018-09-18 20:24:54 +02:00
eelke
f5145f36ed wip: codegenerator, basic widget present for showing the generated code and specifying
parameters. Some code is also generated but it is not complete yet.

minimum still required
- field assignments
- properly format and escape the query string
2018-09-18 11:54:43 +02:00
eelke
8f4845d4d2 Lot of code for generating code. Working on unit tests. 2018-09-09 21:04:23 +02:00
Eelke Klein
8b7bbec807 Flexible models 2018-09-02 10:30:30 +00:00
eelke
78a6666839 WIP moving actions for toolbar to module system. 2018-08-05 09:07:12 +02:00
eelke
3d516e6006 First tab at building a mechanism where tabpages can supply a list of actions that are added to the global main toolbar. 2018-05-14 20:24:41 +02:00
eelke
c2d725ec6d Ask confirmation before removing connection.
Close #5
2018-04-30 20:17:44 +02:00
eelke
47ee1857cd Added a gutter and currentline highlighting to the SQL editor.
Currently gutter only shows linenumbers. Code is mostly from http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html

There is a little bit included in this commit from a first try to make toobars adept to the current tab.

Code #2
2018-04-08 09:19:32 +02:00
eelke
3fb32f1200 Couple of minor changes. 2018-01-15 13:32:18 +01:00
eelke
2ba27178a2 Double clicking a table now opens a CRUD page for that table however data cannot be changed yet thought it will display an editbox. 2018-01-09 20:39:43 +01:00
eelke
14ab400ccb Bezig met crudmodel/tab 2018-01-08 20:45:52 +01:00
eelke
97d4e2a1a4 Created IndexModel for displaying the indexes on a table. Constraints can now show the SQL to drop and create them.
The keyword list is now directly based of the official keyword list from postgresql.
2018-01-06 21:22:22 +01:00
eelke
a99f059b70 Added list of constraints to the tables page.
Last column shows the full textual definition until I have decided on
a better way to visualize the details.
2017-12-30 13:02:40 +01:00
eelke
22db22c6b1 Removed unused DatabaseInspectorWidget (had no code only ui design) 2017-12-29 10:26:51 +01:00
eelke
bb55ef12f3 Removed unused DatabaseWindow 2017-12-29 10:24:50 +01:00
eelke
f4538069cb Moved several files from pglab project to pglablib 2017-12-29 10:21:10 +01:00
eelke
b5254ac723 Have a working model for showing the namespaces in a tree with checkboxes.
The namespaces are currently spit into user and system. Later we might
add recognizing namespaces introduced by specific modules/extensions.
2017-12-29 08:39:08 +01:00
eelke
36e5526f5f Some stuff I had on another machine and which might provide useful. 2017-12-28 07:29:07 +01:00
eelke
1727b0d645 Created classes for loading constraints. 2017-12-20 22:05:39 +01:00
eelke
2a29bed75e Fixed linking of botan library 2017-12-19 18:17:18 +01:00
eelke
aef9b914b1 Loading of index definitions 2017-12-17 11:28:20 +01:00
eelke
1fe7d3c56d . 2017-12-16 21:43:51 +01:00
eelke
ad9ed1b698 Introduced new library for pglab code which I want to unit test.
Not everything can go into core because that would result in circular dependencies between core and pgsql.
2017-12-13 18:04:10 +01:00
eelke
e9d72d391d PgAttribute loading + ColummnTableModel
Required enchancement to PgContainer to make multifield key work.
2017-12-12 20:13:53 +01:00
eelke
6466062cc8 pg_classes can be loaded now, used in TablesTableModel for overview of tables in database. 2017-12-10 10:35:46 +01:00
eelke
43e6042794 First version of table overview tab, only design no implementation yet 2017-12-10 08:17:07 +01:00
eelke
e9f5fff6d3 Moved files to core.lib for unit testing 2017-12-09 16:43:28 +01:00
eelke
466920bf4e Routines for converting the Param data to json. 2017-12-09 16:41:19 +01:00
eelke
3bf1ef4fe0 Moved QueryParamListController to its own translation unit. 2017-12-09 14:16:47 +01:00
eelke
3a13b7ffb4 Messy commit. Testing suff and some improvements to how data is shown. 2017-12-09 10:45:13 +01:00