diff --git a/src/gui/components/dbownmodelscomponent.cpp b/src/gui/components/dbownmodelscomponent.cpp index 69687e37a..6b94c12c2 100644 --- a/src/gui/components/dbownmodelscomponent.cpp +++ b/src/gui/components/dbownmodelscomponent.cpp @@ -310,409 +310,7 @@ namespace swift::gui::components QPointer ownModelsComp(qobject_cast(this->parent())); Q_ASSERT_X(ownModelsComp, Q_FUNC_INFO, "Cannot access parent"); - if (m_loadActions.isEmpty()) { m_loadActions = QList(sims.numberSimulators(), nullptr); } menuActions.addMenuSimulator(); - if (sims.isFSX()) - { - if (!m_loadActions[0]) - { - m_loadActions[0] = new QAction(CIcons::appModels16(), "FSX models", this); - connect(m_loadActions[0], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->setSimulator(CSimulatorInfo::fsx(), true); - }); - } - menuActions.addAction(m_loadActions[0], CMenuAction::pathSimulator()); - } - if (sims.isP3D()) - { - if (!m_loadActions[1]) - { - m_loadActions[1] = new QAction(CIcons::appModels16(), "P3D models", this); - connect(m_loadActions[1], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->setSimulator(CSimulatorInfo::p3d(), true); - }); - } - menuActions.addAction(m_loadActions[1], CMenuAction::pathSimulator()); - } - if (sims.isFS9()) - { - if (!m_loadActions[2]) - { - m_loadActions[2] = new QAction(CIcons::appModels16(), "FS9 models", this); - connect(m_loadActions[2], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->setSimulator(CSimulatorInfo::fs9(), true); - }); - } - menuActions.addAction(m_loadActions[2], CMenuAction::pathSimulator()); - } - if (sims.isXPlane()) - { - if (!m_loadActions[3]) - { - m_loadActions[3] = new QAction(CIcons::appModels16(), "XPlane models", this); - connect(m_loadActions[3], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->setSimulator(CSimulatorInfo::xplane(), true); - }); - } - menuActions.addAction(m_loadActions[3], CMenuAction::pathSimulator()); - } - if (sims.isFG()) - { - if (!m_loadActions[4]) - { - m_loadActions[4] = new QAction(CIcons::appModels16(), "FG models", this); - connect(m_loadActions[4], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->setSimulator(CSimulatorInfo::fg(), true); - }); - } - menuActions.addAction(m_loadActions[4], CMenuAction::pathSimulator()); - } - if (sims.isMSFS()) - { - if (!m_loadActions[5]) - { - m_loadActions[5] = new QAction(CIcons::appModels16(), "MSFS models", this); - connect(m_loadActions[5], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->setSimulator(CSimulatorInfo::msfs(), true); - }); - } - menuActions.addAction(m_loadActions[5], CMenuAction::pathSimulator()); - } - if (sims.isMSFS2024()) - { - if (!m_loadActions[6]) - { - m_loadActions[6] = new QAction(CIcons::appModels16(), "MSFS2024 models", this); - connect(m_loadActions[6], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->setSimulator(CSimulatorInfo::msfs2024(), true); - }); - } - menuActions.addAction(m_loadActions[6], CMenuAction::pathSimulator()); - } - - // with models loaded I allow a refresh reload - // I need those models because I want to merge with DB data in the loader - if (sGui && sGui->getWebDataServices() && sGui->getWebDataServices()->getModelsCount() > 0) - { - if (m_reloadActions.isEmpty()) - { - // Two reload actions per simulator - m_reloadActions = QList(sims.numberSimulators() * 2, nullptr); - } - menuActions.addMenu(CIcons::refresh16(), "Force model reload", - CMenuAction::pathSimulatorModelsReload()); - if (sims.isFSX()) - { - if (!m_reloadActions[0]) - { - m_reloadActions[0] = new QAction(CIcons::appModels16(), "FSX models", this); - connect(m_reloadActions[0], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->requestSimulatorModels(CSimulatorInfo::fsx(), - IAircraftModelLoader::InBackgroundNoCache); - }); - - m_reloadActions[1] = new QAction(CIcons::appModels16(), "FSX models from directory", this); - connect(m_reloadActions[1], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - const CSimulatorInfo sim(CSimulatorInfo::FSX); - const QString dir = ownModelsComp->directorySelector(sim); - if (!dir.isEmpty()) - { - ownModelsComp->requestSimulatorModels(sim, IAircraftModelLoader::InBackgroundNoCache, - QStringList(dir)); - } - }); - } - menuActions.addAction(m_reloadActions[0], CMenuAction::pathSimulatorModelsReload()); - menuActions.addAction(m_reloadActions[1], CMenuAction::pathSimulatorModelsReload()); - } - if (sims.isP3D()) - { - if (!m_reloadActions[2]) - { - m_reloadActions[2] = new QAction(CIcons::appModels16(), "P3D models", this); - connect(m_reloadActions[2], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->requestSimulatorModels(CSimulatorInfo::p3d(), - IAircraftModelLoader::InBackgroundNoCache); - }); - - m_reloadActions[3] = new QAction(CIcons::appModels16(), "P3D models from directoy", this); - connect(m_reloadActions[3], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - const CSimulatorInfo sim(CSimulatorInfo::P3D); - const QString dir = ownModelsComp->directorySelector(sim); - if (!dir.isEmpty()) - { - ownModelsComp->requestSimulatorModels(sim, IAircraftModelLoader::InBackgroundNoCache, - QStringList(dir)); - } - }); - } - menuActions.addAction(m_reloadActions[2], CMenuAction::pathSimulatorModelsReload()); - menuActions.addAction(m_reloadActions[3], CMenuAction::pathSimulatorModelsReload()); - } - if (sims.isFS9()) - { - if (!m_reloadActions[4]) - { - m_reloadActions[4] = new QAction(CIcons::appModels16(), "FS9 models", this); - connect(m_reloadActions[4], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->requestSimulatorModels(CSimulatorInfo::fs9(), - IAircraftModelLoader::InBackgroundNoCache); - }); - - m_reloadActions[5] = new QAction(CIcons::appModels16(), "FS9 models from directoy", this); - connect(m_reloadActions[5], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - const CSimulatorInfo sim(CSimulatorInfo::FS9); - const QString dir = ownModelsComp->directorySelector(sim); - if (!dir.isEmpty()) - { - ownModelsComp->requestSimulatorModels(sim, IAircraftModelLoader::InBackgroundNoCache, - QStringList(dir)); - } - }); - } - menuActions.addAction(m_reloadActions[4], CMenuAction::pathSimulatorModelsReload()); - menuActions.addAction(m_reloadActions[5], CMenuAction::pathSimulatorModelsReload()); - } - if (sims.isXPlane()) - { - if (!m_reloadActions[6]) - { - m_reloadActions[6] = new QAction(CIcons::appModels16(), "XPlane models", this); - connect(m_reloadActions[6], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->requestSimulatorModels(CSimulatorInfo::xplane(), - IAircraftModelLoader::InBackgroundNoCache); - }); - m_reloadActions[7] = new QAction(CIcons::appModels16(), "XPlane models from directoy", this); - connect(m_reloadActions[7], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - const CSimulatorInfo sim(CSimulatorInfo::XPLANE); - const QString dir = ownModelsComp->directorySelector(sim); - if (!dir.isEmpty()) - { - ownModelsComp->requestSimulatorModels(sim, IAircraftModelLoader::InBackgroundNoCache, - QStringList(dir)); - } - }); - } - menuActions.addAction(m_reloadActions[6], CMenuAction::pathSimulatorModelsReload()); - menuActions.addAction(m_reloadActions[7], CMenuAction::pathSimulatorModelsReload()); - } - - if (sims.isFG()) - { - if (!m_reloadActions[8]) - { - m_reloadActions[8] = new QAction(CIcons::appModels16(), "FG models", this); - connect(m_reloadActions[8], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->requestSimulatorModels(CSimulatorInfo::fg(), - IAircraftModelLoader::InBackgroundNoCache); - }); - m_reloadActions[9] = new QAction(CIcons::appModels16(), "FG models from directoy", this); - connect(m_reloadActions[9], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - const CSimulatorInfo sim(CSimulatorInfo::FG); - const QString dir = ownModelsComp->directorySelector(sim); - if (!dir.isEmpty()) - { - ownModelsComp->requestSimulatorModels(sim, IAircraftModelLoader::InBackgroundNoCache, - QStringList(dir)); - } - }); - } - menuActions.addAction(m_reloadActions[8], CMenuAction::pathSimulatorModelsReload()); - menuActions.addAction(m_reloadActions[9], CMenuAction::pathSimulatorModelsReload()); - } - if (sims.isMSFS()) - { - if (!m_reloadActions[10]) - { - m_reloadActions[10] = new QAction(CIcons::appModels16(), "MSFS models", this); - connect(m_reloadActions[10], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->requestSimulatorModels(CSimulatorInfo::msfs(), - IAircraftModelLoader::InBackgroundNoCache); - }); - m_reloadActions[11] = new QAction(CIcons::appModels16(), "MSFS models from directoy", this); - connect(m_reloadActions[11], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - const CSimulatorInfo sim(CSimulatorInfo::MSFS); - const QString dir = ownModelsComp->directorySelector(sim); - if (!dir.isEmpty()) - { - ownModelsComp->requestSimulatorModels(sim, IAircraftModelLoader::InBackgroundNoCache, - QStringList(dir)); - } - }); - } - menuActions.addAction(m_reloadActions[10], CMenuAction::pathSimulatorModelsReload()); - menuActions.addAction(m_reloadActions[11], CMenuAction::pathSimulatorModelsReload()); - } - if (sims.isMSFS2024()) - { - if (!m_reloadActions[12]) - { - m_reloadActions[12] = new QAction(CIcons::appModels16(), "MSFS2024 models", this); - connect(m_reloadActions[12], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->requestSimulatorModels(CSimulatorInfo::msfs2024(), - IAircraftModelLoader::InBackgroundNoCache); - }); - m_reloadActions[13] = new QAction(CIcons::appModels16(), "MSFS2024 models from directoy", this); - connect(m_reloadActions[13], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - const CSimulatorInfo sim(CSimulatorInfo::MSFS2024); - const QString dir = ownModelsComp->directorySelector(sim); - if (!dir.isEmpty()) - { - ownModelsComp->requestSimulatorModels(sim, IAircraftModelLoader::InBackgroundNoCache, - QStringList(dir)); - } - }); - } - menuActions.addAction(m_reloadActions[12], CMenuAction::pathSimulatorModelsReload()); - menuActions.addAction(m_reloadActions[13], CMenuAction::pathSimulatorModelsReload()); - } - } - else - { - // dummy action grayed out - CMenuAction a = menuActions.addAction(CIcons::refresh16(), "Force model reload impossible, no DB data", - CMenuAction::pathSimulator()); - a.setActionEnabled(false); // gray out - } - - if (m_clearCacheActions.isEmpty()) - { - m_clearCacheActions = QList(sims.numberSimulators(), nullptr); - } - menuActions.addMenu(CIcons::delete16(), "Clear model caches", CMenuAction::pathSimulatorModelsClearCache()); - if (sims.isFSX()) - { - if (!m_clearCacheActions[0]) - { - m_clearCacheActions[0] = new QAction(CIcons::appModels16(), "Clear FSX cache", this); - connect(m_clearCacheActions[0], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->clearSimulatorCache(CSimulatorInfo::fsx()); - }); - } - menuActions.addAction(m_clearCacheActions[0], CMenuAction::pathSimulatorModelsClearCache()); - } - if (sims.isP3D()) - { - if (!m_clearCacheActions[1]) - { - m_clearCacheActions[1] = new QAction(CIcons::appModels16(), "Clear P3D cache", this); - connect(m_clearCacheActions[1], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->clearSimulatorCache(CSimulatorInfo::p3d()); - }); - } - menuActions.addAction(m_clearCacheActions[1], CMenuAction::pathSimulatorModelsClearCache()); - } - if (sims.isFS9()) - { - if (!m_clearCacheActions[2]) - { - m_clearCacheActions[2] = new QAction(CIcons::appModels16(), "Clear FS9 cache", this); - connect(m_clearCacheActions[2], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->clearSimulatorCache(CSimulatorInfo::fs9()); - }); - } - menuActions.addAction(m_clearCacheActions[2], CMenuAction::pathSimulatorModelsClearCache()); - } - if (sims.isXPlane()) - { - if (!m_clearCacheActions[3]) - { - m_clearCacheActions[3] = new QAction(CIcons::appModels16(), "Clear XPlane cache", this); - connect(m_clearCacheActions[3], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked); - ownModelsComp->clearSimulatorCache(CSimulatorInfo::xplane()); - }); - } - menuActions.addAction(m_clearCacheActions[3], CMenuAction::pathSimulatorModelsClearCache()); - } - if (sims.isFG()) - { - if (!m_clearCacheActions[4]) - { - m_clearCacheActions[4] = new QAction(CIcons::appModels16(), "Clear FG cache", this); - connect(m_clearCacheActions[4], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->clearSimulatorCache(CSimulatorInfo::fg()); - }); - } - menuActions.addAction(m_clearCacheActions[4], CMenuAction::pathSimulatorModelsClearCache()); - } - if (sims.isMSFS()) - { - if (!m_clearCacheActions[5]) - { - m_clearCacheActions[5] = new QAction(CIcons::appModels16(), "Clear MSFS cache", this); - connect(m_clearCacheActions[5], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->clearSimulatorCache(CSimulatorInfo::msfs()); - }); - } - menuActions.addAction(m_clearCacheActions[5], CMenuAction::pathSimulatorModelsClearCache()); - } - if (sims.isMSFS2024()) - { - if (!m_clearCacheActions[6]) - { - m_clearCacheActions[6] = new QAction(CIcons::appModels16(), "Clear MSFS2024 cache", this); - connect(m_clearCacheActions[6], &QAction::triggered, ownModelsComp, [ownModelsComp](bool checked) { - if (!ownModelsComp) { return; } - Q_UNUSED(checked) - ownModelsComp->clearSimulatorCache(CSimulatorInfo::msfs2024()); - }); - } - menuActions.addAction(m_clearCacheActions[6], CMenuAction::pathSimulatorModelsClearCache()); - } if (sims.isXPlane() && CBuildConfig::isRunningOnWindowsNtPlatform() && CBuildConfig::buildWordSize() == 64) { diff --git a/src/gui/components/dbownmodelscomponent.h b/src/gui/components/dbownmodelscomponent.h index 911587082..b47051350 100644 --- a/src/gui/components/dbownmodelscomponent.h +++ b/src/gui/components/dbownmodelscomponent.h @@ -243,9 +243,6 @@ namespace swift::gui virtual void customMenu(menus::CMenuActions &menuActions) override; private: - QList m_loadActions; //!< load actions - QList m_reloadActions; //!< reload actions - QList m_clearCacheActions; //!< clear own models cahce if ever needed QAction *m_csl2xsbAction = nullptr; //!< run csl2xsb script }; };