File indexing completed on 2024-04-14 15:49:25
0001 /* 0002 * SPDX-FileCopyrightText: 2019 David Hallas <david@davidhallas.dk> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef DOLPHINBOOKMARKHANDLER_H 0008 #define DOLPHINBOOKMARKHANDLER_H 0009 0010 #include <KBookmarkManager> 0011 #include <KBookmarkOwner> 0012 #include <QObject> 0013 0014 class DolphinMainWindow; 0015 class DolphinViewContainer; 0016 class KActionCollection; 0017 class KBookmarkMenu; 0018 class QMenu; 0019 0020 class DolphinBookmarkHandler : public QObject, public KBookmarkOwner 0021 { 0022 Q_OBJECT 0023 public: 0024 DolphinBookmarkHandler(DolphinMainWindow *mainWindow, KActionCollection *collection, QMenu *menu, QObject *parent); 0025 ~DolphinBookmarkHandler() override; 0026 0027 private: 0028 QString currentTitle() const override; 0029 QUrl currentUrl() const override; 0030 QString currentIcon() const override; 0031 bool supportsTabs() const override; 0032 QList<FutureBookmark> currentBookmarkList() const override; 0033 bool enableOption(BookmarkOption option) const override; 0034 void openBookmark(const KBookmark &bookmark, Qt::MouseButtons, Qt::KeyboardModifiers) override; 0035 void openFolderinTabs(const KBookmarkGroup &bookmarkGroup) override; 0036 void openInNewTab(const KBookmark &bookmark) override; 0037 void openInNewWindow(const KBookmark &bookmark) override; 0038 static QString title(DolphinViewContainer *viewContainer); 0039 static QUrl url(DolphinViewContainer *viewContainer); 0040 static QString icon(DolphinViewContainer *viewContainer); 0041 0042 private: 0043 DolphinMainWindow *m_mainWindow; 0044 std::unique_ptr<KBookmarkManager> m_bookmarkManager; 0045 QScopedPointer<KBookmarkMenu> m_bookmarkMenu; 0046 }; 0047 0048 #endif // DOLPHINBOOKMARKHANDLER_H