mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
Ref T529, allow to set mode in view/model
The version with the container allows to auto-detect if order is available
This commit is contained in:
committed by
Mat Sutcliffe
parent
b9bc0757c5
commit
32985c78da
@@ -37,11 +37,32 @@ namespace BlackGui
|
||||
(void)QT_TRANSLATE_NOOP("ViewStatusMessageList", "all categories");
|
||||
}
|
||||
|
||||
void CStatusMessageListModel::setMode(CStatusMessageListModel::Mode mode, const CStatusMessageList &messages)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case DetailedWithOrder:
|
||||
case Detailed:
|
||||
this->setMode(messages.needsOrder() ? Detailed : DetailedWithOrder);
|
||||
break;
|
||||
case SimplifiedWithOrder:
|
||||
case Simplified:
|
||||
this->setMode(messages.needsOrder() ? Simplified : SimplifiedWithOrder);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void CStatusMessageListModel::setMode(CStatusMessageListModel::Mode mode)
|
||||
{
|
||||
m_columns.clear();
|
||||
m_sortColumn = CStatusMessage::IndexUtcTimestamp;
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case DetailedWithOrder:
|
||||
m_columns.addColumn(CColumn::orderColumn());
|
||||
m_sortColumn = CStatusMessage::IndexOrder;
|
||||
Q_FALLTHROUGH();
|
||||
case Detailed:
|
||||
{
|
||||
m_columns.addColumn(CColumn("time", CStatusMessage::IndexUtcTimestamp, new CDateTimeFormatter(CDateTimeFormatter::formatHmsz())));
|
||||
@@ -51,10 +72,13 @@ namespace BlackGui
|
||||
m_columns.addColumn(CColumn::standardString("message", CStatusMessage::IndexMessage));
|
||||
m_columns.addColumn(CColumn::standardString("category", CStatusMessage::IndexCategoryHumanReadableOrTechnicalAsString));
|
||||
|
||||
m_sortColumn = CStatusMessage::IndexUtcTimestamp;
|
||||
m_sortOrder = Qt::DescendingOrder;
|
||||
}
|
||||
break;
|
||||
case SimplifiedWithOrder:
|
||||
m_columns.addColumn(CColumn::orderColumn());
|
||||
m_sortColumn = CStatusMessage::IndexOrder;
|
||||
Q_FALLTHROUGH();
|
||||
case Simplified:
|
||||
{
|
||||
m_columns.addColumn(CColumn("time", CStatusMessage::IndexUtcTimestamp, new CDateTimeFormatter(CDateTimeFormatter::formatHmsz())));
|
||||
|
||||
@@ -33,7 +33,9 @@ namespace BlackGui
|
||||
enum Mode
|
||||
{
|
||||
Detailed,
|
||||
Simplified
|
||||
DetailedWithOrder,
|
||||
Simplified,
|
||||
SimplifiedWithOrder
|
||||
};
|
||||
|
||||
//! Constructor
|
||||
@@ -45,6 +47,9 @@ namespace BlackGui
|
||||
//! Set mode
|
||||
void setMode(Mode mode);
|
||||
|
||||
//! Set mode and adjust order/no order
|
||||
void setMode(Mode mode, const BlackMisc::CStatusMessageList &messages);
|
||||
|
||||
//! \copydoc QAbstractItemModel::data
|
||||
virtual QVariant data(const QModelIndex &index, int role) const override;
|
||||
};
|
||||
|
||||
@@ -33,6 +33,11 @@ namespace BlackGui
|
||||
this->derivedModel()->setMode(mode);
|
||||
}
|
||||
|
||||
void CStatusMessageView::setMode(CStatusMessageListModel::Mode mode, const CStatusMessageList &messages)
|
||||
{
|
||||
this->derivedModel()->setMode(mode, messages);
|
||||
}
|
||||
|
||||
void CStatusMessageView::addFilterDialog()
|
||||
{
|
||||
if (this->getFilterDialog()) { return; } // already existing
|
||||
|
||||
@@ -37,6 +37,9 @@ namespace BlackGui
|
||||
//! Set mode
|
||||
void setMode(Models::CStatusMessageListModel::Mode mode);
|
||||
|
||||
//! Set mode and adjust order/no order
|
||||
void setMode(Models::CStatusMessageListModel::Mode mode, const BlackMisc::CStatusMessageList &messages);
|
||||
|
||||
//! Add my own filter dialog
|
||||
void addFilterDialog();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user