From 31dbdbfe4d1793ba1d6c8ba8283881164b68582e Mon Sep 17 00:00:00 2001 From: Le Tan Date: Sun, 1 Apr 2018 10:23:32 +0800 Subject: [PATCH] UniversalEntry: put notebooks and folders before notes in the result --- src/vlistwidgetdoublerows.cpp | 10 +++++++++- src/vlistwidgetdoublerows.h | 5 +++++ src/vsearchue.cpp | 7 +++++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/vlistwidgetdoublerows.cpp b/src/vlistwidgetdoublerows.cpp index 74bfb365..2cc860b7 100644 --- a/src/vlistwidgetdoublerows.cpp +++ b/src/vlistwidgetdoublerows.cpp @@ -13,6 +13,14 @@ VListWidgetDoubleRows::VListWidgetDoubleRows(QWidget *p_parent) QListWidgetItem *VListWidgetDoubleRows::addItem(const QIcon &p_icon, const QString &p_firstRow, const QString &p_secondRow) +{ + return VListWidgetDoubleRows::insertItem(count(), p_icon, p_firstRow, p_secondRow); +} + +QListWidgetItem *VListWidgetDoubleRows::insertItem(int p_row, + const QIcon &p_icon, + const QString &p_firstRow, + const QString &p_secondRow) { VDoubleRowItemWidget *itemWidget = new VDoubleRowItemWidget(this); itemWidget->setText(p_firstRow, p_secondRow); @@ -34,7 +42,7 @@ QListWidgetItem *VListWidgetDoubleRows::addItem(const QIcon &p_icon, item->setSizeHint(sz); - VListWidget::addItem(item); + VListWidget::insertItem(p_row, item); VListWidget::setItemWidget(item, itemWidget); return item; } diff --git a/src/vlistwidgetdoublerows.h b/src/vlistwidgetdoublerows.h index 01793e68..b0575ce8 100644 --- a/src/vlistwidgetdoublerows.h +++ b/src/vlistwidgetdoublerows.h @@ -18,6 +18,11 @@ public: const QString &p_firstRow, const QString &p_secondRow); + QListWidgetItem *insertItem(int p_row, + const QIcon &p_icon, + const QString &p_firstRow, + const QString &p_secondRow); + void clearAll() Q_DECL_OVERRIDE; }; diff --git a/src/vsearchue.cpp b/src/vsearchue.cpp index f61d13a8..1e724b8b 100644 --- a/src/vsearchue.cpp +++ b/src/vsearchue.cpp @@ -622,8 +622,11 @@ void VSearchUE::appendItemToList(const QSharedPointer &p_item } QIcon *icon = NULL; + // We put notebook and folder before note. + int row = 0; switch (p_item->m_type) { case VSearchResultItem::Note: + row = m_listWidget->count(); icon = &m_noteIcon; break; @@ -639,11 +642,11 @@ void VSearchUE::appendItemToList(const QSharedPointer &p_item break; } - QListWidgetItem *item = m_listWidget->addItem(*icon, first, second); + QListWidgetItem *item = m_listWidget->insertItem(row, *icon, first, second); item->setData(Qt::UserRole, m_data.size() - 1); item->setToolTip(p_item->m_path); - if (m_listWidget->currentRow() == -1) { + if (row == 0) { m_listWidget->setCurrentRow(0); } }