mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-24 07:55:35 +08:00
refs #577, better context menus
This commit is contained in:
@@ -40,7 +40,6 @@ namespace BlackGui
|
||||
// configure view
|
||||
this->ui->tvp_AircraftModel->setFilterWidget(this->ui->filter_AircraftModelFilter);
|
||||
this->ui->tvp_AircraftModel->allowDragDropValueObjects(true, false);
|
||||
this->ui->tvp_AircraftModel->menuAddItems(CAircraftModelView::MenuCanStashModels);
|
||||
}
|
||||
|
||||
CDbModelComponent::~CDbModelComponent()
|
||||
|
||||
@@ -17,10 +17,11 @@ namespace BlackGui
|
||||
{
|
||||
namespace Views
|
||||
{
|
||||
CAircraftIcaoCodeView::CAircraftIcaoCodeView(QWidget *parent) : CViewWithDbObjects(parent)
|
||||
CAircraftIcaoCodeView::CAircraftIcaoCodeView(QWidget *parent) :
|
||||
CViewWithDbObjects(parent)
|
||||
{
|
||||
this->m_menus |= MenuBackend;
|
||||
this->standardInit(new CAircraftIcaoCodeListModel(this));
|
||||
this->setMenu(MenuDefaultDbViews);
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -52,20 +52,20 @@ namespace BlackGui
|
||||
switch (mode)
|
||||
{
|
||||
case CAircraftModelListModel::StashModel:
|
||||
this->m_menus = MenuClear | MenuHighlightDbData;
|
||||
this->m_menus = MenuDefaultNoClear | MenuHighlightDbData;
|
||||
break;
|
||||
case CAircraftModelListModel::Database:
|
||||
this->m_menus = MenuBackend;
|
||||
this->m_menus = MenuDefaultDbViews;
|
||||
break;
|
||||
case CAircraftModelListModel::VPilotRuleModel:
|
||||
this->m_menus = MenuRefresh | MenuStashing | MenuToggleSelectionMode;
|
||||
this->m_menus = MenuDefaultNoClear | MenuStashing;
|
||||
break;
|
||||
case CAircraftModelListModel::OwnSimulatorModelMapping:
|
||||
this->m_menus = MenuDisplayAutomatically | MenuStashing | MenuHighlightDbData | MenuToggleSelectionMode;
|
||||
this->m_menus = MenuDefaultNoClear | MenuStashing | MenuHighlightDbData | MenuLoadAndSave;
|
||||
break;
|
||||
case CAircraftModelListModel::OwnSimulatorModel:
|
||||
default:
|
||||
this->m_menus = MenuDisplayAutomatically | MenuBackend | MenuRefresh | MenuHighlightDbData;
|
||||
this->m_menus = MenuDefaultNoClear | MenuBackend | MenuHighlightDbData;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,10 +17,11 @@ namespace BlackGui
|
||||
{
|
||||
namespace Views
|
||||
{
|
||||
CAirlineIcaoCodeView::CAirlineIcaoCodeView(QWidget *parent) : CViewWithDbObjects(parent)
|
||||
CAirlineIcaoCodeView::CAirlineIcaoCodeView(QWidget *parent) :
|
||||
CViewWithDbObjects(parent)
|
||||
{
|
||||
this->m_menus |= MenuBackend;
|
||||
this->standardInit(new CAirlineIcaoCodeListModel(this));
|
||||
this->setMenu(MenuDefaultDbViews);
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -16,10 +16,11 @@ namespace BlackGui
|
||||
{
|
||||
namespace Views
|
||||
{
|
||||
CCountryView::CCountryView(QWidget *parent) : CViewBase(parent)
|
||||
CCountryView::CCountryView(QWidget *parent) :
|
||||
CViewBase(parent)
|
||||
{
|
||||
this->m_menus |= MenuBackend;
|
||||
this->standardInit(new CCountryListModel(this));
|
||||
this->setMenu(MenuDefaultDbViews);
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -16,10 +16,11 @@ namespace BlackGui
|
||||
{
|
||||
namespace Views
|
||||
{
|
||||
CDistributorView::CDistributorView(QWidget *parent) : CViewWithDbObjects(parent)
|
||||
CDistributorView::CDistributorView(QWidget *parent) :
|
||||
CViewWithDbObjects(parent)
|
||||
{
|
||||
this->m_menus |= MenuBackend;
|
||||
this->standardInit(new CDistributorListModel(this));
|
||||
this->setMenu(MenuDefaultDbViews);
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -16,10 +16,11 @@ namespace BlackGui
|
||||
{
|
||||
namespace Views
|
||||
{
|
||||
CLiveryView::CLiveryView(QWidget *parent) : CViewWithDbObjects(parent)
|
||||
CLiveryView::CLiveryView(QWidget *parent) :
|
||||
CViewWithDbObjects(parent)
|
||||
{
|
||||
this->m_menus |= MenuBackend;
|
||||
this->standardInit(new CLiveryListModel(this));
|
||||
this->setMenu(MenuDefaultDbViews);
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -74,6 +74,7 @@ namespace BlackGui
|
||||
MenuRefresh = 1 << 2, ///< allow refreshing the view via menu
|
||||
MenuBackend = 1 << 3, ///< allow to request data from backend
|
||||
MenuDisplayAutomatically = 1 << 4, ///< allow to switch display automatically
|
||||
MenuDisplayAutomaticallyAndRefresh = MenuDisplayAutomatically | MenuRefresh, ///< should come together
|
||||
MenuFilter = 1 << 5, ///< filter can be opened
|
||||
MenuSave = 1 << 6, ///< save as JSON
|
||||
MenuLoad = 1 << 7, ///< load from JSON
|
||||
@@ -81,7 +82,9 @@ namespace BlackGui
|
||||
MenuStandard = MenuClear | MenuRemoveSelectedRows | MenuRefresh | MenuBackend |
|
||||
MenuDisplayAutomatically | MenuFilter | MenuSave | MenuLoad | MenuToggleSelectionMode,
|
||||
MenuLoadAndSave = MenuLoad | MenuSave,
|
||||
MenuDefault = MenuClear | MenuDisplayAutomatically | MenuToggleSelectionMode,
|
||||
MenuDefault = MenuClear | MenuDisplayAutomaticallyAndRefresh | MenuToggleSelectionMode,
|
||||
MenuDefaultNoClear = MenuDisplayAutomaticallyAndRefresh | MenuToggleSelectionMode,
|
||||
MenuDefaultDbViews = MenuToggleSelectionMode | MenuBackend,
|
||||
// special menus, should be in derived classes, but enums cannot be inherited
|
||||
// maybe shifted in the future to elsewhere
|
||||
MenuHighlightDbData = 1 << 9, ///< highlight DB data
|
||||
@@ -182,6 +185,12 @@ namespace BlackGui
|
||||
//! Add given menu items
|
||||
void menuAddItems(Menu menusToRemove);
|
||||
|
||||
//! Set menu items
|
||||
void setMenu(Menu menuItems) { this->m_menus = menuItems; }
|
||||
|
||||
//! Menus
|
||||
Menu getMenu() const { return this->m_menus; }
|
||||
|
||||
//! \copydoc QTableView::setSelectionModel();
|
||||
virtual void setSelectionModel(QItemSelectionModel *model) override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user