From c380b8df23dd0e9a64c5828daabb6e7f0ee4c90e Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 16 May 2015 01:19:40 +0200 Subject: [PATCH] Fixes / improvements found during testing * Redundant "simulatorStatusChanged" signal in proxy * invokeMethod for timer * removed redundant this->buildNavigator(1) * Shortcut in GUI * comment in variant --- src/blackcore/airspace_analyzer.cpp | 9 ++++++++- src/blackcore/airspace_analyzer.h | 3 +++ src/blackcore/context_simulator_proxy.cpp | 6 +----- src/blackgui/components/mappingcomponent.h | 2 +- .../components/navigatordockwidget.cpp | 3 +-- src/blackgui/components/navigatordockwidget.h | 2 +- .../components/navigatordockwidget.ui | 20 +++++++++++++++++++ src/blackmisc/variant.h | 2 +- src/swiftgui_standard/swiftguistd.ui | 3 +++ 9 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/blackcore/airspace_analyzer.cpp b/src/blackcore/airspace_analyzer.cpp index 334f43de4..48ef92b5c 100644 --- a/src/blackcore/airspace_analyzer.cpp +++ b/src/blackcore/airspace_analyzer.cpp @@ -73,7 +73,14 @@ namespace BlackCore void CAirspaceAnalyzer::gracefulShutdown() { - this->m_timer.stop(); + bool s = QMetaObject::invokeMethod(&m_timer, "stop"); + Q_ASSERT_X(s, Q_FUNC_INFO, "invoke failed"); + Q_UNUSED(s); + } + + CAirspaceAnalyzer::~CAirspaceAnalyzer() + { + gracefulShutdown(); } void CAirspaceAnalyzer::ps_watchdogTouchAircraftCallsign(const CAircraftSituation &situation, const CTransponder &transponder) diff --git a/src/blackcore/airspace_analyzer.h b/src/blackcore/airspace_analyzer.h index 6e0aca3bf..1a8cabe2b 100644 --- a/src/blackcore/airspace_analyzer.h +++ b/src/blackcore/airspace_analyzer.h @@ -58,6 +58,9 @@ namespace BlackCore //! Gracefully shut down, e.g. for thread safety void gracefulShutdown(); + //! Destructor + virtual ~CAirspaceAnalyzer(); + public slots: //! Clear void clear(); diff --git a/src/blackcore/context_simulator_proxy.cpp b/src/blackcore/context_simulator_proxy.cpp index 9a6b59e82..1d3b14ada 100644 --- a/src/blackcore/context_simulator_proxy.cpp +++ b/src/blackcore/context_simulator_proxy.cpp @@ -18,7 +18,6 @@ using namespace BlackMisc::Aviation; using namespace BlackMisc::Network; using namespace BlackMisc::Geo; using namespace BlackMisc::Simulation; -using namespace BlackMisc::Simulation; namespace BlackCore { @@ -36,9 +35,6 @@ namespace BlackCore bool s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(), "simulatorStatusChanged", this, SIGNAL(simulatorStatusChanged(int))); Q_ASSERT(s); - s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(), - "simulatorStatusChanged", this, SIGNAL(simulatorStatusChanged(int))); - Q_ASSERT(s); s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(), "installedAircraftModelsChanged", this, SIGNAL(installedAircraftModelsChanged())); Q_ASSERT(s); @@ -52,7 +48,7 @@ namespace BlackCore "renderRestrictionsChanged", this, SIGNAL(renderRestrictionsChanged(bool, int, BlackMisc::PhysicalQuantities::CLength, BlackMisc::PhysicalQuantities::CLength))); Q_ASSERT(s); s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(), - "simulatorPluginChanged", this, SIGNAL(simulatorPluginChanged(BlackMisc::Simulation::CSimulatorPluginInfo &))); + "simulatorPluginChanged", this, SIGNAL(simulatorPluginChanged(BlackMisc::Simulation::CSimulatorPluginInfo))); Q_ASSERT(s); s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(), "airspaceSnapshotHandled", this, SIGNAL(airspaceSnapshotHandled())); diff --git a/src/blackgui/components/mappingcomponent.h b/src/blackgui/components/mappingcomponent.h index 2e8555e58..444dbbd07 100644 --- a/src/blackgui/components/mappingcomponent.h +++ b/src/blackgui/components/mappingcomponent.h @@ -41,7 +41,7 @@ namespace BlackGui explicit CMappingComponent(QWidget *parent = nullptr); //! Destructor - ~CMappingComponent(); + virtual ~CMappingComponent(); //! Number of current mappings int countCurrentMappings() const; diff --git a/src/blackgui/components/navigatordockwidget.cpp b/src/blackgui/components/navigatordockwidget.cpp index 1da4d180f..9a9af626a 100644 --- a/src/blackgui/components/navigatordockwidget.cpp +++ b/src/blackgui/components/navigatordockwidget.cpp @@ -31,7 +31,6 @@ namespace BlackGui this->allowStatusBar(false); ui->setupUi(this); this->ps_onStyleSheetsChanged(); - this->buildNavigator(1); } CNavigatorDockWidget::~CNavigatorDockWidget() @@ -143,7 +142,7 @@ namespace BlackGui int CNavigatorDockWidget::columnsForRows(int rows) { - Q_ASSERT(rows >= 0); + Q_ASSERT_X(rows >= 0, Q_FUNC_INFO, "no rows"); int items = this->m_widgets.size(); int c = items / rows; return (c * rows) < items ? c + 1 : c; diff --git a/src/blackgui/components/navigatordockwidget.h b/src/blackgui/components/navigatordockwidget.h index 60c515e79..8fdcd92c0 100644 --- a/src/blackgui/components/navigatordockwidget.h +++ b/src/blackgui/components/navigatordockwidget.h @@ -34,7 +34,7 @@ namespace BlackGui explicit CNavigatorDockWidget(QWidget *parent = nullptr); //! Destructor - ~CNavigatorDockWidget(); + virtual ~CNavigatorDockWidget(); //! Add action as navigator item void addAction(QAction * action); diff --git a/src/blackgui/components/navigatordockwidget.ui b/src/blackgui/components/navigatordockwidget.ui index b8f4d6eff..aa326b653 100644 --- a/src/blackgui/components/navigatordockwidget.ui +++ b/src/blackgui/components/navigatordockwidget.ui @@ -2,6 +2,26 @@ CNavigatorDockWidget + + + 0 + 0 + 60 + 38 + + + + + 0 + 0 + + + + + 30 + 38 + + true diff --git a/src/blackmisc/variant.h b/src/blackmisc/variant.h index 9cd5fe725..2ddffcd70 100644 --- a/src/blackmisc/variant.h +++ b/src/blackmisc/variant.h @@ -47,7 +47,7 @@ namespace BlackMisc static void registerMetadata() { Private::MetaTypeHelper::maybeRegisterMetaType(); - //! \todo KB: What does this monster do? Please some comment + // Details: https://dev.vatsim-germany.org/issues/413#note-6 [](...){}((qRegisterMetaType(), qDBusRegisterMetaType(), 0)...); } diff --git a/src/swiftgui_standard/swiftguistd.ui b/src/swiftgui_standard/swiftguistd.ui index 3b9f6a2df..643497f67 100644 --- a/src/swiftgui_standard/swiftguistd.ui +++ b/src/swiftgui_standard/swiftguistd.ui @@ -478,6 +478,9 @@ Navigator + + Ctrl+W, Ctrl+N +