From 754f70a4ed7b3d22ae0e78d26bd98a996c3de3a9 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 16 Mar 2019 23:19:23 +0100 Subject: [PATCH] Context menu to highlight the previously saved invalid models, originally Ref T247 --- src/blackgui/views/aircraftmodelview.cpp | 17 +++++++++++++++++ src/blackgui/views/aircraftmodelview.h | 3 +++ 2 files changed, 20 insertions(+) diff --git a/src/blackgui/views/aircraftmodelview.cpp b/src/blackgui/views/aircraftmodelview.cpp index 2bac03854..1297e72d5 100644 --- a/src/blackgui/views/aircraftmodelview.cpp +++ b/src/blackgui/views/aircraftmodelview.cpp @@ -172,6 +172,19 @@ namespace BlackGui this->derivedModel()->setHighlightModelStrings(highlightModels); } + void CAircraftModelView::setHighlightModelsForInvalidModels() + { + this->clearHighlighting(); + CAircraftModelList invaliddModels; + invaliddModels.loadInvalidModels(); + if (!invaliddModels.isEmpty()) + { + this->setHighlight(true); + this->setHighlightColor(Qt::red); + this->setHighlightModels(invaliddModels); + } + } + void CAircraftModelView::setHighlightModels(const CAircraftModelList &highlightModels) { this->derivedModel()->setHighlightModels(highlightModels); @@ -308,6 +321,10 @@ namespace BlackGui menuActions.addAction(CIcons::disk16(), "Model validation", CMenuAction::pathModel(), { this, &CAircraftModelView::displayModelValidationDialog }); } } + if (CAircraftModelList::hasInvalidModelFile()) + { + menuActions.addAction(CIcons::disk16(), "Highlight invalid models (from file)", CMenuAction::pathModel(), { this, &CAircraftModelView::setHighlightModelsForInvalidModels }); + } } // Stash menus diff --git a/src/blackgui/views/aircraftmodelview.h b/src/blackgui/views/aircraftmodelview.h index 9b3c53476..572fe26a5 100644 --- a/src/blackgui/views/aircraftmodelview.h +++ b/src/blackgui/views/aircraftmodelview.h @@ -100,6 +100,9 @@ namespace BlackGui //! \copydoc BlackGui::Models::CAircraftModelListModel::setHighlightModelStrings(const QStringList &) void setHighlightModelStrings(const QStringList &highlightModels); + //! Set the highlight models based on the saved file + void setHighlightModelsForInvalidModels(); + //! \copydoc BlackGui::Models::CAircraftModelListModel::setHighlight void setHighlight(bool highlight);