Ref T529, automatically adjust model/view columns depening on status messages

Add/remove order column automatically
This commit is contained in:
Klaus Basan
2019-02-04 23:10:19 +01:00
committed by Mat Sutcliffe
parent 32985c78da
commit 7cd1eb5ea5
5 changed files with 22 additions and 5 deletions

View File

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

View File

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