mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-18 19:35:33 +08:00
Ref T529, allow to explicitly set no sort order in model/view
This commit is contained in:
committed by
Mat Sutcliffe
parent
14c3c51585
commit
3aee73840d
@@ -38,7 +38,7 @@ namespace BlackGui
|
|||||||
void CStatusMessagesDetail::appendStatusMessageToList(const CStatusMessage &message)
|
void CStatusMessagesDetail::appendStatusMessageToList(const CStatusMessage &message)
|
||||||
{
|
{
|
||||||
if (message.isEmpty()) { return; }
|
if (message.isEmpty()) { return; }
|
||||||
m_pending.push_front(message); // in many cases we want to havethe latest "on top"
|
m_pending.push_front(message); // in many cases we want to have the latest "on top"
|
||||||
m_dsDeferredUpdate.inputSignal();
|
m_dsDeferredUpdate.inputSignal();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,6 +87,16 @@ namespace BlackGui
|
|||||||
ui->filter_LogMessages->useRadioButtonDescriptiveIcons(oneCharacterText);
|
ui->filter_LogMessages->useRadioButtonDescriptiveIcons(oneCharacterText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CStatusMessagesDetail::setSorting(const CPropertyIndex &propertyIndex, Qt::SortOrder order)
|
||||||
|
{
|
||||||
|
ui->tvp_StatusMessages->setSorting(propertyIndex, order);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CStatusMessagesDetail::setNoSorting()
|
||||||
|
{
|
||||||
|
ui->tvp_StatusMessages->setNoSorting();
|
||||||
|
}
|
||||||
|
|
||||||
void CStatusMessagesDetail::deferredUpdate()
|
void CStatusMessagesDetail::deferredUpdate()
|
||||||
{
|
{
|
||||||
if (m_pending.isEmpty()) { return; }
|
if (m_pending.isEmpty()) { return; }
|
||||||
|
|||||||
@@ -69,6 +69,12 @@ namespace BlackGui
|
|||||||
//! \copydoc BlackGui::Filters::CStatusMessageFilterBar::useRadioButtonDescriptiveIcons
|
//! \copydoc BlackGui::Filters::CStatusMessageFilterBar::useRadioButtonDescriptiveIcons
|
||||||
void filterUseRadioButtonDescriptiveIcons(bool oneCharacterText);
|
void filterUseRadioButtonDescriptiveIcons(bool oneCharacterText);
|
||||||
|
|
||||||
|
//! Sorting for view
|
||||||
|
void setSorting(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder);
|
||||||
|
|
||||||
|
//! Disable sorting
|
||||||
|
void setNoSorting();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
//! \copydoc BlackGui::Views::CStatusMessageView::modelDataChangedDigest
|
//! \copydoc BlackGui::Views::CStatusMessageView::modelDataChangedDigest
|
||||||
void modelDataChangedDigest(int count, bool withFilter);
|
void modelDataChangedDigest(int count, bool withFilter);
|
||||||
|
|||||||
@@ -104,6 +104,12 @@ namespace BlackGui
|
|||||||
|
|
||||||
bool CListModelBaseNonTemplate::setSorting(const CPropertyIndex &propertyIndex, Qt::SortOrder order)
|
bool CListModelBaseNonTemplate::setSorting(const CPropertyIndex &propertyIndex, Qt::SortOrder order)
|
||||||
{
|
{
|
||||||
|
if (propertyIndex.isEmpty())
|
||||||
|
{
|
||||||
|
this->setNoSorting();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
const bool changedColumn = this->setSortColumnByPropertyIndex(propertyIndex);
|
const bool changedColumn = this->setSortColumnByPropertyIndex(propertyIndex);
|
||||||
const bool changedOrder = (m_sortOrder == order);
|
const bool changedOrder = (m_sortOrder == order);
|
||||||
m_sortOrder = order;
|
m_sortOrder = order;
|
||||||
@@ -112,7 +118,6 @@ namespace BlackGui
|
|||||||
|
|
||||||
bool CListModelBaseNonTemplate::hasValidSortColumn() const
|
bool CListModelBaseNonTemplate::hasValidSortColumn() const
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!(m_sortColumn >= 0 && m_sortColumn < m_columns.size())) { return false; }
|
if (!(m_sortColumn >= 0 && m_sortColumn < m_columns.size())) { return false; }
|
||||||
return m_columns.isSortable(m_sortColumn);
|
return m_columns.isSortable(m_sortColumn);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,6 +74,9 @@ namespace BlackGui
|
|||||||
//! Set sort column
|
//! Set sort column
|
||||||
virtual void setSortColumn(int column) { m_sortColumn = column; }
|
virtual void setSortColumn(int column) { m_sortColumn = column; }
|
||||||
|
|
||||||
|
//! Disable sorting
|
||||||
|
void setNoSorting() { this->setSortColumn(-1); }
|
||||||
|
|
||||||
//! Sort by index
|
//! Sort by index
|
||||||
void sortByPropertyIndex(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder);
|
void sortByPropertyIndex(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder);
|
||||||
|
|
||||||
|
|||||||
@@ -171,9 +171,12 @@ namespace BlackGui
|
|||||||
//! \copydoc BlackGui::Models::CListModelBaseNonTemplate::setSorting
|
//! \copydoc BlackGui::Models::CListModelBaseNonTemplate::setSorting
|
||||||
virtual bool setSorting(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder) = 0;
|
virtual bool setSorting(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder) = 0;
|
||||||
|
|
||||||
//! Sort by index
|
//! \copydoc BlackGui::Models::CListModelBaseNonTemplate::sortByPropertyIndex
|
||||||
virtual void sortByPropertyIndex(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder) = 0;
|
virtual void sortByPropertyIndex(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder) = 0;
|
||||||
|
|
||||||
|
//! \copydoc BlackGui::Models::CListModelBaseNonTemplate::setNoSorting
|
||||||
|
virtual void setNoSorting() = 0;
|
||||||
|
|
||||||
//! Allow to drag and/or drop value objects
|
//! Allow to drag and/or drop value objects
|
||||||
virtual void allowDragDrop(bool allowDrag, bool allowDrop, bool allowDropJsonFile = false) = 0;
|
virtual void allowDragDrop(bool allowDrag, bool allowDrop, bool allowDropJsonFile = false) = 0;
|
||||||
|
|
||||||
@@ -715,6 +718,7 @@ namespace BlackGui
|
|||||||
virtual bool acceptDrop(const QMimeData *mimeData) const override;
|
virtual bool acceptDrop(const QMimeData *mimeData) const override;
|
||||||
virtual bool setSorting(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder) override;
|
virtual bool setSorting(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder) override;
|
||||||
virtual void sortByPropertyIndex(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder) override;
|
virtual void sortByPropertyIndex(const BlackMisc::CPropertyIndex &propertyIndex, Qt::SortOrder order = Qt::AscendingOrder) override;
|
||||||
|
virtual void setNoSorting() override { m_model->setNoSorting(); }
|
||||||
//! @}
|
//! @}
|
||||||
|
|
||||||
//! Column count
|
//! Column count
|
||||||
|
|||||||
Reference in New Issue
Block a user