mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-04 00:16:51 +08:00
Ref T529, automatically adjust model/view columns depening on status messages
Add/remove order column automatically
This commit is contained in:
committed by
Mat Sutcliffe
parent
32985c78da
commit
7cd1eb5ea5
@@ -52,16 +52,23 @@ namespace BlackGui
|
||||
}
|
||||
}
|
||||
|
||||
void CStatusMessageListModel::adjustOrderColumn(const CStatusMessageList &messages)
|
||||
{
|
||||
this->setMode(m_mode, messages);
|
||||
}
|
||||
|
||||
void CStatusMessageListModel::setMode(CStatusMessageListModel::Mode mode)
|
||||
{
|
||||
m_columns.clear();
|
||||
m_sortColumn = CStatusMessage::IndexUtcTimestamp;
|
||||
m_mode = mode;
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case DetailedWithOrder:
|
||||
m_columns.addColumn(CColumn::orderColumn());
|
||||
m_sortColumn = CStatusMessage::IndexOrder;
|
||||
m_sortOrder = Qt::DescendingOrder;
|
||||
Q_FALLTHROUGH();
|
||||
case Detailed:
|
||||
{
|
||||
@@ -71,8 +78,6 @@ namespace BlackGui
|
||||
m_columns.addColumn(col);
|
||||
m_columns.addColumn(CColumn::standardString("message", CStatusMessage::IndexMessage));
|
||||
m_columns.addColumn(CColumn::standardString("category", CStatusMessage::IndexCategoryHumanReadableOrTechnicalAsString));
|
||||
|
||||
m_sortOrder = Qt::DescendingOrder;
|
||||
}
|
||||
break;
|
||||
case SimplifiedWithOrder:
|
||||
@@ -86,9 +91,6 @@ namespace BlackGui
|
||||
col.setSortPropertyIndex(CStatusMessage::IndexSeverityAsString);
|
||||
m_columns.addColumn(col);
|
||||
m_columns.addColumn(CColumn::standardString("message", CStatusMessage::IndexMessage));
|
||||
|
||||
m_sortColumn = CStatusMessage::IndexUtcTimestamp;
|
||||
m_sortOrder = Qt::DescendingOrder;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -50,8 +50,14 @@ namespace BlackGui
|
||||
//! Set mode and adjust order/no order
|
||||
void setMode(Mode mode, const BlackMisc::CStatusMessageList &messages);
|
||||
|
||||
//! Adjust order column depending on messages
|
||||
void adjustOrderColumn(const BlackMisc::CStatusMessageList &messages);
|
||||
|
||||
//! \copydoc QAbstractItemModel::data
|
||||
virtual QVariant data(const QModelIndex &index, int role) const override;
|
||||
|
||||
private:
|
||||
Mode m_mode; //!< used mode
|
||||
};
|
||||
} // ns
|
||||
} // ns
|
||||
|
||||
Reference in New Issue
Block a user