eelke
b08bd1a315
The trigger SQL now also shows the function definition.
2019-02-09 17:36:37 +01:00
eelke
3fdd42ffb2
Collection of small fixes and improvements
...
- Selections stay clearly visible when focus changes to other widget
- Autoresize columns
- Table properties view now correctly allows selection in both columns and draws selection correctly
- Tables can be sorted again and now by any column
2019-02-09 14:59:33 +01:00
eelke
3fb88edab2
Added icon for "normal" indexes
2019-02-09 11:36:37 +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
eca8841427
Added shortcuts to the Execute, Explain and Explain Analyze context actions.
2019-02-07 16:53:48 +01:00
eelke
db735363f7
QueryResultModel no longer truncates long strings to improve display performance.
...
Optimization of display is now done by PgLabItemDelegate. This also makes it easier in future commit
to enabled showing complete string and correctly exporting the data.
2019-02-07 16:48:30 +01:00
eelke
be2ffd7ef9
Bunch of renames to reduce confusion.
2019-01-31 19:31:17 +01:00
eelke
cbb2f897aa
Define toolbar locations for the actions of the QueryTool module.
2019-01-31 19:25:54 +01:00
eelke
6acf70660b
Fix: hang in syntax highlighter
...
SqlLexer was changed to correctly report end of file. Which this code didn't handle
2019-01-29 20:36:07 +01:00
eelke
27fde22d54
Fix: Cancelling the password prompt of the PSK database doesn't keep endlessly asking for password.
2019-01-29 19:52:50 +01:00
eelke
ecae0464f9
Fix: openening not accessible database crashes program.
...
OpenDatabase::createOpenDatabase now uses QException derived exception to report failure.
This makes it possible to catch the exception in a background thread and rethrow it when the Future is read.
Which makes it possible for the database window to properly report the problem.
2019-01-29 19:42:32 +01:00
eelke
077fae50af
fix some warnings
2019-01-28 20:52:04 +01:00
eelke
7c32d67196
Default to no wordwrap.
2019-01-06 21:38:11 +01:00
eelke
407304294a
Analyzer didn't like this.
2019-01-06 21:37:57 +01:00
eelke
e5dd27ff1a
Added several actions that were left out while switching to module.
...
- save copy as
- export
- copy as c string
- copy as raw cpp string
2019-01-06 17:07:59 +01:00
eelke
3e4917428d
TablesPage is now CatalogInspector and is now a module.
2019-01-06 10:11:48 +01:00
eelke
d3c85722c7
Remove unneeded headers and code.
2019-01-06 08:17:37 +01:00
eelke
d6fce5c31f
Simplified LWidgetAction initialization
2019-01-06 08:17:17 +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
fd603a7434
Moving things from the application specific DatabaseWindow to generic LMainWindow (Leon framework)
...
To achieve flexibility the getDatabase call on the context which was application specific to
has been replaced with a type based object registry.
2019-01-05 09:49:12 +01:00
eelke
4a78330153
Proof of concept for binding signal to passed in slot name.
2019-01-04 18:46:02 +01:00
eelke
a5f4e4c54f
Create standard close action
2019-01-04 18:29:22 +01:00
eelke
4c3a2df65c
Fix plugin macro that added quotes to things that were already strings causing identifiers to not match.
...
+ some debug logging
2019-01-01 14:35:22 +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
a29671593e
Simplified module registration
2019-01-01 08:26:20 +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
1da8ef7407
Remove all knowledge of DatabaseWindow from CrudTab (unwanted dependency)
2018-12-31 09:51:52 +01:00
eelke
cc4f309c0f
Completed removal of ASyncWindow
2018-12-31 09:40:25 +01:00
eelke
424fb5984d
Fixed loading of data in CrudModel.
2018-12-31 09:33:34 +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
a54a063c13
DatabaseWindow no longer has to pass the config to QueryTab, QueryTab can now init itself from the supplied context.
2018-12-30 15:44:05 +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
f0ffcf4abd
TablesTableModel now also shows (materialized) views en foreign tables.
2018-12-29 11:19:12 +01:00
eelke
a0579538df
The tablespage now has a namespace filter allowing it to be used for
...
a pg_catalog and information_schema tab.
2018-12-29 10:56:24 +01:00
eelke
d129876d06
CodeEditor improvements
...
- Block (un)indent (works for tabs and or spaces)
- Block indent inserts spaces when m_useTabs == false
- Tabsize based on number of chars (instead of pixels) default size is now 4 chars
- Change fontsize with Ctrl + [-|+|=] (= is same key as +)
2018-12-28 19:43:55 +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
769307c821
Added the trigger definitions to the sql for a table. Also tuned the formatting of the trigger definitions a bit.
2018-12-27 12:15:37 +01:00
eelke
4ec4e02411
The SQL tab for a table now also shares the grant/revoke statements for that table (but not yet any column level grants).
2018-12-27 12:07:19 +01:00
eelke
93687df959
Removed the acl field from several Pg* classes as the acl is now stored in the PgServerObject base class they inherit from.
2018-12-27 12:05:48 +01:00
eelke
0b6c1a8544
Make PgAuthId inherit PgServerObject and related changes.
2018-12-25 16:41:44 +01:00
eelke
c2c01cf431
Generic GRANT/REVOKE generation from ACL's complete.
...
Moved the owned concept to PgServerObject as it is needed for the generic
acl functionality that is also in PgServerObject.
2018-12-25 14:25:15 +01:00
eelke
93c8b49f61
PgServerObject now contains a list of acl's for the object so all the different objects
...
can use this implementation.
2018-12-24 07:51:27 +01:00