/* * Copyright (C) 2000 Matthias Elter * Copyright (C) 2001-2002 Raffaele Sandrini #include class QPopupMenu; class KActionCollection; class KDesktopFile; class AppTreeItem : public KListViewItem { public: AppTreeItem(QListViewItem *parent, const QString& storageId); AppTreeItem(QListViewItem *parent, QListViewItem *after, const QString& storageId); AppTreeItem(QListView *parent, const QString& storageId); AppTreeItem(QListView *parent, QListViewItem* after, const QString& storageId); QString storageId() const { return m_storageId; } void setDirectoryPath(const QString& path) { m_directoryPath = path; } QString name() const { return m_name; } void setName(const QString &name); QString accel() const { return m_accel; } void setAccel(const QString &accel); bool isDirectory() const { return !m_directoryPath.isEmpty(); } virtual void setOpen(bool o); private: bool m_init : 1; QString m_storageId; QString m_name; QString m_directoryPath; QString m_accel; }; class AppTreeView : public KListView { friend class AppTreeItem; Q_OBJECT public: AppTreeView(QWidget *parent=0, const char *name=0); ~AppTreeView(); void fill(); signals: void entrySelected(const QString&, const QString &, bool); protected slots: void itemSelected(QListViewItem *); protected: void fillBranch(const QString& relPath, AppTreeItem* parent); QStringList fileList(const QString& relativePath); QStringList dirList(const QString& relativePath); }; #endif