1 /* 2 SPDX-FileCopyrightText: 2015-2021 Laurent Montel <montel@kde.org> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include <KBookmarkOwner> 10 #include <QObject> 11 class KBookmarkMenu; 12 class QMenu; 13 class KActionCollection; 14 class SieveEditorMainWindow; 15 class SieveEditorBookmarks : public QObject, public KBookmarkOwner 16 { 17 Q_OBJECT 18 public: 19 explicit SieveEditorBookmarks(SieveEditorMainWindow *mainWindow, KActionCollection *collection, QMenu *menu, QObject *parent = nullptr); 20 ~SieveEditorBookmarks() override; 21 22 QMenu *menu() const; 23 24 void openBookmark(const KBookmark &bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km) override; 25 26 Q_REQUIRED_RESULT QString currentTitle() const override; 27 Q_REQUIRED_RESULT QUrl currentUrl() const override; 28 29 Q_SIGNALS: 30 void openUrl(const QUrl &url); 31 32 private: 33 Q_DISABLE_COPY(SieveEditorBookmarks) 34 KBookmarkMenu *mBookmarkMenu = nullptr; 35 QMenu *const mMenu; 36 SieveEditorMainWindow *const mMainWindow; 37 }; 38 39