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