]> cloud.milkyroute.net Git - dolphin.git/blob - src/dolphinbookmarkhandler.h
GIT_SILENT Sync po/docbooks with svn
[dolphin.git] / src / dolphinbookmarkhandler.h
1 /*
2 * SPDX-FileCopyrightText: 2019 David Hallas <david@davidhallas.dk>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #ifndef DOLPHINBOOKMARKHANDLER_H
8 #define DOLPHINBOOKMARKHANDLER_H
9
10 #include <KBookmarkManager>
11 #include <KBookmarkOwner>
12 #include <QObject>
13
14 class DolphinMainWindow;
15 class DolphinViewContainer;
16 class KActionCollection;
17 class KBookmarkMenu;
18 class QMenu;
19
20 class DolphinBookmarkHandler : public QObject, public KBookmarkOwner
21 {
22 Q_OBJECT
23 public:
24 DolphinBookmarkHandler(DolphinMainWindow *mainWindow, KActionCollection *collection, QMenu *menu, QObject *parent);
25 ~DolphinBookmarkHandler() override;
26
27 private:
28 QString currentTitle() const override;
29 QUrl currentUrl() const override;
30 QString currentIcon() const override;
31 bool supportsTabs() const override;
32 QList<FutureBookmark> currentBookmarkList() const override;
33 bool enableOption(BookmarkOption option) const override;
34 void openBookmark(const KBookmark &bookmark, Qt::MouseButtons, Qt::KeyboardModifiers) override;
35 void openFolderinTabs(const KBookmarkGroup &bookmarkGroup) override;
36 void openInNewTab(const KBookmark &bookmark) override;
37 void openInNewWindow(const KBookmark &bookmark) override;
38 static QString title(DolphinViewContainer *viewContainer);
39 static QUrl url(DolphinViewContainer *viewContainer);
40 static QString icon(DolphinViewContainer *viewContainer);
41
42 private:
43 DolphinMainWindow *m_mainWindow;
44 std::unique_ptr<KBookmarkManager> m_bookmarkManager;
45 QScopedPointer<KBookmarkMenu> m_bookmarkMenu;
46 };
47
48 #endif // DOLPHINBOOKMARKHANDLER_H