MCPcopy Create free account
hub / github.com/KDE/okular / removeBookmarks

Method removeBookmarks

core/bookmarkmanager.cpp:571–614  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

569}
570
571void BookmarkManager::removeBookmarks(const QUrl &documentUrl, const KBookmark::List &list)
572{
573 if (!documentUrl.isValid() || list.isEmpty()) {
574 return;
575 }
576
577 const QUrl referurl = mostCanonicalUrl(documentUrl);
578
579 KBookmarkGroup thebg;
580 QHash<QUrl, QString>::iterator it = d->bookmarkFind(referurl, false, &thebg);
581 if (it == d->knownFiles.end()) {
582 return;
583 }
584
585 const QHash<int, int> oldUrlBookmarks = d->urlBookmarks;
586 bool deletedAny = false;
587 for (const KBookmark &bm : list) {
588 if (bm.parentGroup() == thebg) {
589 thebg.deleteBookmark(bm);
590 deletedAny = true;
591
592 DocumentViewport vp(bm.url().fragment(QUrl::FullyDecoded));
593 if (referurl == d->document->m_url) {
594 d->urlBookmarks[vp.pageNumber]--;
595 }
596 }
597 }
598
599 if (referurl == d->document->m_url) {
600 for (int i = 0; i < qMax(oldUrlBookmarks.size(), d->urlBookmarks.size()); i++) {
601 bool oldContains = oldUrlBookmarks.contains(i) && oldUrlBookmarks[i] > 0;
602 bool curContains = d->urlBookmarks.contains(i) && d->urlBookmarks[i] > 0;
603
604 if (oldContains != curContains) {
605 foreachObserver(notifyPageChanged(i, DocumentObserver::Bookmark));
606 } else if (oldContains && oldUrlBookmarks[i] != d->urlBookmarks[i]) {
607 foreachObserver(notifyPageChanged(i, DocumentObserver::Bookmark));
608 }
609 }
610 }
611 if (deletedAny) {
612 d->manager.emitChanged(thebg);
613 }
614}
615
616QList<QAction *> BookmarkManager::actionsForUrl(const QUrl &documentUrl) const
617{

Callers 1

Calls 8

mostCanonicalUrlFunction · 0.85
isEmptyMethod · 0.80
bookmarkFindMethod · 0.80
containsMethod · 0.60
isValidMethod · 0.45
endMethod · 0.45
urlMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected