#ifndef VSEARCHRESULTTREE_H #define VSEARCHRESULTTREE_H #include #include "vtreewidget.h" #include "vsearch.h" class VSearchResultTree : public VTreeWidget { Q_OBJECT public: explicit VSearchResultTree(QWidget *p_parent = nullptr); void updateResults(const QList > &p_items); void clearResults(); public slots: void addResultItem(const QSharedPointer &p_item); void addResultItems(const QList > &p_items); void handleContextMenuRequested(QPoint p_pos); void expandCollapseAll(); signals: void countChanged(int p_count); private slots: void locateCurrentItem(); void addSelectedItemsToCart(); void pinSelectedItemsToHistory(); private: void appendItem(const QSharedPointer &p_item); VSearchResultItem::ItemType itemResultType(const QTreeWidgetItem *p_item) const; void activateItem(const QTreeWidgetItem *p_item) const; const QSharedPointer &itemResultData(const QTreeWidgetItem *p_item) const; QVector > m_data; QIcon m_noteIcon; QIcon m_folderIcon; QIcon m_notebookIcon; }; #endif // VSEARCHRESULTTREE_H