diff --git a/src/core/context/contextsimulator.h b/src/core/context/contextsimulator.h index fff8056dd..6f8d639c4 100644 --- a/src/core/context/contextsimulator.h +++ b/src/core/context/contextsimulator.h @@ -263,9 +263,6 @@ namespace swift::core::context //! Is available simulator simulating? Returns false if no simulator is available bool isSimulatorSimulating() const; - //! Icon representing the model - virtual swift::misc::CPixmap iconForModel(const QString &modelString) const = 0; - //! Get mapping messages virtual swift::misc::CStatusMessageList getMatchingMessages(const swift::misc::aviation::CCallsign &callsign) const = 0; diff --git a/src/core/context/contextsimulatorempty.h b/src/core/context/contextsimulatorempty.h index da733cb80..938086a49 100644 --- a/src/core/context/contextsimulatorempty.h +++ b/src/core/context/contextsimulatorempty.h @@ -288,14 +288,6 @@ namespace swift::core::context return swift::misc::physical_quantities::CTime(); } - //! \copydoc IContextSimulator::iconForModel - virtual swift::misc::CPixmap iconForModel(const QString &modelString) const override - { - Q_UNUSED(modelString) - logEmptyContextWarning(Q_FUNC_INFO); - return swift::misc::CPixmap(); - } - //! \copydoc IContextSimulator::followAircraft virtual bool followAircraft(const swift::misc::aviation::CCallsign &callsign) override { diff --git a/src/core/context/contextsimulatorimpl.cpp b/src/core/context/contextsimulatorimpl.cpp index ea1050b73..ebbe27601 100644 --- a/src/core/context/contextsimulatorimpl.cpp +++ b/src/core/context/contextsimulatorimpl.cpp @@ -967,18 +967,6 @@ namespace swift::core::context } } - CPixmap CContextSimulator::iconForModel(const QString &modelString) const - { - if (!m_simulatorPlugin.second || m_simulatorPlugin.first.isUnspecified()) { return CPixmap(); } - - // load from file - CStatusMessage msg; - const CAircraftModel model(this->getModelSet().findFirstByModelStringAliasOrDefault(modelString)); - const CPixmap pm(model.loadIcon(msg)); - if (!msg.isEmpty()) { CLogMessage::preformatted(msg); } - return pm; - } - CStatusMessageList CContextSimulator::getMatchingMessages(const CCallsign &callsign) const { if (isDebugEnabled()) { CLogMessage(this, CLogCategories::contextSlot()).debug() << Q_FUNC_INFO << callsign; } diff --git a/src/core/context/contextsimulatorimpl.h b/src/core/context/contextsimulatorimpl.h index 16f3083e6..30ca653fb 100644 --- a/src/core/context/contextsimulatorimpl.h +++ b/src/core/context/contextsimulatorimpl.h @@ -185,9 +185,6 @@ namespace swift::core virtual swift::misc::CStatusMessageList getInterpolationMessages(const swift::misc::aviation::CCallsign &callsign) const override; - //! \copydoc swift::core::context::IContextSimulator::iconForModel - virtual swift::misc::CPixmap iconForModel(const QString &modelString) const override; - //! \copydoc swift::core::context::IContextSimulator::followAircraft virtual bool followAircraft(const swift::misc::aviation::CCallsign &callsign) override; diff --git a/src/core/context/contextsimulatorproxy.cpp b/src/core/context/contextsimulatorproxy.cpp index f88b2ed2c..71083adef 100644 --- a/src/core/context/contextsimulatorproxy.cpp +++ b/src/core/context/contextsimulatorproxy.cpp @@ -300,11 +300,6 @@ namespace swift::core::context return m_dBusInterface->callDBusRet(QLatin1String("checkListeners")); } - CPixmap CContextSimulatorProxy::iconForModel(const QString &modelString) const - { - return m_dBusInterface->callDBusRet(QLatin1String("iconForModel"), modelString); - } - bool CContextSimulatorProxy::followAircraft(const CCallsign &callsign) { return m_dBusInterface->callDBusRet(QLatin1String("followAircraft"), callsign); diff --git a/src/core/context/contextsimulatorproxy.h b/src/core/context/contextsimulatorproxy.h index c28cc97b4..22545faec 100644 --- a/src/core/context/contextsimulatorproxy.h +++ b/src/core/context/contextsimulatorproxy.h @@ -174,9 +174,6 @@ namespace swift::core //! \copydoc swift::core::context::IContextSimulator::getTimeSynchronizationOffset virtual swift::misc::physical_quantities::CTime getTimeSynchronizationOffset() const override; - //! \copydoc swift::core::context::IContextSimulator::iconForModel - virtual swift::misc::CPixmap iconForModel(const QString &modelString) const override; - //! \copydoc swift::core::context::IContextSimulator::followAircraft virtual bool followAircraft(const swift::misc::aviation::CCallsign &callsign) override; diff --git a/src/gui/components/mappingcomponent.cpp b/src/gui/components/mappingcomponent.cpp index 0e09cd491..36daf90ea 100644 --- a/src/gui/components/mappingcomponent.cpp +++ b/src/gui/components/mappingcomponent.cpp @@ -84,7 +84,6 @@ namespace swift::gui::components &CMappingComponent::onModelsUpdateRequested); connect(ui->tvp_AircraftModels, &CAircraftModelView::modelDataChanged, this, &CMappingComponent::onRowCountChanged); - connect(ui->tvp_AircraftModels, &CAircraftModelView::clicked, this, &CMappingComponent::onModelSelectedInView); connect(ui->tvp_AircraftModels, &CAircraftModelView::requestTempDisableModelsForMatching, this, &CMappingComponent::onTempDisableModelsForMatchingRequested); @@ -259,21 +258,6 @@ namespace swift::gui::components ui->completer_ModelStrings->setModel(simAircraft.getModel()); } - void CMappingComponent::onModelSelectedInView(const QModelIndex &index) - { - const CAircraftModel model = ui->tvp_AircraftModels->at(index); - ui->completer_ModelStrings->setModel(model); - - if (ui->cb_AircraftIconDisplayed->isChecked()) - { - const QString modelString(model.getModelString()); - const CPixmap pm = sGui->getIContextSimulator()->iconForModel(modelString); - if (pm.isNull()) { this->closeOverlay(); } - else { this->showOverlayImage(pm); } - } - else { this->onModelPreviewChanged(Qt::Unchecked); } - } - CCallsign CMappingComponent::validateRenderedCallsign() { const QString cs = ui->le_Callsign->text().trimmed(); diff --git a/src/gui/components/mappingcomponent.h b/src/gui/components/mappingcomponent.h index 89c6a7817..ddc328345 100644 --- a/src/gui/components/mappingcomponent.h +++ b/src/gui/components/mappingcomponent.h @@ -113,9 +113,6 @@ namespace swift::gui //! Aircraft selected (in view) void onAircraftSelectedInView(const QModelIndex &index); - //! Model selected (in view) - void onModelSelectedInView(const QModelIndex &index); - //! Save changed aircraft void onSaveAircraft(); diff --git a/src/gui/menus/aircraftmodelmenus.cpp b/src/gui/menus/aircraftmodelmenus.cpp index bf158c7b9..da1440d8a 100644 --- a/src/gui/menus/aircraftmodelmenus.cpp +++ b/src/gui/menus/aircraftmodelmenus.cpp @@ -96,15 +96,6 @@ namespace swift::gui::menus } } - if (m_messageFrame && !model.getIconFile().isEmpty()) - { - added = true; - menuActions.addMenuSimulator(); - m_iconAction = - menuActions.addAction(m_iconAction, CIcons::appAircraft16(), "Display icon", - CMenuAction::pathSimulator(), { this, &CShowSimulatorFileMenu::displayIcon }); - } - if (added) { menuActions.addSeparator(CMenuAction::pathSimulator()); } } this->nestedCustomMenu(menuActions); @@ -131,18 +122,6 @@ namespace swift::gui::menus } } - void CShowSimulatorFileMenu::displayIcon() - { - const CAircraftModelView *mv = modelView(); - if (!mv->hasSingleSelectedRow()) { return; } - const CAircraftModel model(mv->selectedObject()); - if (model.getIconFile().isEmpty()) { return; } - CStatusMessage msg(this); - const CPixmap pm(model.loadIcon(msg)); - if (msg.isSuccess()) { m_messageFrame->showOverlayImage(pm); } - else { CLogMessage::preformatted(msg); } - } - void CShowSimulatorFileMenu::startModelConverterX() { if (!CModelConverterX::supportsModelConverterX()) { return; } diff --git a/src/gui/menus/aircraftmodelmenus.h b/src/gui/menus/aircraftmodelmenus.h index 218804f87..24eefff6e 100644 --- a/src/gui/menus/aircraftmodelmenus.h +++ b/src/gui/menus/aircraftmodelmenus.h @@ -67,7 +67,6 @@ namespace swift::gui private: void showSimulatorFile(); //!< simulator file - void displayIcon(); //!< aircraft icon if any void startModelConverterX(); //!< show in model converter X swift::gui::COverlayMessagesFrame *m_messageFrame = nullptr; diff --git a/src/gui/models/aircraftmodellistmodel.cpp b/src/gui/models/aircraftmodellistmodel.cpp index 47b608c16..9d6f69bab 100644 --- a/src/gui/models/aircraftmodellistmodel.cpp +++ b/src/gui/models/aircraftmodellistmodel.cpp @@ -120,7 +120,6 @@ namespace swift::gui::models m_columns.addColumn(CColumn::standardString("filename", CAircraftModel::IndexFileName)); m_columns.addColumn(CColumn::standardString("file ts.", "file timestamp", CAircraftModel::IndexFileTimestampFormattedYmdhms)); - m_columns.addColumn(CColumn::standardString("icon", CAircraftModel::IndexIconPath)); m_columns.addColumn(CColumn::standardString("version", CAircraftModel::IndexVersion)); m_columns.addColumn(CColumn::standardString("changed", CAircraftModel::IndexUtcTimestampFormattedYmdhms)); diff --git a/src/misc/simulation/aircraftmodel.cpp b/src/misc/simulation/aircraftmodel.cpp index 374eacd9b..8e7d31f69 100644 --- a/src/misc/simulation/aircraftmodel.cpp +++ b/src/misc/simulation/aircraftmodel.cpp @@ -270,7 +270,6 @@ namespace swift::misc::simulation case IndexSupportedParts: return QVariant(m_supportedParts); case IndexFileTimestamp: return QVariant::fromValue(this->getFileTimestamp()); case IndexFileTimestampFormattedYmdhms: return QVariant::fromValue(this->getFormattedFileTimestampYmdhms()); - case IndexIconPath: return QVariant(m_iconFile); case IndexAircraftIcaoCode: return m_aircraftIcao.propertyByIndex(index.copyFrontRemoved()); case IndexLivery: return m_livery.propertyByIndex(index.copyFrontRemoved()); case IndexCallsign: return m_callsign.propertyByIndex(index.copyFrontRemoved()); @@ -308,7 +307,6 @@ namespace swift::misc::simulation case IndexDescription: m_description = variant.toString(); break; case IndexSimulatorInfo: m_simulator.setPropertyByIndex(index.copyFrontRemoved(), variant); break; case IndexName: m_name = variant.toString(); break; - case IndexIconPath: m_iconFile = variant.toString(); break; case IndexCG: m_cg.setPropertyByIndex(index.copyFrontRemoved(), variant); break; case IndexSupportedParts: this->setSupportedParts(variant.toString()); break; case IndexModelType: m_modelType = variant.value(); break; @@ -370,7 +368,6 @@ namespace swift::misc::simulation case IndexCallsign: return m_callsign.comparePropertyByIndex(index.copyFrontRemoved(), compareValue.getCallsign()); case IndexFileName: return m_fileName.compare(compareValue.getFileName(), Qt::CaseInsensitive); - case IndexIconPath: return m_iconFile.compare(compareValue.getIconFile(), Qt::CaseInsensitive); case IndexCG: return m_cg.comparePropertyByIndex(index.copyFrontRemoved(), compareValue.getCG()); case IndexSupportedParts: return m_supportedParts.compare(compareValue.getSupportedParts()); case IndexModelTypeAsString: @@ -556,31 +553,6 @@ namespace swift::misc::simulation } } - CPixmap CAircraftModel::loadIcon(CStatusMessage &success) const - { - static const CStatusMessage noIcon(this, CStatusMessage::SeverityInfo, u"no icon"); - static const CStatusMessage loaded(this, CStatusMessage::SeverityInfo, u"icon loaded"); - if (m_iconFile.isEmpty()) - { - success = noIcon; - return CPixmap(); - } - if (!QFile(m_iconFile).exists()) - { - success = noIcon; - return CPixmap(); - } - - QPixmap pm; - if (!pm.load(m_iconFile)) - { - success = noIcon; - return CPixmap(); - } - success = loaded; - return pm; - } - const QString &CAircraftModel::liveryStringPrefix() { static const QString p("swift_"); @@ -688,7 +660,6 @@ namespace swift::misc::simulation void CAircraftModel::updateByExistingDirectories(const CAircraftModel &otherModel) { if (otherModel.hasExistingCorrespondingFile()) { this->setFileName(otherModel.getFileName()); } - if (otherModel.hasExistingIconFile()) { this->setIconFile(otherModel.getIconFile()); } } bool CAircraftModel::hasQueriedModelString() const @@ -736,13 +707,11 @@ namespace swift::misc::simulation { // other local, priority this->setFileName(model.getFileName()); - this->setIconFile(model.getIconFile()); return; } // both not local, override empty values if (m_fileName.isEmpty()) { this->setFileName(model.getFileName()); } - if (m_iconFile.isEmpty()) { this->setIconFile(model.getIconFile()); } } bool CAircraftModel::adjustLocalFileNames(const QString &newModelDir, const QString &stripModelDirIndicator) @@ -796,13 +765,6 @@ namespace swift::misc::simulation return (p.contains(path, cs)); } - bool CAircraftModel::hasExistingIconFile() const - { - if (m_iconFile.isEmpty()) { return false; } - const QFileInfo fi(m_iconFile); - return fi.exists(); - } - bool CAircraftModel::matchesModelString(const QString &modelString, Qt::CaseSensitivity sensitivity) const { return stringCompare(modelString, m_modelString, sensitivity); diff --git a/src/misc/simulation/aircraftmodel.h b/src/misc/simulation/aircraftmodel.h index c87aad0b2..2cc21462c 100644 --- a/src/misc/simulation/aircraftmodel.h +++ b/src/misc/simulation/aircraftmodel.h @@ -117,7 +117,6 @@ namespace swift::misc IndexFileName, IndexFileTimestamp, IndexFileTimestampFormattedYmdhms, - IndexIconPath, IndexModelType, IndexModelTypeAsString, IndexModelMode, @@ -481,15 +480,6 @@ namespace swift::misc //! File name void setFileName(const QString &fileName) { m_fileName = fileName; } - //! Icon file representing model - const QString &getIconFile() const { return m_iconFile; } - - //! Icon file representing model - void setIconFile(const QString &iconFile) { m_iconFile = iconFile; } - - //! Is the icon file existing? - bool hasExistingIconFile() const; - //! Get timestamp QDateTime getFileTimestamp() const; @@ -508,9 +498,6 @@ namespace swift::misc //! Set file timestamp, timestamp and file name void setFileDetailsAndTimestamp(const QFileInfo &fileInfo); - //! Load icon from disk - CPixmap loadIcon(CStatusMessage &success) const; - //! File path for DB (absolute paths make no sense in DB) void normalizeFileNameForDb(); @@ -584,7 +571,6 @@ namespace swift::misc QString m_name; //!< Model name QString m_description; //!< descriptive text QString m_fileName; //!< file name - QString m_iconFile; //!< a file representing the aircraft as icon QString m_supportedParts; //!< supported parts qint64 m_fileTimestamp = -1; //!< file timestamp of originating file (if applicable) ModelType m_modelType = TypeUnknown; //!< model string is coming representing ...? @@ -608,7 +594,6 @@ namespace swift::misc SWIFT_METAMEMBER(name), SWIFT_METAMEMBER(description, 0, DisabledForComparison), SWIFT_METAMEMBER(fileName, 0, DisabledForComparison), - SWIFT_METAMEMBER(iconFile, 0, DisabledForComparison), SWIFT_METAMEMBER(fileTimestamp, 0, DisabledForComparison), SWIFT_METAMEMBER(modelType), SWIFT_METAMEMBER(modelMode)); diff --git a/src/misc/simulation/aircraftmodellist.cpp b/src/misc/simulation/aircraftmodellist.cpp index e029b1ba6..b6ede7cf1 100644 --- a/src/misc/simulation/aircraftmodellist.cpp +++ b/src/misc/simulation/aircraftmodellist.cpp @@ -559,20 +559,6 @@ namespace swift::misc::simulation return ac.key(max); } - QString CAircraftModelList::findModelIconPathByModelString(const QString &modelString) const - { - if (modelString.isEmpty()) { return {}; } - const CAircraftModel m(findFirstByModelStringOrDefault(modelString, Qt::CaseInsensitive)); - return m.getIconFile(); - } - - QString CAircraftModelList::findModelIconPathByCallsign(const CCallsign &callsign) const - { - if (callsign.isEmpty()) { return {}; } - const CAircraftModel m(findFirstByCallsignOrDefault(callsign)); - return m.getIconFile(); - } - CAircraftModelList CAircraftModelList::findModelsWithoutExistingFile() const { return this->findBy([](const CAircraftModel &model) { return !model.hasExistingCorrespondingFile(); }); diff --git a/src/misc/simulation/aircraftmodellist.h b/src/misc/simulation/aircraftmodellist.h index 90699ebb0..2fd3c2127 100644 --- a/src/misc/simulation/aircraftmodellist.h +++ b/src/misc/simulation/aircraftmodellist.h @@ -261,12 +261,6 @@ namespace swift::misc //! Find by categories CAircraftModelList findByCategories(const aviation::CAircraftCategoryList &categories) const; - //! Model icon path - QString findModelIconPathByModelString(const QString &modelString) const; - - //! Model icon path - QString findModelIconPathByCallsign(const aviation::CCallsign &callsign) const; - //! Find models where the filename is not set or the file no longer exists CAircraftModelList findModelsWithoutExistingFile() const; diff --git a/src/misc/simulation/fscommon/aircraftcfgentries.cpp b/src/misc/simulation/fscommon/aircraftcfgentries.cpp index 20c4f8687..09fce8f2a 100644 --- a/src/misc/simulation/fscommon/aircraftcfgentries.cpp +++ b/src/misc/simulation/fscommon/aircraftcfgentries.cpp @@ -99,7 +99,6 @@ namespace swift::misc::simulation::fscommon model.setName(this->getSimName()); model.setMSecsSinceEpoch(m_timestampMSecsSinceEpoch); // aircraft.cfg file timestamp model.setFileTimestamp(m_timestampMSecsSinceEpoch); - model.setIconFile(this->getThumbnailFileNameChecked()); const QString designator(CAircraftIcaoCode::normalizeDesignator(this->getAtcModel())); CAircraftIcaoCode aircraft(CAircraftIcaoCode::isValidDesignator(designator) ? @@ -125,23 +124,6 @@ namespace swift::misc::simulation::fscommon return model; } - QString CAircraftCfgEntries::getThumbnailFileNameGuess() const - { - if (m_texture.isEmpty()) { return {}; } - if (m_fileName.isEmpty()) { return {}; } - QString fn = QDir::cleanPath(this->getFileDirectory() + QDir::separator() + "texture." + m_texture + - QDir::separator() + "thumbnail.jpg"); - return fn; - } - - QString CAircraftCfgEntries::getThumbnailFileNameChecked() const - { - const QString f(getThumbnailFileNameGuess()); - if (f.isEmpty()) { return {}; } - if (QFile(f).exists()) { return f; } - return {}; - } - QVariant CAircraftCfgEntries::propertyByIndex(swift::misc::CPropertyIndexRef index) const { if (index.isMyself()) { return QVariant::fromValue(*this); } diff --git a/src/misc/simulation/fscommon/aircraftcfgentries.h b/src/misc/simulation/fscommon/aircraftcfgentries.h index a024b8ba8..ef8b29824 100644 --- a/src/misc/simulation/fscommon/aircraftcfgentries.h +++ b/src/misc/simulation/fscommon/aircraftcfgentries.h @@ -162,13 +162,6 @@ namespace swift::misc::simulation::fscommon //! To aircraft model swift::misc::simulation::CAircraftModel toAircraftModel() const; - //! Thumbnail.jpg path if possible - QString getThumbnailFileNameGuess() const; - - //! Thumbnail.jpg path if possible, and checked if file exists - //! \remark checks file existence, consider I/O load - QString getThumbnailFileNameChecked() const; - //! \copydoc swift::misc::mixin::Index::propertyByIndex QVariant propertyByIndex(swift::misc::CPropertyIndexRef index) const; diff --git a/src/misc/simulation/simulatedaircraft.h b/src/misc/simulation/simulatedaircraft.h index 505d3e50b..7d8ffcd47 100644 --- a/src/misc/simulation/simulatedaircraft.h +++ b/src/misc/simulation/simulatedaircraft.h @@ -406,9 +406,6 @@ namespace swift::misc //! Difference of network and (rendered) livery code QString getNetworkModelLiveryDifference() const; - //! \copydoc swift::misc::simulation::CAircraftModel::getIconFile - const QString &getIconFile() const { return m_models[CurrentModel].getIconFile(); } - //! Get model string const QString &getModelString() const { return m_models[CurrentModel].getModelString(); }