1 /* 2 SPDX-FileCopyrightText: 2006 Alexander Dymo <adymo@kdevelop.org> 3 SPDX-FileCopyrightText: 2006 Andreas Pakulat <apaku@gmx.de> 4 5 SPDX-License-Identifier: GPL-2.0-or-later 6 */ 7 8 #ifndef KDEVPLATFORM_PLUGIN_FILEMANAGER_H 9 #define KDEVPLATFORM_PLUGIN_FILEMANAGER_H 10 11 #include <QWidget> 12 13 #include <KFileItem> 14 #include <KDirOperator> 15 #include <KUrlNavigator> 16 17 class KActionCollection; 18 class QAction; 19 class QString; 20 class QMenu; 21 class KDevFileManagerPlugin; 22 class BookmarkHandler; 23 24 class FileManager: public QWidget { 25 Q_OBJECT 26 public: 27 FileManager(KDevFileManagerPlugin *plugin, QWidget* parent); 28 ~FileManager() override; 29 30 QList<QAction*> toolBarActions() const; 31 KActionCollection* actionCollection() const; 32 KDirOperator* dirOperator() const; 33 KDevFileManagerPlugin* plugin() const; 34 35 private Q_SLOTS: 36 void fileCreated(KJob *job); 37 void openFile(const KFileItem&); 38 void gotoUrl(const QUrl&); 39 void updateNav( const QUrl& url ); 40 void syncCurrentDocumentDirectory(); 41 void fillContextMenu(const KFileItem& item, QMenu* menu); 42 void createNewFile(); 43 44 private: 45 void setupActions(); 46 QList<QAction*> tbActions; 47 QAction* newFileAction; 48 QList<QAction*> contextActions; 49 KDirOperator* dirop; 50 KUrlNavigator* urlnav; 51 BookmarkHandler *m_bookmarkHandler; 52 KActionCollection *m_actionCollection; 53 KDevFileManagerPlugin *m_plugin; 54 }; 55 56 #endif 57