From 0f4629d8f44b6b01821854b75592f502f04d5b2a Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 26 Feb 2019 00:38:37 +0100 Subject: [PATCH] Ref T554, auto publish dialog in swift mapping tool --- src/swiftdata/swiftdata.cpp | 33 +++++++++++++++++++++++++-------- src/swiftdata/swiftdata.h | 15 +++++++++------ 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/swiftdata/swiftdata.cpp b/src/swiftdata/swiftdata.cpp index 5088f3d76..f6371bd5b 100644 --- a/src/swiftdata/swiftdata.cpp +++ b/src/swiftdata/swiftdata.cpp @@ -11,15 +11,17 @@ #include "blackgui/components/dbmappingcomponent.h" #include "blackgui/components/logcomponent.h" #include "blackgui/components/datasettingscomponent.h" +#include "blackgui/components/autopublishdialog.h" #include "blackgui/guiapplication.h" #include "blackgui/stylesheetutility.h" #include "blackcore/data/globalsetup.h" +#include "blackmisc/simulation/autopublishdata.h" +#include "blackmisc/simulation/distributorlist.h" #include "blackmisc/loghandler.h" #include "blackmisc/statusmessage.h" #include "blackmisc/logmessage.h" #include "blackmisc/logpattern.h" #include "blackmisc/network/url.h" -#include "blackmisc/simulation/distributorlist.h" #include "blackconfig/buildconfig.h" #include "ui_swiftdata.h" @@ -28,6 +30,7 @@ #include #include #include +#include using namespace BlackMisc; using namespace BlackMisc::Network; @@ -58,8 +61,7 @@ void CSwiftData::initStyleSheet() CStyleSheetUtility::fileNameFonts(), CStyleSheetUtility::fileNameStandardWidget(), CStyleSheetUtility::fileNameSwiftData() - } - ); + }); this->setStyleSheet(s); } @@ -99,7 +101,7 @@ void CSwiftData::init() this->initLogDisplay(); m_mwaLogComponent = ui->comp_MainInfoArea->getLogComponent(); - m_mwaStatusBar = &m_statusBar; + m_mwaStatusBar = &m_statusBar; m_mwaOverlayFrame = ui->comp_MainInfoArea->getMappingComponent(); this->initStyleSheet(); @@ -113,8 +115,15 @@ void CSwiftData::init() this->setWindowTitle(QStringLiteral("%1 %2").arg(this->windowTitle(), s.getDbHomePageUrl().toQString(true))); } - sGui->triggerNewVersionCheck(15 * 1000); - QTimer::singleShot(15 * 1000, this, &CSwiftData::checkMinimumVersion); + sGui->triggerNewVersionCheck(20 * 1000); + QPointer myself(this); + QTimer::singleShot(15 * 1000, this, [ = ] + { + if (!myself || !sGui || sGui->isShuttingDown()) { return; } + this->checkMinimumVersion(); + this->checkAutoPublishing(); + }); + emit sGui->startUpCompleted(true); } @@ -138,8 +147,8 @@ void CSwiftData::initMenu() this->initDynamicMenus(); ui->menu_WindowMinimize->setIcon(this->style()->standardIcon(QStyle::SP_TitleBarMinButton)); - connect(ui->menu_WindowFont, &QAction::triggered, this, &CSwiftData::onMenuClicked); - connect(ui->menu_MappingMaxData, &QAction::triggered, this, &CSwiftData::onMenuClicked); + connect(ui->menu_WindowFont, &QAction::triggered, this, &CSwiftData::onMenuClicked); + connect(ui->menu_MappingMaxData, &QAction::triggered, this, &CSwiftData::onMenuClicked); connect(ui->menu_MappingMaxMapping, &QAction::triggered, this, &CSwiftData::onMenuClicked); sGui->addMenuFile(*ui->menu_File); @@ -203,3 +212,11 @@ void CSwiftData::checkMinimumVersion() this->displayInOverlayWindow(sm); } } + +void CSwiftData::checkAutoPublishing() +{ + if (!sApp || sApp->isShuttingDown()) { return; } + if (!CAutoPublishData::existAutoPublishFiles()) { return; } + if (!m_autoPublishDialog) { m_autoPublishDialog = new CAutoPublishDialog(this); } + m_autoPublishDialog->readAndShow(); +} diff --git a/src/swiftdata/swiftdata.h b/src/swiftdata/swiftdata.h index 7d5b4f9f1..3db9ec5e6 100644 --- a/src/swiftdata/swiftdata.h +++ b/src/swiftdata/swiftdata.h @@ -22,10 +22,9 @@ #include #include -class QWidget; - namespace Ui { class CSwiftData; } namespace BlackCore { class CWebDataServices; } +namespace BlackGui { namespace Components { class CAutoPublishDialog; }} /*! * swift data entry control (aka mapping tool) @@ -46,8 +45,7 @@ public: virtual ~CSwiftData() override; protected: - //! \name QMainWindow events - //! @[ + //! \name QMainWindow events @[ virtual void closeEvent(QCloseEvent *event) override; //! @} @@ -61,8 +59,7 @@ private: //! Menu clicked void onMenuClicked(); - //! Init functions - //! @{ + //! Init functions @{ void init(); void initLogDisplay(); void initStyleSheet(); @@ -70,6 +67,9 @@ private: void initDynamicMenus(); //! @} + //! Check auto-publishing + void checkAutoPublishing(); + void performGracefulShutdown(); void consolidationSettingChanged(); @@ -81,6 +81,9 @@ private: BlackGui::CManagedStatusBar m_statusBar; BlackCore::Db::CBackgroundDataUpdater *m_updater = nullptr; //!< consolidate with DB data BlackMisc::CSettingReadOnly m_consolidationSettings { this, &CSwiftData::consolidationSettingChanged }; //!< consolidation time + + // auto update + BlackGui::Components::CAutoPublishDialog *m_autoPublishDialog = nullptr; //!< auto publishing dialog }; #endif // guard