Commit graph

173 commits

Author SHA1 Message Date
eelke
36f5153091 Only allow editing of tables that have a primary key. 2018-02-18 12:10:09 +01:00
eelke
09d5c1e41a The crud now support inserting new rows 2018-02-18 08:37:59 +01:00
eelke
c51bd7594d Data in crud table wasn't shown as it was supposed to. 2018-02-18 08:32:38 +01:00
eelke
2ba68d4edc fix: editing same row only updated the view for first edit
Was programming error emplace only inserts new keys into map if key exists it fails.
Neede to use insert_or_assign to get desired behaviour.
2018-02-18 07:23:59 +01:00
eelke
628c16e2f4 Updating rows kinda works.
Blocking calls are still used.
2018-02-18 07:15:43 +01:00
eelke
ad3f605ada Some rudementary refresh support in crud tab bound to execute action (should be replaced with dynamic action list on form) 2018-02-05 22:40:17 +01:00
eelke
44326da564 Fix: boolean values from query result were always shown as true. 2018-02-05 21:47:21 +01:00
eelke
d626c19e14 Basic support for update in Crud implementation, error reporting and transfering data to modified set is still missing. 2018-02-05 21:42:54 +01:00
eelke
3fb32f1200 Couple of minor changes. 2018-01-15 13:32:18 +01:00
eelke
e1405d5370 Use PgLabItemDelegate for indexes tab. 2018-01-15 13:31:37 +01:00
eelke
07c1b63d44 Tab of crud view now shows name of the table. 2018-01-15 13:31:06 +01:00
eelke
a543ccb021 CrudTab uses new PgLabItemDelegate, no need anymore for CrudModel to inherit BaseTableModel. 2018-01-15 13:30:30 +01:00
eelke
208883462c QueryResultModel inherits from QAbstractTableModel now instead of BaseTableModel and the tableview now gets a custom delegate. 2018-01-15 12:23:41 +01:00
eelke
3ac1d21728 Implemented a custom delegate that does the samework as the BaseTableModel class did.
While this might seem to duplicate behaviour I believe having this code in a delegate
is a better solution.
- the logic in BaseTableModel is view logic not model logic
- letting the custom delegate determine the formatting is much more efficient
  then letting the default delegate do many virtual calls to detemine how the
  model wants it formatted.
2018-01-15 12:21:24 +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
abd4020ddf Decided to use signal slot mechanism
The automatic cross thread activation  is probably worth it.
2018-01-08 20:54:03 +01:00
eelke
14ab400ccb Bezig met crudmodel/tab 2018-01-08 20:45:52 +01:00
eelke
a79357db87 Tables are now sorted by not perfect yet. 2018-01-07 09:02:53 +01:00
eelke
ec78dafa94 Removed on_ from the name of the slots to prevent warning about not being able to find the signals.
The old name followed the pattern used by Qt to automatically deduce what signal should
be connected to which slot. However as these are signals from a sub object it cannot find
them and I have made the connections manually. To prevent getting warnings at runtime
I changed the name.
2018-01-06 21:33:24 +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
206d734ff5 Refactorings of namespace filter
Moved details from header to cpp
Refactored use of dynamic_cast into virtual calls on the *Node objects.
2017-12-29 10:10:06 +01:00
eelke
590a02599d Minor fixes to the namespace filter 2017-12-29 09:49:22 +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
4e1120647c Added recognition of a few more system catalogs. 2017-12-29 08:37:24 +01:00
eelke
a06c752029 Misc minor changes. 2017-12-28 09:20:42 +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
23e307f93a The ASyncDBConnection class uses C++ std::function callbacks now for reporting notices and state changes.
While I like some aspects of Qt's signals and slots system I prefer to
rely on more standard C++.
2017-12-28 07:28:21 +01:00
eelke
2705a3417b The MainWindow now uses a background task to load the catalog.
As the background task can't be cancelled yet only closing of the window
can block if the task is still running.
2017-12-28 07:23:20 +01:00
eelke
81c4449d31 cleanup of commented out code 2017-12-26 07:28:18 +01:00
eelke
83332842fc Removed textbox and added two combo's for filtering. 2017-12-26 07:27:46 +01:00
eelke
554f138d6d Made slow part of MainWindow initialization asynchronous. 2017-12-25 15:33:10 +01:00
eelke
190a6c04dc Made a start with showing foreignkeys in column list.
Not finished, need to decide what to do with multiple and multi column fkeys.
2017-12-25 10:31:58 +01:00
eelke
1727b0d645 Created classes for loading constraints. 2017-12-20 22:05:39 +01:00
eelke
8a27a1166f Show name of index in hint of column header for the index of the column tableview. 2017-12-20 20:05:54 +01:00
eelke
23840ce7c5 Cosmetic improvements. 2017-12-19 19:55:12 +01:00
eelke
c324daa75b The global function for getting a typename from an oid now supports passing the typmod of a column.
This is used by the list of columns for a table. Works for char, varchar, text and numeric.
2017-12-19 19:33:22 +01:00
eelke
6599498556 Better handling of not being able to connect to the database. 2017-12-19 19:06:36 +01:00
eelke
a69aa401b2 Th default values of columns are now joined with the other column data and displayed in the default column of the column tableview. 2017-12-19 18:57:05 +01:00
eelke
8402470baa Loading of the list of indexes works for version 9.3 (and maybe before if there are no other differences) 2017-12-19 18:18:21 +01:00
eelke
c37e9eccb8 Better error reporting of problems during catalog load. 2017-12-19 18:17:41 +01:00
eelke
2a29bed75e Fixed linking of botan library 2017-12-19 18:17:18 +01:00
eelke
3703bd9979 Resize columns in the column list. 2017-12-19 18:16:25 +01:00
eelke
dd0e21afb5 Improved titles of index columns in the list of columns. 2017-12-19 18:16:05 +01:00
eelke
d1114793a1 Fixed missing comman in pg_class query.
Added checks on row and column indexes in Pgsql::Result to detect these kind of problems earlier in the future.
2017-12-17 20:28:02 +01:00
eelke
3424b62aa0 Autosize column of column overview. 2017-12-17 20:05:09 +01:00
eelke
7051ef2efc The oid column is now shown for tables that are "with oids". 2017-12-17 19:54:23 +01:00