File indexing completed on 2024-05-12 05:25:39
0001 /* 0002 SPDX-FileCopyrightText: 2015-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <KBookmarkManager> 0010 #include <KBookmarkOwner> 0011 0012 #include <QObject> 0013 0014 class KBookmarkMenu; 0015 class QMenu; 0016 class KActionCollection; 0017 class SieveEditorMainWindow; 0018 class SieveEditorBookmarks : public QObject, public KBookmarkOwner 0019 { 0020 Q_OBJECT 0021 public: 0022 explicit SieveEditorBookmarks(SieveEditorMainWindow *mainWindow, KActionCollection *collection, QMenu *menu, QObject *parent = nullptr); 0023 ~SieveEditorBookmarks() override; 0024 0025 QMenu *menu() const; 0026 0027 void openBookmark(const KBookmark &bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km) override; 0028 0029 [[nodiscard]] QString currentTitle() const override; 0030 [[nodiscard]] QUrl currentUrl() const override; 0031 0032 Q_SIGNALS: 0033 void openUrl(const QUrl &url); 0034 0035 private: 0036 Q_DISABLE_COPY(SieveEditorBookmarks) 0037 KBookmarkManager *m_bookmarkManager; 0038 KBookmarkMenu *mBookmarkMenu = nullptr; 0039 QMenu *const mMenu; 0040 SieveEditorMainWindow *const mMainWindow; 0041 };