mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
refs #618, allow to set mode for distributors (simplified mode used for selection in dialog)
This commit is contained in:
@@ -21,7 +21,7 @@ namespace BlackGui
|
||||
namespace Models
|
||||
{
|
||||
CAtcStationListModel::CAtcStationListModel(AtcStationMode stationMode, QObject *parent) :
|
||||
CListModelBase("ModelAtcList", parent), m_stationMode(NotSet)
|
||||
CListModelBase("ModelAtcList", parent)
|
||||
{
|
||||
this->setStationMode(stationMode);
|
||||
|
||||
|
||||
@@ -20,11 +20,7 @@ namespace BlackGui
|
||||
CDistributorListModel::CDistributorListModel(QObject *parent) :
|
||||
CListModelDbObjects("ModelDistributorList", parent)
|
||||
{
|
||||
this->m_columns.addColumn(CColumn::standardString("key", CDistributor::IndexDbStringKey));
|
||||
this->m_columns.addColumn(CColumn::standardString("description", CDistributor::IndexDescription));
|
||||
this->m_columns.addColumn(CColumn::standardString("alias1", CDistributor::IndexAlias1));
|
||||
this->m_columns.addColumn(CColumn::standardString("alias2", CDistributor::IndexAlias2));
|
||||
this->m_columns.addColumn(CColumn::standardString("changed", CDistributor::IndexUtcTimestampFormattedYmdhms));
|
||||
this->setDistributorMode(Normal);
|
||||
|
||||
// force strings for translation in resource files
|
||||
(void)QT_TRANSLATE_NOOP("ModelDistributorList", "key");
|
||||
@@ -32,5 +28,44 @@ namespace BlackGui
|
||||
(void)QT_TRANSLATE_NOOP("ModelDistributorList", "alias1");
|
||||
(void)QT_TRANSLATE_NOOP("ModelDistributorList", "alias2");
|
||||
}
|
||||
|
||||
void CDistributorListModel::setDistributorMode(CDistributorListModel::DistributorMode distributorMode)
|
||||
{
|
||||
if (this->m_distributorMode == distributorMode) { return; }
|
||||
this->m_distributorMode = distributorMode;
|
||||
this->m_columns.clear();
|
||||
switch (distributorMode)
|
||||
{
|
||||
case NotSet:
|
||||
case Normal:
|
||||
{
|
||||
this->m_columns.addColumn(CColumn::standardString("key", CDistributor::IndexDbStringKey));
|
||||
this->m_columns.addColumn(CColumn::standardString("description", CDistributor::IndexDescription));
|
||||
this->m_columns.addColumn(CColumn::standardString("alias1", CDistributor::IndexAlias1));
|
||||
this->m_columns.addColumn(CColumn::standardString("alias2", CDistributor::IndexAlias2));
|
||||
this->m_columns.addColumn(CColumn::standardString("changed", CDistributor::IndexUtcTimestampFormattedYmdhms));
|
||||
|
||||
// default sort order
|
||||
this->setSortColumnByPropertyIndex(CDistributor::IndexDbStringKey);
|
||||
this->m_sortOrder = Qt::AscendingOrder;
|
||||
}
|
||||
break;
|
||||
|
||||
case Minimal:
|
||||
{
|
||||
this->m_columns.addColumn(CColumn::standardString("key", CDistributor::IndexDbStringKey));
|
||||
this->m_columns.addColumn(CColumn::standardString("description", CDistributor::IndexDescription));
|
||||
|
||||
// default sort order
|
||||
this->setSortColumnByPropertyIndex(CDistributor::IndexDbStringKey);
|
||||
this->m_sortOrder = Qt::AscendingOrder;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
qFatal("Wrong mode");
|
||||
break;
|
||||
}
|
||||
}
|
||||
} // class
|
||||
} // namespace
|
||||
|
||||
@@ -26,11 +26,28 @@ namespace BlackGui
|
||||
public CListModelDbObjects<BlackMisc::Simulation::CDistributor, BlackMisc::Simulation::CDistributorList, QString, true>
|
||||
{
|
||||
public:
|
||||
//! What kind of stations
|
||||
enum DistributorMode
|
||||
{
|
||||
NotSet,
|
||||
Normal,
|
||||
Minimal
|
||||
};
|
||||
|
||||
//! Constructor
|
||||
explicit CDistributorListModel(QObject *parent = nullptr);
|
||||
|
||||
//! Destructor
|
||||
virtual ~CDistributorListModel() {}
|
||||
|
||||
//! Set mode
|
||||
void setDistributorMode(DistributorMode distributorMode);
|
||||
|
||||
//! Mode
|
||||
DistributorMode getDistributorMode() const { return this->m_distributorMode; }
|
||||
|
||||
private:
|
||||
DistributorMode m_distributorMode = NotSet;
|
||||
};
|
||||
} // ns
|
||||
} // ns
|
||||
|
||||
@@ -22,5 +22,15 @@ namespace BlackGui
|
||||
this->standardInit(new CDistributorListModel(this));
|
||||
this->setMenu(MenuDefaultDbViews);
|
||||
}
|
||||
|
||||
void CDistributorView::setDistributorMode(CDistributorListModel::DistributorMode distributorMode)
|
||||
{
|
||||
derivedModel()->setDistributorMode(distributorMode);
|
||||
}
|
||||
|
||||
CDistributorListModel::DistributorMode CDistributorView::getDistributorMode() const
|
||||
{
|
||||
return derivedModel()->getDistributorMode();
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -27,6 +27,12 @@ namespace BlackGui
|
||||
public:
|
||||
//! Constructor
|
||||
explicit CDistributorView(QWidget *parent = nullptr);
|
||||
|
||||
//! Set mode
|
||||
void setDistributorMode(BlackGui::Models::CDistributorListModel::DistributorMode distributorMode);
|
||||
|
||||
//! Mode
|
||||
BlackGui::Models::CDistributorListModel::DistributorMode getDistributorMode() const;
|
||||
};
|
||||
} // ns
|
||||
} // ns
|
||||
|
||||
Reference in New Issue
Block a user