-
-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathbookmarkmanager.h
62 lines (47 loc) · 1.98 KB
/
bookmarkmanager.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
SPDX-FileCopyrightText: 2007 Urs Wolfer <[email protected]>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef BOOKMARKMANAGER_H
#define BOOKMARKMANAGER_H
#include "core/remoteview.h"
#include <KActionCollection>
#include <KBookmarkManager>
#include <KBookmarkMenu>
#include <KBookmarkOwner>
#include <QMenu>
class MainWindow;
class BookmarkManager : public QObject, public KBookmarkOwner
{
Q_OBJECT
public:
BookmarkManager(KActionCollection *collection, QMenu *menu, MainWindow *parent);
~BookmarkManager() override;
QUrl currentUrl() const override;
QString currentTitle() const override;
virtual bool addBookmarkEntry() const;
virtual bool editBookmarkEntry() const;
bool supportsTabs() const override;
QList<KBookmarkOwner::FutureBookmark> currentBookmarkList() const override;
void addHistoryBookmark(RemoteView *view);
void addManualBookmark(const QUrl &url, const QString &text);
KBookmarkManager *getManager();
// removes all bookmarks with url, possibly ignore the history folder and update it's title there if it's set
static void removeByUrl(KBookmarkManager *manager, const QString &url, bool ignoreHistory = false, const QString &updateTitle = QString());
static void updateTitle(KBookmarkManager *manager, const QString &url, const QString &title);
// returns a QStringList for all bookmarks that point to this url using KBookmark::address()
static const QStringList findBookmarkAddresses(const KBookmarkGroup &group, const QString &url);
Q_SIGNALS:
void openUrl(const QUrl &url);
private Q_SLOTS:
void openBookmark(const KBookmark &bm, Qt::MouseButtons, Qt::KeyboardModifiers) override;
void openFolderinTabs(const KBookmarkGroup &bookmarkGroup) override;
private:
QString urlForView(RemoteView *view) const;
QString titleForUrl(const QUrl &url) const;
KBookmarkMenu *m_bookmarkMenu;
KBookmarkManager *m_manager;
KBookmarkGroup m_historyGroup;
MainWindow *m_mainWindow;
};
#endif