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