File indexing completed on 2024-05-12 05:00:20
0001 /* This file is part of the KDE project 0002 SPDX-FileCopyrightText: 2000 David Faure <faure@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-only 0005 */ 0006 0007 #ifndef dirtree_module_h 0008 #define dirtree_module_h 0009 0010 #include <konq_sidebartreemodule.h> 0011 #include <kfileitem.h> 0012 #include <Qt3Support/Q3Dict> 0013 #include <Qt3Support/Q3PtrDict> 0014 0015 class KDirLister; 0016 class KonqSidebarTree; 0017 class KonqSidebarTreeItem; 0018 class KonqSidebarDirTreeItem; 0019 0020 class KonqSidebarDirTreeModule : public QObject, public KonqSidebarTreeModule 0021 { 0022 Q_OBJECT 0023 public: 0024 KonqSidebarDirTreeModule(KonqSidebarTree *parentTree, bool); 0025 virtual ~KonqSidebarDirTreeModule(); 0026 0027 virtual void addTopLevelItem(KonqSidebarTreeTopLevelItem *item); 0028 0029 virtual void openTopLevelItem(KonqSidebarTreeTopLevelItem *item); 0030 0031 virtual void followURL(const QUrl &url); 0032 0033 // Called by KonqSidebarDirTreeItem 0034 void openSubFolder(KonqSidebarTreeItem *item); 0035 void addSubDir(KonqSidebarTreeItem *item); 0036 void removeSubDir(KonqSidebarTreeItem *item, bool childrenonly = false); 0037 0038 private Q_SLOTS: 0039 void slotNewItems(const KFileItemList &); 0040 void slotRefreshItems(const QList<QPair<KFileItem, KFileItem> > &); 0041 void slotDeleteItem(const KFileItem &item); 0042 void slotRedirection(const QUrl &oldUrl, const QUrl &newUrl); 0043 void slotListingStopped(const QUrl &url); 0044 0045 private: 0046 //KonqSidebarTreeItem * findDir( const QUrl &_url ); 0047 void listDirectory(KonqSidebarTreeItem *item); 0048 QList<QUrl> selectedUrls(); 0049 0050 // URL -> item 0051 // Each KonqSidebarDirTreeItem is indexed on item->id() and 0052 // all item->alias'es 0053 Q3Dict<KonqSidebarTreeItem> m_dictSubDirs; 0054 0055 // KFileItem -> item 0056 QHash<KFileItem, KonqSidebarTreeItem *> m_ptrdictSubDirs; 0057 0058 KDirLister *m_dirLister; 0059 0060 QUrl m_selectAfterOpening; 0061 0062 KonqSidebarTreeTopLevelItem *m_topLevelItem; 0063 0064 bool m_showArchivesAsFolders; 0065 }; 0066 0067 #endif