Commit graph

40 commits

Author SHA1 Message Date
eelke
dea76e17c5 ft: Closing windows asks to save queries before closing the window.
fix: closetab did incorrectly close when cancel was choosen.
2020-04-04 13:23:43 +02:00
eelke
47b3ea83e9 Fix show filename in tab after opening file and make F5 execute shortcut
work.
2019-12-03 19:08:13 +01:00
eelke
1a208a6a2d Crud page has now reload action.
F5 key is bound to the execute query, reload catalog and reload crud
actions. By using addAction to add these actions to the relevant pages
the ambiguity of the shortcut is resolved.
2019-10-13 07:31:48 +02:00
eelke
60d8f36328 poc Add support for reloading the catalog
Reload works and the column page reacts correctly. Others to be checked
and fixed.
2019-10-06 13:52:45 +02:00
eelke
4ea388cad7 Merge branch 'master' of ssh://git@gitlab.com:/eelke/pgLab.git 2019-10-06 09:34:45 +02:00
eelke
45c3a0480b The normal copy now works for SQL definition views. 2019-10-05 16:41:14 +02:00
eelke
082293e58a Switched ConnectionConfig to QString from std::string to fit better into Qt framework 2019-09-16 19:24:39 +02:00
eelke
b09e8a6d4b ConnectionManager overhaul
- connection settings are now changed by seperate component currently called in a seperate window
- old settings pane on the right of the connections had been removed
- new edit config button added between new connection and remove connection
2019-08-24 20:47:32 +02:00
eelke
fbd630489e Added paste lang option for pasting programming code.
Expects you to paste only string literals with possible concatenation operators like . or +
2019-08-19 11:38:04 +02:00
eelke
35d1e75d35 Split all connection related controller functionality off into seperate ConnectionController. 2019-08-19 10:05:05 +02:00
eelke
8c13bdc2ef Make closing of tabs work again. 2019-08-16 10:49:59 +02:00
eelke
6fdf631fac Make double clicking on table in CatalogInspector open crud for selected table/view. 2019-08-16 10:49:38 +02:00
eelke
1a2ec6a224 DatabaseWindow now provides some functionality to its child components through the IDatabaseWindow interface.
This way children do not need to include the full header to get access to some utility functions for changing
the titles and icons of tabpages (and in fact do not need to know that there are tabs, could be something else)
2019-08-16 08:29:27 +02:00
eelke
6d4df99100 Add Cancel back to query menu 2019-08-16 08:27:05 +02:00
eelke
460d6f5809 Added back query menu with execute and explain option. 2019-08-16 07:23:18 +02:00
eelke
d45707b542 Items for inspecting database schema and catalogs moved to window menu.
Closes #42
2019-08-15 20:15:13 +02:00
eelke
e2fa613a49 Most of menu is back in its original state before the plugin experiment. 2019-08-15 19:32:33 +02:00
eelke
09ef4cdf6b CatalogInspector is normal QWidget now
added actions to open the inspector
2019-08-15 16:43:25 +02:00
eelke
edb789ca4a Removing plugin system is holding back development to much. 2019-08-15 16:18:47 +02:00
eelke
601d071d0f Proof of concept for having the context actions statically defined in the module.
Needs work for correctly placing the items in menu and on toolbar.
Old system still needs to be removed left in place to keep app useable.
2019-08-14 09:06:48 +02: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
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
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
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
a5f4e4c54f Create standard close action 2019-01-04 18:29: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
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
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
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
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
bb55ef12f3 Removed unused DatabaseWindow 2017-12-29 10:24:50 +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
bebb3391c3 Builds on windows again 2017-11-26 13:07:21 +01:00
Renamed from src/pglab/DatabaseWindow.cpp (Browse further)