mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-21 12:55:31 +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)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)
|
void CStatusMessageListModel::setMode(CStatusMessageListModel::Mode mode)
|
||||||
{
|
{
|
||||||
m_columns.clear();
|
m_columns.clear();
|
||||||
|
m_sortColumn = CStatusMessage::IndexUtcTimestamp;
|
||||||
|
|
||||||
switch (mode)
|
switch (mode)
|
||||||
{
|
{
|
||||||
|
case DetailedWithOrder:
|
||||||
|
m_columns.addColumn(CColumn::orderColumn());
|
||||||
|
m_sortColumn = CStatusMessage::IndexOrder;
|
||||||
|
Q_FALLTHROUGH();
|
||||||
case Detailed:
|
case Detailed:
|
||||||
{
|
{
|
||||||
m_columns.addColumn(CColumn("time", CStatusMessage::IndexUtcTimestamp, new CDateTimeFormatter(CDateTimeFormatter::formatHmsz())));
|
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("message", CStatusMessage::IndexMessage));
|
||||||
m_columns.addColumn(CColumn::standardString("category", CStatusMessage::IndexCategoryHumanReadableOrTechnicalAsString));
|
m_columns.addColumn(CColumn::standardString("category", CStatusMessage::IndexCategoryHumanReadableOrTechnicalAsString));
|
||||||
|
|
||||||
m_sortColumn = CStatusMessage::IndexUtcTimestamp;
|
|
||||||
m_sortOrder = Qt::DescendingOrder;
|
m_sortOrder = Qt::DescendingOrder;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SimplifiedWithOrder:
|
||||||
|
m_columns.addColumn(CColumn::orderColumn());
|
||||||
|
m_sortColumn = CStatusMessage::IndexOrder;
|
||||||
|
Q_FALLTHROUGH();
|
||||||
case Simplified:
|
case Simplified:
|
||||||
{
|
{
|
||||||
m_columns.addColumn(CColumn("time", CStatusMessage::IndexUtcTimestamp, new CDateTimeFormatter(CDateTimeFormatter::formatHmsz())));
|
m_columns.addColumn(CColumn("time", CStatusMessage::IndexUtcTimestamp, new CDateTimeFormatter(CDateTimeFormatter::formatHmsz())));
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ namespace BlackGui
|
|||||||
enum Mode
|
enum Mode
|
||||||
{
|
{
|
||||||
Detailed,
|
Detailed,
|
||||||
Simplified
|
DetailedWithOrder,
|
||||||
|
Simplified,
|
||||||
|
SimplifiedWithOrder
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Constructor
|
//! Constructor
|
||||||
@@ -45,6 +47,9 @@ namespace BlackGui
|
|||||||
//! Set mode
|
//! Set mode
|
||||||
void setMode(Mode mode);
|
void setMode(Mode mode);
|
||||||
|
|
||||||
|
//! Set mode and adjust order/no order
|
||||||
|
void setMode(Mode mode, 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;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ namespace BlackGui
|
|||||||
this->derivedModel()->setMode(mode);
|
this->derivedModel()->setMode(mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CStatusMessageView::setMode(CStatusMessageListModel::Mode mode, const CStatusMessageList &messages)
|
||||||
|
{
|
||||||
|
this->derivedModel()->setMode(mode, messages);
|
||||||
|
}
|
||||||
|
|
||||||
void CStatusMessageView::addFilterDialog()
|
void CStatusMessageView::addFilterDialog()
|
||||||
{
|
{
|
||||||
if (this->getFilterDialog()) { return; } // already existing
|
if (this->getFilterDialog()) { return; } // already existing
|
||||||
|
|||||||
@@ -37,6 +37,9 @@ namespace BlackGui
|
|||||||
//! Set mode
|
//! Set mode
|
||||||
void setMode(Models::CStatusMessageListModel::Mode 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
|
//! Add my own filter dialog
|
||||||
void addFilterDialog();
|
void addFilterDialog();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user