KBookmarkOwner Class

Header: #include <KBookmarkOwner>
CMake: find_package(KF6 REQUIRED COMPONENTS Bookmarks)
target_link_libraries(mytarget PRIVATE KF6::Bookmarks)

Public Types

(since 5.0) class FutureBookmark
enum BookmarkOption { ShowAddBookmark, ShowEditBookmark }

Public Functions

KBookmarkOwner()
virtual QList<KBookmarkOwner::FutureBookmark> currentBookmarkList() const
(since 5.0) virtual QString currentIcon() const
virtual QString currentTitle() const
virtual QUrl currentUrl() const
virtual bool enableOption(KBookmarkOwner::BookmarkOption option) const
virtual void openBookmark(const KBookmark &bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km) = 0
virtual void openFolderinTabs(const KBookmarkGroup &bm)
(since 5.0) virtual void openInNewTab(const KBookmark &bm)
(since 5.0) virtual void openInNewWindow(const KBookmark &bm)
virtual bool supportsTabs() const

Detailed Description

The KBookmarkMenu and KBookmarkBar classes gives the user the ability to either edit bookmarks or add their own. In the first case, the app may want to open the bookmark in a special way. In the second case, the app must supply the name and the URL for the bookmark.

This class gives the app this callback-like ability.

If your app does not give the user the ability to add bookmarks and you don't mind using the default bookmark editor to edit your bookmarks, then you don't need to overload this class at all. Rather, just use something like:

bookmarks = new KBookmarkMenu(manager, nullptr, menu);

If you wish to use your own editor or allow the user to add bookmarks, you must overload this class.

Member Type Documentation

enum KBookmarkOwner::BookmarkOption

ConstantValue
KBookmarkOwner::ShowAddBookmark0
KBookmarkOwner::ShowEditBookmark1

Member Function Documentation

KBookmarkOwner::KBookmarkOwner()

[virtual] QList<KBookmarkOwner::FutureBookmark> KBookmarkOwner::currentBookmarkList() const

Returns a list of bookmark data for the open tabs. The default returns an empty list.

[virtual, since 5.0] QString KBookmarkOwner::currentIcon() const

This function is called whenever the user wants to add the current page to the bookmarks list. The icon will become the icon of the bookmark. You must overload this function if you wish to give your users the ability to add bookmarks. The default returns an empty string.

A very common implementation for this method is return KIO::iconNameForUrl(currentUrl());

Returns the icon name of the current page.

This function was introduced in 5.0.

[virtual] QString KBookmarkOwner::currentTitle() const

This function is called whenever the user wants to add the current page to the bookmarks list. The title will become the "name" of the bookmark. You must overload this function if you wish to give your users the ability to add bookmarks. The default returns an empty string.

Returns the title of the current page.

[virtual] QUrl KBookmarkOwner::currentUrl() const

This function is called whenever the user wants to add the current page to the bookmarks list. The URL will become the URL of the bookmark. You must overload this function if you wish to give your users the ability to add bookmarks. The default returns an empty string.

Returns the URL of the current page.

Since 5.0 this method returns a QUrl. While porting it, remember to implement currentIcon too.

[virtual] bool KBookmarkOwner::enableOption(KBookmarkOwner::BookmarkOption option) const

Returns true if \p action should be shown in the menu The default is to show both a add and editBookmark Entry

[pure virtual] void KBookmarkOwner::openBookmark(const KBookmark &bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km)

Called if a bookmark is selected. You need to override this.

[virtual] void KBookmarkOwner::openFolderinTabs(const KBookmarkGroup &bm)

Called if the user wants to open every bookmark in this folder in a new tab. The default implementation does nothing. This is only called if supportsTabs() returns true

[virtual, since 5.0] void KBookmarkOwner::openInNewTab(const KBookmark &bm)

Called when a bookmark should be opened in a new tab. The default implementation calls openBookmark.

This function was introduced in 5.0.

[virtual, since 5.0] void KBookmarkOwner::openInNewWindow(const KBookmark &bm)

Called when a bookmark should be opened in a new window. The default implementation calls openBookmark.

This function was introduced in 5.0.

[virtual] bool KBookmarkOwner::supportsTabs() const

This function returns whether the owner supports tabs. The default returns false.