28#include <QContextMenuEvent>
35 setObjectName(
"locationbar-bookmarkicon");
36 setCursor(Qt::PointingHandCursor);
37 setToolTip(tr(
"Bookmark this Page"));
38 setFocusPolicy(Qt::ClickFocus);
40 connect(
mApp->bookmarks(), SIGNAL(bookmarkAdded(
BookmarkItem*)),
this, SLOT(bookmarksChanged()));
41 connect(
mApp->bookmarks(), SIGNAL(bookmarkRemoved(
BookmarkItem*)),
this, SLOT(bookmarksChanged()));
42 connect(
mApp->bookmarks(), SIGNAL(bookmarkChanged(
BookmarkItem*)),
this, SLOT(bookmarksChanged()));
43 connect(
mApp->plugins()->speedDial(), SIGNAL(pagesChanged()),
this, SLOT(speedDialChanged()));
45 connect(
this, SIGNAL(
clicked(QPoint)),
this, SLOT(iconClicked()));
51 connect(view, &WebView::urlChanged,
this, [
this](
const QUrl &url) {
58 if (!forceCheck && m_lastUrl == url) {
62 QList<BookmarkItem*> items =
mApp->bookmarks()->searchBookmarks(url);
63 m_bookmark = items.isEmpty() ? nullptr : items.at(0);
65 if (m_bookmark ||
mApp->plugins()->speedDial()->pageForUrl(url).isValid()) {
69 setBookmarkDisabled();
75void BookmarksIcon::bookmarksChanged()
80void BookmarksIcon::speedDialChanged()
85void BookmarksIcon::iconClicked()
92 widget->showAt(parentWidget());
95void BookmarksIcon::setBookmarkSaved()
97 setProperty(
"bookmarked", QVariant(
true));
98 style()->unpolish(
this);
99 style()->polish(
this);
100 setToolTip(tr(
"Edit this bookmark"));
103void BookmarksIcon::setBookmarkDisabled()
105 setProperty(
"bookmarked", QVariant(
false));
106 style()->unpolish(
this);
107 style()->polish(
this);
108 setToolTip(tr(
"Bookmark this Page"));
111void BookmarksIcon::contextMenuEvent(QContextMenuEvent* ev)
117void BookmarksIcon::mousePressEvent(QMouseEvent* ev)
119 ClickableLabel::mousePressEvent(ev);
BookmarksIcon(QWidget *parent=nullptr)
void checkBookmark(const QUrl &url, bool forceCheck=false)
void setWebView(WebView *view)