From 019cc6259e3f142894c35d74027a2ad1f8aefed5 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 23 Jan 2019 15:41:42 +0100 Subject: [PATCH] Ref T515, highlight by models and changed naming --- .../components/dbmappingcomponent.cpp | 10 +++---- src/blackgui/components/dbstashcomponent.cpp | 4 +-- .../models/aircraftmodellistmodel.cpp | 15 +++++++---- src/blackgui/models/aircraftmodellistmodel.h | 17 +++++++----- src/blackgui/views/aircraftmodelview.cpp | 27 +++++++++++-------- src/blackgui/views/aircraftmodelview.h | 15 ++++++----- 6 files changed, 52 insertions(+), 36 deletions(-) diff --git a/src/blackgui/components/dbmappingcomponent.cpp b/src/blackgui/components/dbmappingcomponent.cpp index 570c164c1..f9c2c23db 100644 --- a/src/blackgui/components/dbmappingcomponent.cpp +++ b/src/blackgui/components/dbmappingcomponent.cpp @@ -570,10 +570,10 @@ namespace BlackGui void CDbMappingComponent::onStashedModelsChangedDigest() { - const bool highlightVPilot = ui->tvp_AircraftModelsForVPilot->derivedModel()->highlightModelStrings(); - const bool highlightOwnModels = ui->comp_OwnAircraftModels->view()->derivedModel()->highlightModelStrings(); - const bool highlightModelSet = ui->comp_OwnModelSet->view()->derivedModel()->highlightModelStrings(); - const bool highlight = highlightOwnModels || highlightModelSet || highlightVPilot; + const bool highlightVPilot = ui->tvp_AircraftModelsForVPilot->derivedModel()->highlightModels(); + const bool highlightOwnModels = ui->comp_OwnAircraftModels->view()->derivedModel()->highlightModels(); + const bool highlightModelSet = ui->comp_OwnModelSet->view()->derivedModel()->highlightModels(); + const bool highlight = highlightOwnModels || highlightModelSet || highlightVPilot; if (!highlight) { return; } const QStringList stashedModels(ui->comp_StashAircraft->getStashedModelStrings()); if (highlightVPilot) @@ -657,7 +657,7 @@ namespace BlackGui QString o(ot); const QString sim(ui->comp_OwnAircraftModels->getOwnModelsSimulator().toQString(true)); if (!sim.isEmpty()) { o = o.append(" ").append(sim); } - QString f = ui->comp_OwnAircraftModels->view()->hasFilter() ? "F" : ""; + const QString f = ui->comp_OwnAircraftModels->view()->hasFilter() ? "F" : ""; o = CGuiUtility::replaceTabCountValue(o, ui->comp_OwnAircraftModels->view()->rowCount()) + f; ui->tw_ModelsToBeMapped->setTabText(i, o); } diff --git a/src/blackgui/components/dbstashcomponent.cpp b/src/blackgui/components/dbstashcomponent.cpp index d338b3f89..556c830c0 100644 --- a/src/blackgui/components/dbstashcomponent.cpp +++ b/src/blackgui/components/dbstashcomponent.cpp @@ -75,8 +75,8 @@ namespace BlackGui ui->tvp_StashAircraftModels->setAcceptedMetaTypeIds(); ui->tvp_StashAircraftModels->menuAddItems(CAircraftModelView::MenuLoadAndSave); ui->tvp_StashAircraftModels->menuAddItems(CAircraftModelView::MenuRemoveSelectedRows); - ui->tvp_StashAircraftModels->setHighlightModelStrings(true); - ui->tvp_StashAircraftModels->setHighlightModelStringsColor(Qt::red); + ui->tvp_StashAircraftModels->setHighlight(true); + ui->tvp_StashAircraftModels->setHighlightColor(Qt::red); ui->tvp_StashAircraftModels->setSettingsDirectoryIndex(CDirectories::IndexDirLastModelStashJsonOrDefault); this->enableButtonRow(); diff --git a/src/blackgui/models/aircraftmodellistmodel.cpp b/src/blackgui/models/aircraftmodellistmodel.cpp index 52cf26cef..5d56dbdfb 100644 --- a/src/blackgui/models/aircraftmodellistmodel.cpp +++ b/src/blackgui/models/aircraftmodellistmodel.cpp @@ -173,12 +173,17 @@ namespace BlackGui this->endResetModel(); } - void CAircraftModelListModel::setHighlightModelStrings(bool highlightModelStrings) + void CAircraftModelListModel::setHighlightModels(const CAircraftModelList &highlightModels) { - if (m_highlightModelStrings == highlightModelStrings) { return; } + this->setHighlightModelStrings(highlightModels.getModelStringList(true)); + } + + void CAircraftModelListModel::setHighlight(bool highlightModels) + { + if (m_highlightModels == highlightModels) { return; } this->beginResetModel(); - m_highlightModelStrings = highlightModelStrings; + m_highlightModels = highlightModels; this->endResetModel(); } @@ -201,7 +206,7 @@ namespace BlackGui { if (role == Qt::BackgroundRole) { - const bool ms = highlightModelStrings() && !m_highlightStrings.isEmpty(); + const bool ms = highlightModels() && !m_highlightStrings.isEmpty(); if (!ms) { return CListModelDbObjects::data(index, role); } // the underlying model object @@ -226,7 +231,7 @@ namespace BlackGui void CAircraftModelListModel::clearHighlighting() { - m_highlightModelStrings = false; + m_highlightModels = false; m_highlightStrings.clear(); COrderableListModelDbObjects::clearHighlighting(); } diff --git a/src/blackgui/models/aircraftmodellistmodel.h b/src/blackgui/models/aircraftmodellistmodel.h index 4b1653ae5..3b8ff4e4d 100644 --- a/src/blackgui/models/aircraftmodellistmodel.h +++ b/src/blackgui/models/aircraftmodellistmodel.h @@ -64,13 +64,16 @@ namespace BlackGui void setHighlightModelStrings(const QStringList &modelStrings = QStringList()); //! Highlight models - bool highlightModelStrings() const { return m_highlightModelStrings; } + void setHighlightModels(const BlackMisc::Simulation::CAircraftModelList &highlightModels); //! Highlight models - void setHighlightModelStrings(bool highlightModelStrings); + bool highlightModels() const { return m_highlightModels; } + + //! Highlight models + void setHighlight(bool highlightModels); //! The highlight color - void setHighlightModelStringsColor(const QBrush &brush) { m_highlightColor = brush; } + void setHighlightColor(const QBrush &brush) { m_highlightColor = brush; } //! \copydoc CListModelBaseNonTemplate::clearHighlighting virtual void clearHighlighting() override; @@ -91,10 +94,10 @@ namespace BlackGui virtual bool isOrderable() const override { return true; } private: - AircraftModelMode m_mode = NotSet; //!< current mode - bool m_highlightModelStrings = false; //!< highlight if in m_highlightStrings - QStringList m_highlightStrings; //!< model strings to highlight - QBrush m_highlightColor{Qt::yellow}; //!< how to highlight + AircraftModelMode m_mode = NotSet; //!< current mode + bool m_highlightModels = false; //!< highlight if in m_highlightStrings + QStringList m_highlightStrings; //!< model strings to highlight + QBrush m_highlightColor{Qt::yellow}; //!< how to highlight }; } // ns } // ns diff --git a/src/blackgui/views/aircraftmodelview.cpp b/src/blackgui/views/aircraftmodelview.cpp index b8120e520..1c82ed9db 100644 --- a/src/blackgui/views/aircraftmodelview.cpp +++ b/src/blackgui/views/aircraftmodelview.cpp @@ -172,19 +172,24 @@ namespace BlackGui this->derivedModel()->setHighlightModelStrings(highlightModels); } - void CAircraftModelView::setHighlightModelStrings(bool highlight) + void CAircraftModelView::setHighlightModels(const CAircraftModelList &highlightModels) { - this->derivedModel()->setHighlightModelStrings(highlight); + this->derivedModel()->setHighlightModels(highlightModels); } - void CAircraftModelView::setHighlightModelStringsColor(const QBrush &brush) + void CAircraftModelView::setHighlight(bool highlight) { - this->derivedModel()->setHighlightModelStringsColor(brush); + this->derivedModel()->setHighlight(highlight); } - bool CAircraftModelView::highlightModelStrings() const + void CAircraftModelView::setHighlightColor(const QBrush &brush) { - return this->derivedModel()->highlightModelStrings(); + this->derivedModel()->setHighlightColor(brush); + } + + bool CAircraftModelView::highlightModels() const + { + return this->derivedModel()->highlightModels(); } void CAircraftModelView::dropEvent(QDropEvent *event) @@ -332,7 +337,7 @@ namespace BlackGui m_menuFlagActions.insert(MenuHighlightStashed, ma); } QAction *a = menuActions.addActions(initMenuActions(CViewBaseNonTemplate::MenuHighlightStashed)).first(); - a->setChecked(this->derivedModel()->highlightModelStrings()); + a->setChecked(this->derivedModel()->highlightModels()); addStashMenu = true; } @@ -390,15 +395,15 @@ namespace BlackGui void CAircraftModelView::toggleHighlightStashedModels() { - const bool h = derivedModel()->highlightModelStrings(); - derivedModel()->setHighlightModelStrings(!h); + const bool h = derivedModel()->highlightModels(); + derivedModel()->setHighlight(!h); emit toggledHighlightStashedModels(); } void CAircraftModelView::toggleHighlightInvalidModels() { - const bool h = this->highlightModelStrings(); - this->setHighlightModelStrings(!h); + const bool h = this->highlightModels(); + this->setHighlight(!h); } void CAircraftModelView::stashingClearsSelection() diff --git a/src/blackgui/views/aircraftmodelview.h b/src/blackgui/views/aircraftmodelview.h index 8425cf9cc..8bec47d31 100644 --- a/src/blackgui/views/aircraftmodelview.h +++ b/src/blackgui/views/aircraftmodelview.h @@ -95,17 +95,20 @@ namespace BlackGui //! Replace models with sme model string, otherwise add int replaceOrAddModelsWithString(const BlackMisc::Simulation::CAircraftModelList &models, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive); + //! \copydoc BlackGui::Models::CAircraftModelListModel::setHighlightModels + void setHighlightModels(const BlackMisc::Simulation::CAircraftModelList &highlightModels); + //! \copydoc BlackGui::Models::CAircraftModelListModel::setHighlightModelStrings(const QStringList &) void setHighlightModelStrings(const QStringList &highlightModels); - //! \copydoc BlackGui::Models::CAircraftModelListModel::setHighlightModelStrings(bool) - void setHighlightModelStrings(bool highlight); + //! \copydoc BlackGui::Models::CAircraftModelListModel::setHighlight + void setHighlight(bool highlight); - //! \copydoc BlackGui::Models::CAircraftModelListModel::setHighlightModelStringsColor - void setHighlightModelStringsColor(const QBrush &brush); + //! \copydoc BlackGui::Models::CAircraftModelListModel::setHighlightColor + void setHighlightColor(const QBrush &brush); - //! \copydoc BlackGui::Models::CAircraftModelListModel::highlightModelStrings - bool highlightModelStrings() const; + //! \copydoc BlackGui::Models::CAircraftModelListModel::highlightModels + bool highlightModels() const; //! Loading data will be restricted to simulator void setSimulatorForLoading(const BlackMisc::Simulation::CSimulatorInfo &simulator) { m_loadingRequiresSimulator = simulator; }