1 | /* |
2 | SPDX-FileCopyrightText: 2008, 2015 David Faure <faure@kde.org> |
3 | |
4 | SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
5 | */ |
6 | |
7 | #ifndef KFILECOPYTOMENU_P_H |
8 | #define |
9 | |
10 | #include <KConfigGroup> |
11 | #include <QActionGroup> |
12 | #include <QMenu> |
13 | #include <QUrl> |
14 | |
15 | class |
16 | { |
17 | public: |
18 | (KFileCopyToMenu *qq, QWidget *parentWidget); |
19 | |
20 | KFileCopyToMenu *const ; |
21 | QList<QUrl> ; |
22 | QWidget *; |
23 | bool ; |
24 | bool m_autoErrorHandling; |
25 | }; |
26 | |
27 | enum { |
28 | Copy, |
29 | Move |
30 | }; |
31 | |
32 | // The main menu, shown when opening "Copy To" or "Move To" |
33 | // It contains Home Folder, Root Folder, Browse, and recent destinations |
34 | class KFileCopyToMainMenu : public QMenu |
35 | { |
36 | Q_OBJECT |
37 | public: |
38 | KFileCopyToMainMenu(QMenu *parent, KFileCopyToMenuPrivate *d, MenuType ); |
39 | |
40 | QActionGroup &actionGroup() |
41 | { |
42 | return m_actionGroup; // used by submenus |
43 | } |
44 | MenuType menuType() const |
45 | { |
46 | return m_menuType; // used by submenus |
47 | } |
48 | |
49 | private Q_SLOTS: |
50 | void slotAboutToShow(); |
51 | void slotBrowse(); |
52 | void slotTriggered(QAction *action); |
53 | |
54 | private: |
55 | void copyOrMoveTo(const QUrl &dest); |
56 | |
57 | private: |
58 | MenuType m_menuType; |
59 | QActionGroup m_actionGroup; |
60 | KFileCopyToMenuPrivate *d; // this isn't our own d pointer, it's the one for the public class |
61 | KConfigGroup m_recentDirsGroup; |
62 | }; |
63 | |
64 | // The menu that lists a directory |
65 | class : public QMenu |
66 | { |
67 | Q_OBJECT |
68 | public: |
69 | KFileCopyToDirectoryMenu(QMenu *parent, KFileCopyToMainMenu *mainMenu, const QString &path); |
70 | |
71 | private Q_SLOTS: |
72 | void (); |
73 | |
74 | private: |
75 | KFileCopyToMainMenu *m_mainMenu; |
76 | QString ; |
77 | }; |
78 | |
79 | #endif |
80 | |