refs #577, better context menus

This commit is contained in:
Klaus Basan
2016-02-01 03:27:01 +01:00
parent daa3c9be81
commit c1bfd2f6ee
8 changed files with 30 additions and 17 deletions

View File

@@ -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()

View File

@@ -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

View File

@@ -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;
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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;