mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-23 05:45:35 +08:00
refs #720, finetuning
* show menus even if DB is not present * avoid selection of too big data set (which takes to long to handle) * remaining renamings * show all sims in menu, even if not intalled
This commit is contained in:
committed by
Mathew Sutcliffe
parent
ecfe4ab1fc
commit
227262c2cc
@@ -853,9 +853,6 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
CDbMappingComponent *mapComp = mappingComponent();
|
CDbMappingComponent *mapComp = mappingComponent();
|
||||||
Q_ASSERT_X(mapComp, Q_FUNC_INFO, "no mapping component");
|
Q_ASSERT_X(mapComp, Q_FUNC_INFO, "no mapping component");
|
||||||
const bool canConnectDb = sGui->getWebDataServices()->canConnectSwiftDb();
|
|
||||||
if (!canConnectDb) { this->nestedCustomMenu(menuActions); return; }
|
|
||||||
|
|
||||||
if (!mapComp->currentModelView()->isEmpty() && mapComp->currentModelView()->getMenu().testFlag(CViewBaseNonTemplate::MenuCanStashModels))
|
if (!mapComp->currentModelView()->isEmpty() && mapComp->currentModelView()->getMenu().testFlag(CViewBaseNonTemplate::MenuCanStashModels))
|
||||||
{
|
{
|
||||||
menuActions.addMenuStash();
|
menuActions.addMenuStash();
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ namespace BlackGui
|
|||||||
ui->tvp_OwnModelSet->addFilterDialog();
|
ui->tvp_OwnModelSet->addFilterDialog();
|
||||||
ui->tvp_OwnModelSet->setJsonLoad(CAircraftModelView::AllowOnlySingleSimulator | CAircraftModelView::ReduceToOneSimulator);
|
ui->tvp_OwnModelSet->setJsonLoad(CAircraftModelView::AllowOnlySingleSimulator | CAircraftModelView::ReduceToOneSimulator);
|
||||||
ui->tvp_OwnModelSet->setCustomMenu(new CLoadModelsMenu(this));
|
ui->tvp_OwnModelSet->setCustomMenu(new CLoadModelsMenu(this));
|
||||||
ui->tvp_OwnModelSet->setCustomMenu(new CMergeWithDbDataMenu(ui->tvp_OwnModelSet, this, true));
|
ui->tvp_OwnModelSet->setCustomMenu(new CConsolidateWithDbDataMenu(ui->tvp_OwnModelSet, this, true));
|
||||||
ui->tvp_OwnModelSet->menuAddItems(CAircraftModelView::MenuOrderable);
|
ui->tvp_OwnModelSet->menuAddItems(CAircraftModelView::MenuOrderable);
|
||||||
ui->tvp_OwnModelSet->setSorting(CAircraftModel::IndexOrderString);
|
ui->tvp_OwnModelSet->setSorting(CAircraftModel::IndexOrderString);
|
||||||
ui->tvp_OwnModelSet->initAsOrderable();
|
ui->tvp_OwnModelSet->initAsOrderable();
|
||||||
@@ -332,7 +332,8 @@ namespace BlackGui
|
|||||||
|
|
||||||
void CDbOwnModelSetComponent::CLoadModelsMenu::customMenu(CMenuActions &menuActions)
|
void CDbOwnModelSetComponent::CLoadModelsMenu::customMenu(CMenuActions &menuActions)
|
||||||
{
|
{
|
||||||
const CSimulatorInfo sims = CSimulatorInfo::getLocallyInstalledSimulators();
|
// for the moment I use all sims, I could restrict to CSimulatorInfo::getLocallyInstalledSimulators();
|
||||||
|
const CSimulatorInfo sims = CSimulatorInfo::allSimulators();
|
||||||
const bool noSims = sims.isNoSimulator() || sims.isUnspecified();
|
const bool noSims = sims.isNoSimulator() || sims.isUnspecified();
|
||||||
if (!noSims)
|
if (!noSims)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
int CAircraftModelView::removeModelsWithModelString(const CAircraftModelList &models, Qt::CaseSensitivity sensitivity)
|
int CAircraftModelView::removeModelsWithModelString(const CAircraftModelList &models, Qt::CaseSensitivity sensitivity)
|
||||||
{
|
{
|
||||||
return this->removeModelsWithModelString(models.getModelStrings(), sensitivity);
|
return this->removeModelsWithModelString(models.getModelStringList(), sensitivity);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CAircraftModelView::replaceOrAddModelsWithString(const CAircraftModelList &models, Qt::CaseSensitivity sensitivity)
|
int CAircraftModelView::replaceOrAddModelsWithString(const CAircraftModelList &models, Qt::CaseSensitivity sensitivity)
|
||||||
@@ -294,12 +294,19 @@ namespace BlackGui
|
|||||||
if (!this->m_menuFlagActions.contains(MenuCanStashModels))
|
if (!this->m_menuFlagActions.contains(MenuCanStashModels))
|
||||||
{
|
{
|
||||||
CMenuActions ma;
|
CMenuActions ma;
|
||||||
ma.addAction(CIcons::appDbStash16(), "Stash selectied", CMenuAction::pathStash(), { this, &CAircraftModelView::ps_requestStash });
|
ma.addAction(CIcons::appDbStash16(), "Stash selected", CMenuAction::pathStash(), { this, &CAircraftModelView::ps_requestStash });
|
||||||
QAction *added = ma.addAction(CIcons::appDbStash16(), "Stashing clears selection (on/off)", CMenuAction::pathStash(), { this, &CAircraftModelView::ps_stashingClearsSelection });
|
QAction *added = ma.addAction(CIcons::appDbStash16(), "Stashing clears selection (on/off)", CMenuAction::pathStash(), { this, &CAircraftModelView::ps_stashingClearsSelection });
|
||||||
added->setCheckable(true);
|
added->setCheckable(true);
|
||||||
this->m_menuFlagActions.insert(MenuCanStashModels, ma);
|
this->m_menuFlagActions.insert(MenuCanStashModels, ma);
|
||||||
}
|
}
|
||||||
QAction *a = menuActions.addActions(initMenuActions(MenuCanStashModels)).last();
|
|
||||||
|
// modify menu items
|
||||||
|
const int selected = this->selectedRowCount();
|
||||||
|
const bool tooMany = selected > 500;
|
||||||
|
const bool canStash = selected > 0 && !tooMany;
|
||||||
|
QAction *a = menuActions.addActions(initMenuActions(MenuCanStashModels)).first();
|
||||||
|
a->setEnabled(canStash);
|
||||||
|
a = menuActions.addActions(initMenuActions(MenuCanStashModels)).last();
|
||||||
a->setChecked(m_stashingClearsSelection);
|
a->setChecked(m_stashingClearsSelection);
|
||||||
used = true;
|
used = true;
|
||||||
}
|
}
|
||||||
@@ -409,7 +416,7 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
this->clearSelection();
|
this->clearSelection();
|
||||||
}
|
}
|
||||||
sGui->displayInStatusBar(CStatusMessage(CStatusMessage::SeverityInfo, "Stashed " + models.getModelStrings(true).join(" ")));
|
sGui->displayInStatusBar(CStatusMessage(CStatusMessage::SeverityInfo, "Stashed " + models.getModelStringList(true).join(" ")));
|
||||||
}
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
Reference in New Issue
Block a user