mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-16 02:06:08 +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
@@ -120,6 +120,7 @@ namespace BlackGui
|
|||||||
newMsgs.keepLatest(m_maxLogMessages);
|
newMsgs.keepLatest(m_maxLogMessages);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui->tvp_StatusMessages->adjustOrderColumn(newMsgs);
|
||||||
ui->tvp_StatusMessages->updateContainerMaybeAsync(newMsgs);
|
ui->tvp_StatusMessages->updateContainerMaybeAsync(newMsgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,16 +52,23 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CStatusMessageListModel::adjustOrderColumn(const CStatusMessageList &messages)
|
||||||
|
{
|
||||||
|
this->setMode(m_mode, messages);
|
||||||
|
}
|
||||||
|
|
||||||
void CStatusMessageListModel::setMode(CStatusMessageListModel::Mode mode)
|
void CStatusMessageListModel::setMode(CStatusMessageListModel::Mode mode)
|
||||||
{
|
{
|
||||||
m_columns.clear();
|
m_columns.clear();
|
||||||
m_sortColumn = CStatusMessage::IndexUtcTimestamp;
|
m_sortColumn = CStatusMessage::IndexUtcTimestamp;
|
||||||
|
m_mode = mode;
|
||||||
|
|
||||||
switch (mode)
|
switch (mode)
|
||||||
{
|
{
|
||||||
case DetailedWithOrder:
|
case DetailedWithOrder:
|
||||||
m_columns.addColumn(CColumn::orderColumn());
|
m_columns.addColumn(CColumn::orderColumn());
|
||||||
m_sortColumn = CStatusMessage::IndexOrder;
|
m_sortColumn = CStatusMessage::IndexOrder;
|
||||||
|
m_sortOrder = Qt::DescendingOrder;
|
||||||
Q_FALLTHROUGH();
|
Q_FALLTHROUGH();
|
||||||
case Detailed:
|
case Detailed:
|
||||||
{
|
{
|
||||||
@@ -71,8 +78,6 @@ namespace BlackGui
|
|||||||
m_columns.addColumn(col);
|
m_columns.addColumn(col);
|
||||||
m_columns.addColumn(CColumn::standardString("message", CStatusMessage::IndexMessage));
|
m_columns.addColumn(CColumn::standardString("message", CStatusMessage::IndexMessage));
|
||||||
m_columns.addColumn(CColumn::standardString("category", CStatusMessage::IndexCategoryHumanReadableOrTechnicalAsString));
|
m_columns.addColumn(CColumn::standardString("category", CStatusMessage::IndexCategoryHumanReadableOrTechnicalAsString));
|
||||||
|
|
||||||
m_sortOrder = Qt::DescendingOrder;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SimplifiedWithOrder:
|
case SimplifiedWithOrder:
|
||||||
@@ -86,9 +91,6 @@ namespace BlackGui
|
|||||||
col.setSortPropertyIndex(CStatusMessage::IndexSeverityAsString);
|
col.setSortPropertyIndex(CStatusMessage::IndexSeverityAsString);
|
||||||
m_columns.addColumn(col);
|
m_columns.addColumn(col);
|
||||||
m_columns.addColumn(CColumn::standardString("message", CStatusMessage::IndexMessage));
|
m_columns.addColumn(CColumn::standardString("message", CStatusMessage::IndexMessage));
|
||||||
|
|
||||||
m_sortColumn = CStatusMessage::IndexUtcTimestamp;
|
|
||||||
m_sortOrder = Qt::DescendingOrder;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,8 +50,14 @@ namespace BlackGui
|
|||||||
//! Set mode and adjust order/no order
|
//! Set mode and adjust order/no order
|
||||||
void setMode(Mode mode, const BlackMisc::CStatusMessageList &messages);
|
void setMode(Mode mode, const BlackMisc::CStatusMessageList &messages);
|
||||||
|
|
||||||
|
//! Adjust order column depending on messages
|
||||||
|
void adjustOrderColumn(const BlackMisc::CStatusMessageList &messages);
|
||||||
|
|
||||||
//! \copydoc QAbstractItemModel::data
|
//! \copydoc QAbstractItemModel::data
|
||||||
virtual QVariant data(const QModelIndex &index, int role) const override;
|
virtual QVariant data(const QModelIndex &index, int role) const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Mode m_mode; //!< used mode
|
||||||
};
|
};
|
||||||
} // ns
|
} // ns
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -38,6 +38,11 @@ namespace BlackGui
|
|||||||
this->derivedModel()->setMode(mode, messages);
|
this->derivedModel()->setMode(mode, messages);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CStatusMessageView::adjustOrderColumn(const CStatusMessageList &messages)
|
||||||
|
{
|
||||||
|
this->derivedModel()->adjustOrderColumn(messages);
|
||||||
|
}
|
||||||
|
|
||||||
void CStatusMessageView::addFilterDialog()
|
void CStatusMessageView::addFilterDialog()
|
||||||
{
|
{
|
||||||
if (this->getFilterDialog()) { return; } // already existing
|
if (this->getFilterDialog()) { return; } // already existing
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ namespace BlackGui
|
|||||||
//! Set mode and adjust order/no order
|
//! Set mode and adjust order/no order
|
||||||
void setMode(Models::CStatusMessageListModel::Mode mode, const BlackMisc::CStatusMessageList &messages);
|
void setMode(Models::CStatusMessageListModel::Mode mode, const BlackMisc::CStatusMessageList &messages);
|
||||||
|
|
||||||
|
//! \copydoc BlackGui::Models::CStatusMessageListModel::adjustOrderColumn
|
||||||
|
void adjustOrderColumn(const BlackMisc::CStatusMessageList &messages);
|
||||||
|
|
||||||
//! Add my own filter dialog
|
//! Add my own filter dialog
|
||||||
void addFilterDialog();
|
void addFilterDialog();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user