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