mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-21 04:45:31 +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
|
namespace Models
|
||||||
{
|
{
|
||||||
CAtcStationListModel::CAtcStationListModel(AtcStationMode stationMode, QObject *parent) :
|
CAtcStationListModel::CAtcStationListModel(AtcStationMode stationMode, QObject *parent) :
|
||||||
CListModelBase("ModelAtcList", parent), m_stationMode(NotSet)
|
CListModelBase("ModelAtcList", parent)
|
||||||
{
|
{
|
||||||
this->setStationMode(stationMode);
|
this->setStationMode(stationMode);
|
||||||
|
|
||||||
|
|||||||
@@ -20,11 +20,7 @@ namespace BlackGui
|
|||||||
CDistributorListModel::CDistributorListModel(QObject *parent) :
|
CDistributorListModel::CDistributorListModel(QObject *parent) :
|
||||||
CListModelDbObjects("ModelDistributorList", parent)
|
CListModelDbObjects("ModelDistributorList", parent)
|
||||||
{
|
{
|
||||||
this->m_columns.addColumn(CColumn::standardString("key", CDistributor::IndexDbStringKey));
|
this->setDistributorMode(Normal);
|
||||||
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));
|
|
||||||
|
|
||||||
// force strings for translation in resource files
|
// force strings for translation in resource files
|
||||||
(void)QT_TRANSLATE_NOOP("ModelDistributorList", "key");
|
(void)QT_TRANSLATE_NOOP("ModelDistributorList", "key");
|
||||||
@@ -32,5 +28,44 @@ namespace BlackGui
|
|||||||
(void)QT_TRANSLATE_NOOP("ModelDistributorList", "alias1");
|
(void)QT_TRANSLATE_NOOP("ModelDistributorList", "alias1");
|
||||||
(void)QT_TRANSLATE_NOOP("ModelDistributorList", "alias2");
|
(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
|
} // class
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -26,11 +26,28 @@ namespace BlackGui
|
|||||||
public CListModelDbObjects<BlackMisc::Simulation::CDistributor, BlackMisc::Simulation::CDistributorList, QString, true>
|
public CListModelDbObjects<BlackMisc::Simulation::CDistributor, BlackMisc::Simulation::CDistributorList, QString, true>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
//! What kind of stations
|
||||||
|
enum DistributorMode
|
||||||
|
{
|
||||||
|
NotSet,
|
||||||
|
Normal,
|
||||||
|
Minimal
|
||||||
|
};
|
||||||
|
|
||||||
//! Constructor
|
//! Constructor
|
||||||
explicit CDistributorListModel(QObject *parent = nullptr);
|
explicit CDistributorListModel(QObject *parent = nullptr);
|
||||||
|
|
||||||
//! Destructor
|
//! Destructor
|
||||||
virtual ~CDistributorListModel() {}
|
virtual ~CDistributorListModel() {}
|
||||||
|
|
||||||
|
//! Set mode
|
||||||
|
void setDistributorMode(DistributorMode distributorMode);
|
||||||
|
|
||||||
|
//! Mode
|
||||||
|
DistributorMode getDistributorMode() const { return this->m_distributorMode; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
DistributorMode m_distributorMode = NotSet;
|
||||||
};
|
};
|
||||||
} // ns
|
} // ns
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -22,5 +22,15 @@ namespace BlackGui
|
|||||||
this->standardInit(new CDistributorListModel(this));
|
this->standardInit(new CDistributorListModel(this));
|
||||||
this->setMenu(MenuDefaultDbViews);
|
this->setMenu(MenuDefaultDbViews);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CDistributorView::setDistributorMode(CDistributorListModel::DistributorMode distributorMode)
|
||||||
|
{
|
||||||
|
derivedModel()->setDistributorMode(distributorMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
CDistributorListModel::DistributorMode CDistributorView::getDistributorMode() const
|
||||||
|
{
|
||||||
|
return derivedModel()->getDistributorMode();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -27,6 +27,12 @@ namespace BlackGui
|
|||||||
public:
|
public:
|
||||||
//! Constructor
|
//! Constructor
|
||||||
explicit CDistributorView(QWidget *parent = nullptr);
|
explicit CDistributorView(QWidget *parent = nullptr);
|
||||||
|
|
||||||
|
//! Set mode
|
||||||
|
void setDistributorMode(BlackGui::Models::CDistributorListModel::DistributorMode distributorMode);
|
||||||
|
|
||||||
|
//! Mode
|
||||||
|
BlackGui::Models::CDistributorListModel::DistributorMode getDistributorMode() const;
|
||||||
};
|
};
|
||||||
} // ns
|
} // ns
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
Reference in New Issue
Block a user