vnote/src/vlistfolderue.h
Le Tan 6212bb48bc UniversalEntry
1. Use VListWidget in VListFolderUE;
2. Add j to list history;
2018-06-01 16:26:00 +08:00

75 lines
1.7 KiB
C++

#ifndef VLISTFOLDERUE_H
#define VLISTFOLDERUE_H
#include "iuniversalentry.h"
#include <QWidget>
#include <QIcon>
#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<VSearchResultItem> &p_item);
const QSharedPointer<VSearchResultItem> &itemResultData(const QListWidgetItem *p_item) const;
bool listFolder(const QString &p_path, const QString &p_cmd);
QVector<QSharedPointer<VSearchResultItem> > 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