10#include <QVersionNumber>
13#include "ui_swiftdata.h"
34using namespace swift::misc::network;
35using namespace swift::misc::simulation;
41using namespace swift::config;
46 Q_ASSERT_X(sGui, Q_FUNC_INFO,
"Need sGui");
47 sGui->registerMainApplicationWidget(
this);
52void CSwiftData::initStyleSheet()
74 this->performGracefulShutdown();
77void CSwiftData::onStyleSheetsChanged() { this->initStyleSheet(); }
79void CSwiftData::init()
81 Q_ASSERT_X(
sGui, Q_FUNC_INFO,
"Need sGui");
83 this->initLogDisplay();
85 m_mwaLogComponent = ui->comp_MainInfoArea->getLogComponent();
86 m_mwaStatusBar = &m_statusBar;
87 m_mwaOverlayFrame = ui->comp_MainInfoArea->getMappingComponent();
89 this->initStyleSheet();
95 if (!s.getDbHomePageUrl().
isEmpty())
101 QPointer<CSwiftData> myself(
this);
107 this->checkMinimumVersion();
108 this->checkAutoPublishing();
112void CSwiftData::initLogDisplay()
114 m_statusBar.initStatusBar(ui->sb_SwiftData);
118 [
this](
const CStatusMessage &message) { m_statusBar.displayStatusMessage(message); });
126void CSwiftData::initMenu()
130 this->initDynamicMenus();
143void CSwiftData::performGracefulShutdown()
147 m_updater->abandonAndWait();
151void CSwiftData::consolidationSettingChanged()
153 const int consolidationSecs = m_consolidationSettings.get();
154 if (consolidationSecs < 0)
158 ui->comp_MainInfoArea->getDataSettingsComponent()->setBackgroundUpdater(
nullptr);
160 m_updater->abandonAndWait();
168 m_updater =
new CBackgroundDataUpdater(
this);
172 ui->comp_MainInfoArea->getDataSettingsComponent()->setBackgroundUpdater(m_updater);
174 m_updater->startUpdating(std::chrono::seconds(consolidationSecs));
178void CSwiftData::displayLog() { ui->comp_MainInfoArea->displayLog(); }
180void CSwiftData::checkMinimumVersion()
188 CLogMessage(
this).info(u
"Checked mapping tool version, required '%1', this version '%2'")
193 const CStatusMessage sm =
195 u
"Your are using swift version: '%1'. Creating mappings requires at least '%2'.")
198 this->displayInOverlayWindow(sm);
202void CSwiftData::checkAutoPublishing()
208 this->showAutoPublishing();
211void CSwiftData::showAutoPublishing()
217 if (!m_autoPublishDialog)
219 m_autoPublishDialog =
new CAutoPublishDialog(
this);
221 m_autoPublishDialog->readAndShow();
SWIFT_CORE_EXPORT swift::core::CApplication * sApp
Single instance of application object.
void closeEvent(QCloseEvent *event)
CSwiftData(QWidget *parent=nullptr)
Constructor.
static const QString & getVersionString()
Version as QVersionNumber.
swift::misc::shared_state::CDataLinkDBus * getDataLinkDBus()
Transport mechanism for sharing state between applications.
data::CGlobalSetup getGlobalSetup() const
Global setup.
bool isShuttingDown() const
Is application shutting down?
const QString & getMappingMinimumVersionString() const
Creating mappings requires at least this version or higher.
bool isSwiftVersionMinimumMappingVersion() const
Meets the minimum mapping version.
void consolidating(bool running)
Consolidation.
void triggerNewVersionCheck(int delayedMs)
Trigger new version check.
void addMenuHelp(QMenu &menu)
Help operations.
void addMenuFile(QMenu &menu)
File menu.
void addMenuInternals(QMenu &menu)
Internals menu.
void addMenuWindow(QMenu &menu)
Window operations.
void initMainApplicationWidget(QWidget *mainWidget)
Init the main application window based on information in this application.
void styleSheetsChanged()
Style sheet changed.
static const QString & fileNameSwiftData()
File name swiftcore.qss.
static const QString & fileNameStandardWidget()
File name for standard widgets.
static const QString & fileNameFonts()
File name fonts.qss.
CIdentifiable(const QString &objectName)
Use literal based object name.
void enableConsoleOutput(bool enable)
Enable or disable the default Qt handler.
static CLogHandler * instance()
Return pointer to the CLogHandler singleton.
void install(bool skipIfAlreadyInstalled=false)
Tell the CLogHandler to install itself with qInstallMessageHandler.
void elementAdded(const swift::misc::CStatusMessage &msg)
Signal emitted for each new log message.
static void preformatted(const CStatusMessage &statusMessage)
Sends a verbatim, preformatted message to the log.
static constexpr auto SeverityInfo
Status severities.
static constexpr auto SeverityWarning
Status severities.
static bool existAutoPublishFiles(const QString &dirPath=CSwiftDirectories::logDirectory())
Do any auto pubish files exist?
SWIFT_GUI_EXPORT swift::gui::CGuiApplication * sGui
Single instance of GUI application object.
Core data traits (aka cached values) and classes.
Classes interacting with the swift database (aka "datastore").
Backend services of the swift project, like dealing with the network or the simulators.
High level reusable GUI components.
Free functions in swift::misc.
void triggered(bool checked)
QMainWindow(QWidget *parent, Qt::WindowFlags flags)
virtual bool event(QEvent *event) override
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
bool disconnect(const QMetaObject::Connection &connection)
QObject * parent() const const
bool isEmpty() const const