#ifndef VLISTFOLDERUE_H #define VLISTFOLDERUE_H #include "iuniversalentry.h" #include #include #include "vsearchconfig.h" class VListWidget; class QListWidgetItem; class QLabel; class VUETitleContentPanel; // Universal Entry to list contents of folder. class VListFolderUE : public IUniversalEntry { Q_OBJECT public: explicit VListFolderUE(QObject *p_parent = nullptr); QString description(int p_id) const Q_DECL_OVERRIDE; QWidget *widget(int p_id) Q_DECL_OVERRIDE; void processCommand(int p_id, const QString &p_cmd) Q_DECL_OVERRIDE; void clear(int p_id) Q_DECL_OVERRIDE; void selectNextItem(int p_id, bool p_forward) Q_DECL_OVERRIDE; void selectParentItem(int p_id) Q_DECL_OVERRIDE; void activate(int p_id) Q_DECL_OVERRIDE; void sort(int p_id) Q_DECL_OVERRIDE; void entryShown(int p_id, const QString &p_cmd) Q_DECL_OVERRIDE; QString currentItemFolder(int p_id) Q_DECL_OVERRIDE; void setFolderPath(const QString &p_path); protected: void init() Q_DECL_OVERRIDE; private slots: void activateItem(QListWidgetItem *p_item); private: void addResultItem(const QSharedPointer &p_item); const QSharedPointer &itemResultData(const QListWidgetItem *p_item) const; bool listFolder(const QString &p_path, const QString &p_cmd); QVector > m_data; QIcon m_noteIcon; QIcon m_folderIcon; // Folder path to list. // If empty, use current folder. QString m_folderPath; // Current folder path. QString m_currentFolderPath; VListWidget *m_listWidget; VUETitleContentPanel *m_panel; }; #endif // VLISTFOLDERUE_H