Commit graph

65 commits

Author SHA1 Message Date
eelke
048843a1d4 Bezig met plugin menu systeem 2019-08-15 12:40:29 +02:00
eelke
7f09d5fe07 Made a start with the notification system. However need to figure out
how i want to handle multithreading and screen updates.
2019-08-14 06:54:50 +02:00
eelke
d7763e83bf More projects fixes. 2019-03-27 18:50:58 +01:00
eelke
4694b09ba1 Merge branch 'master' of ssh://gitlab.com:/eelke/pgLab
# Conflicts:
#	common.pri
2019-03-27 18:24:27 +01:00
eelke
089c793df7 MIsc changes 2019-03-27 18:23:00 +01:00
Eelke Klein
e7bfaeff9a project file cleanup
Moving system dependent parts into local.pri which is not tracked and supply local.pri.sample as a template for developers to adjust for their local system.
2019-03-24 08:53:22 +01:00
eelke
f2808de613 Sequence and Function pages are now properly filtered on namespace. 2019-02-09 20:37:34 +01:00
eelke
42432b06a9 Restructuring catalog tabs
- Moved detail tabs of table to their own components
- Table list has become seperate component on seperate tab
- Table list does not use designer anymore
- Moved sequences and functions tabs into the catalog inspector
2019-02-09 11:36:22 +01:00
eelke
a704332342 Work on plugin mechanism
Context actions have become normal actions in the pluginwidget so the widget knows abot them and
can easily do things like enable/disable.
2019-02-08 10:10:11 +01:00
eelke
be2ffd7ef9 Bunch of renames to reduce confusion. 2019-01-31 19:31:17 +01:00
eelke
3e4917428d TablesPage is now CatalogInspector and is now a module. 2019-01-06 10:11:48 +01:00
eelke
f4f2474a81 Moved definition of widget instance actions to the module so other parts of the system can no about them.
The plugin system will create the Action objects and bind them to the specified slots of the
specific widget instances.
2019-01-05 19:58:23 +01:00
eelke
d0c4dabe8b DatabaseWindow has no knowledge more of the existence of QueryTab but user can still create and use them within that window. 2019-01-05 11:12:47 +01:00
eelke
d86d278350 Remove designer DatabaseForm generating widgets from code.
Large part of toolbar and menu missing these will be recreated through plugin system.
2019-01-01 14:34:14 +01:00
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