From 5ac701274b94b1517d559dd5c3b94a31504e2f61 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 18 Oct 2016 04:36:50 +0200 Subject: [PATCH] Show "loading" indicator when loading from backend is requested --- src/blackgui/views/viewbase.cpp | 16 ++++++++++++++-- src/blackgui/views/viewbase.h | 6 ++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/blackgui/views/viewbase.cpp b/src/blackgui/views/viewbase.cpp index b23d9b266..2de45e17a 100644 --- a/src/blackgui/views/viewbase.cpp +++ b/src/blackgui/views/viewbase.cpp @@ -235,8 +235,8 @@ namespace BlackGui CMenuActions ma; switch (menu) { - case MenuRefresh: { ma.addAction(BlackMisc::CIcons::refresh16(), "Update", CMenuAction::pathViewUpdates(), { this, &CViewBaseNonTemplate::requestUpdate }); break; } - case MenuBackend: { ma.addAction(BlackMisc::CIcons::refresh16(), "Reload from backend", CMenuAction::pathViewUpdates(), { this, &CViewBaseNonTemplate::requestNewBackendData}); break; } + case MenuRefresh: { ma.addAction(BlackMisc::CIcons::refresh16(), "Update", CMenuAction::pathViewUpdates(), { this, &CViewBaseNonTemplate::ps_triggerReload }); break; } + case MenuBackend: { ma.addAction(BlackMisc::CIcons::refresh16(), "Reload from backend", CMenuAction::pathViewUpdates(), { this, &CViewBaseNonTemplate::ps_triggerReloadFromBackend }); break; } case MenuDisplayAutomatically: { QAction *a = ma.addAction(CIcons::appMappings16(), "Automatically display (when loaded)", CMenuAction::pathViewUpdates(), { this, &CViewBaseNonTemplate::ps_toggleAutoDisplay }); @@ -488,6 +488,18 @@ namespace BlackGui this->ps_saveJson(); } + void CViewBaseNonTemplate::ps_triggerReload() + { + this->showLoadIndicator(); + emit this->requestUpdate(); + } + + void CViewBaseNonTemplate::ps_triggerReloadFromBackend() + { + this->showLoadIndicator(); + emit this->requestNewBackendData(); + } + void CViewBaseNonTemplate::onModelChanged() { this->updateSortIndicator(); diff --git a/src/blackgui/views/viewbase.h b/src/blackgui/views/viewbase.h index 1f78fa493..f4d88c6b5 100644 --- a/src/blackgui/views/viewbase.h +++ b/src/blackgui/views/viewbase.h @@ -438,6 +438,12 @@ namespace BlackGui //! Save JSON for action/menu, no return signatur void ps_saveJsonAction(); + //! Trigger reload from backend by signal requestUpdate(); + void ps_triggerReload(); + + //! Trigger reload from backend by signal requestNewBackendData() + void ps_triggerReloadFromBackend(); + // ------------ slots of CViewDbObjects ---------------- // need to be declared here and overridden, as this is the only part with valid Q_OBJECT