KBookmarks 5.109.0
Signals | Public Slots | Public Member Functions | Static Public Member Functions | List of all members
KBookmarkManager

This class implements the reading/writing of bookmarks in XML. More...

#include <KBookmarkManager>

Signals

void bookmarkCompleteChange (QString caller)
 Signal send over D-Bus.
 
void bookmarkConfigChanged ()
 Signal send over D-Bus.
 
void bookmarksChanged (QString groupAddress)
 Signal send over D-Bus.
 
void changed (const QString &groupAddress, const QString &caller)
 Signals that the group (or any of its children) with the address groupAddress (e.g.
 
void configChanged ()
 Signals that the config changed.
 
void error (const QString &errorMessage)
 Emitted when an error occurs.
 

Public Slots

void notifyChanged (const QString &groupAddress, const QDBusMessage &msg)
 Emit the changed signal for the group whose address is given.
 
void notifyCompleteChange (const QString &caller)
 Reparse the whole bookmarks file and notify about the change Doesn't send signal over D-Bus to the other Bookmark Managers You probably want to use emitChanged()
 
void notifyConfigChanged ()
 
void slotEditBookmarks ()
 
void slotEditBookmarksAtAddress (const QString &address)
 

Public Member Functions

 ~KBookmarkManager () override
 Destructor.
 
bool autoErrorHandlingEnabled () const
 Check whether auto error handling is enabled.
 
void emitChanged ()
 Saves the bookmark file and notifies everyone.
 
void emitChanged (const KBookmarkGroup &group)
 Saves the bookmark file and notifies everyone.
 
void emitConfigChanged ()
 
KBookmark findByAddress (const QString &address)
 
QDomDocument internalDocument () const
 
QString path () const
 This will return the path that this manager is using to read the bookmarks.
 
KBookmarkGroup root () const
 This will return the root bookmark.
 
bool save (bool toolbarCache=true) const
 Save the bookmarks to an XML file on disk.
 
bool saveAs (const QString &filename, bool toolbarCache=true) const
 Save the bookmarks to the given XML file on disk.
 
void setAutoErrorHandlingEnabled (bool enable, QWidget *parent)
 Enable or disable auto error handling is enabled.
 
void setEditorOptions (const QString &caption, bool browser)
 Set options with which slotEditBookmarks called keditbookmarks this can be used to change the appearance of the keditbookmarks in order to provide a slightly differing outer shell depending on the bookmarks file / app which calls it.
 
void setUpdate (bool update)
 Set the update flag.
 
KBookmarkGroup toolbar ()
 This returns the root of the toolbar menu.
 
bool updateAccessMetadata (const QString &url)
 Update access time stamps for a given url.
 
void updateFavicon (const QString &url, const QString &faviconurl)
 

Static Public Member Functions

static KBookmarkManagercreateTempManager ()
 only used for KBookmarkBar
 
static KBookmarkManagermanagerForExternalFile (const QString &bookmarksFile)
 Returns a KBookmarkManager, which will use QFileSystemWatcher for change detection This is important when sharing bookmarks with other Desktops.
 
static KBookmarkManagermanagerForFile (const QString &bookmarksFile, const QString &dbusObjectName)
 This static function will return an instance of the KBookmarkManager, responsible for the given bookmarksFile.
 
static KBookmarkManageruserBookmarksManager ()
 Returns a pointer to the user's main (konqueror) bookmark collection.
 

Detailed Description

This class implements the reading/writing of bookmarks in XML.

The bookmarks file is read and written using the XBEL standard (http://pyxml.sourceforge.net/topics/xbel/)

A sample file looks like this :

<xbel>
<bookmark href="http://techbase.kde.org"><title>Developer Web Site</title></bookmark>
<folder folded="no">
<title>Title of this folder</title>
<bookmark icon="kde" href="http://www.kde.org"><title>KDE Web Site</title></bookmark>
<folder toolbar="yes">
<title>My own bookmarks</title>
<bookmark href="http://www.koffice.org"><title>KOffice Web Site</title></bookmark>
<separator/>
<bookmark href="http://www.kdevelop.org"><title>KDevelop Web Site</title></bookmark>
</folder>
</folder>
</xbel>
KBookmarkGroup toolbar()
This returns the root of the toolbar menu.

Constructor & Destructor Documentation

◆ ~KBookmarkManager()

KBookmarkManager::~KBookmarkManager ( )
override

Destructor.

Member Function Documentation

◆ autoErrorHandlingEnabled()

bool KBookmarkManager::autoErrorHandlingEnabled ( ) const

Check whether auto error handling is enabled.

If enabled, it will show an error dialog to the user when an error occurs. It is turned on by default.

Returns
true if auto error handling is enabled, false otherwise
Note
dialogs will only be displayed if the current thread is the gui thread
Since
4.6
See also
setAutoErrorHandlingEnabled()

◆ bookmarkCompleteChange

void KBookmarkManager::bookmarkCompleteChange ( QString  caller)
signal

Signal send over D-Bus.

◆ bookmarkConfigChanged

void KBookmarkManager::bookmarkConfigChanged ( )
signal

Signal send over D-Bus.

◆ bookmarksChanged

void KBookmarkManager::bookmarksChanged ( QString  groupAddress)
signal

Signal send over D-Bus.

◆ changed

void KBookmarkManager::changed ( const QString &  groupAddress,
const QString &  caller 
)
signal

Signals that the group (or any of its children) with the address groupAddress (e.g.

"/4/5") has been modified by the caller caller. connect to this

◆ configChanged

void KBookmarkManager::configChanged ( )
signal

Signals that the config changed.

◆ createTempManager()

static KBookmarkManager * KBookmarkManager::createTempManager ( )
static

only used for KBookmarkBar

◆ emitChanged() [1/2]

void KBookmarkManager::emitChanged ( )

Saves the bookmark file and notifies everyone.

◆ emitChanged() [2/2]

void KBookmarkManager::emitChanged ( const KBookmarkGroup group)

Saves the bookmark file and notifies everyone.

Parameters
groupthe parent of all changed bookmarks

◆ error

void KBookmarkManager::error ( const QString &  errorMessage)
signal

Emitted when an error occurs.

Contains the translated error message.

Since
4.6

◆ findByAddress()

KBookmark KBookmarkManager::findByAddress ( const QString &  address)
Returns
the bookmark designated by address
Parameters
addressthe address belonging to the bookmark you're looking for
toleratewhen true tries to find the most tolerable bookmark position
See also
KBookmark::address

◆ managerForExternalFile()

static KBookmarkManager * KBookmarkManager::managerForExternalFile ( const QString &  bookmarksFile)
static

Returns a KBookmarkManager, which will use QFileSystemWatcher for change detection This is important when sharing bookmarks with other Desktops.

Parameters
bookmarksFilefull path to the bookmarks file
Since
4.1

◆ managerForFile()

static KBookmarkManager * KBookmarkManager::managerForFile ( const QString &  bookmarksFile,
const QString &  dbusObjectName 
)
static

This static function will return an instance of the KBookmarkManager, responsible for the given bookmarksFile.

If you do not instantiate this class either natively or in a derived class, then it will return an object with the default behaviors. If you wish to use different behaviors, you must derive your own class and instantiate it before this method is ever called.

Parameters
bookmarksFilefull path to the bookmarks file, Use ~/.kde/share/apps/konqueror/bookmarks.xml for the konqueror bookmarks
dbusObjectNamea unique name that represents this bookmark collection, usually your component (e.g. application) name. This is "konqueror" for the konqueror bookmarks, "kfile" for KFileDialog bookmarks, etc. The final D-Bus object path is /KBookmarkManager/dbusObjectName An empty dbusObjectName disables the registration to D-Bus (used for temporary managers)

◆ notifyChanged

void KBookmarkManager::notifyChanged ( const QString &  groupAddress,
const QDBusMessage &  msg 
)
slot

Emit the changed signal for the group whose address is given.

See also
KBookmark::address() Called by the process that saved the file after a small change (new bookmark or new folder). Does not send signal over D-Bus to the other Bookmark Managers You probably want to call emitChanged()

◆ notifyCompleteChange

void KBookmarkManager::notifyCompleteChange ( const QString &  caller)
slot

Reparse the whole bookmarks file and notify about the change Doesn't send signal over D-Bus to the other Bookmark Managers You probably want to use emitChanged()

◆ path()

QString KBookmarkManager::path ( ) const

This will return the path that this manager is using to read the bookmarks.

◆ root()

KBookmarkGroup KBookmarkManager::root ( ) const

This will return the root bookmark.

It is used to iterate through the bookmarks manually. It is mostly used internally.

Returns
the root (top-level) bookmark

◆ save()

bool KBookmarkManager::save ( bool  toolbarCache = true) const

Save the bookmarks to an XML file on disk.

You should use emitChanged() instead of this function, it saves and notifies everyone that the file has changed. Only use this if you don't want the emitChanged signal.

Parameters
toolbarCacheiff true save a cache of the toolbar folder, too
Returns
true if saving was successful

◆ saveAs()

bool KBookmarkManager::saveAs ( const QString &  filename,
bool  toolbarCache = true 
) const

Save the bookmarks to the given XML file on disk.

Parameters
filenamefull path to the desired bookmarks file location
toolbarCacheiff true save a cache of the toolbar folder, too
Returns
true if saving was successful

◆ setAutoErrorHandlingEnabled()

void KBookmarkManager::setAutoErrorHandlingEnabled ( bool  enable,
QWidget *  parent 
)

Enable or disable auto error handling is enabled.

If enabled, it will show an error dialog to the user when an error occurs. It is turned on by default. If disabled, the application should react on the error() signal.

Parameters
enabletrue to enable auto error handling, false to disable
parentthe parent widget for the error dialogs, can be nullptr for top-level
Since
4.6
See also
autoErrorHandlingEnabled()

◆ setEditorOptions()

void KBookmarkManager::setEditorOptions ( const QString &  caption,
bool  browser 
)

Set options with which slotEditBookmarks called keditbookmarks this can be used to change the appearance of the keditbookmarks in order to provide a slightly differing outer shell depending on the bookmarks file / app which calls it.

Parameters
captionthe –caption string, for instance "Konsole"
browseriff false display no browser specific menu items in keditbookmarks :: –nobrowser

◆ setUpdate()

void KBookmarkManager::setUpdate ( bool  update)

Set the update flag.

Defaults to true.

Parameters
updateif true then KBookmarkManager will listen to D-Bus update requests.

◆ toolbar()

KBookmarkGroup KBookmarkManager::toolbar ( )

This returns the root of the toolbar menu.

In the XML, this is the group with the attribute toolbar=yes

Returns
the toolbar group

◆ updateAccessMetadata()

bool KBookmarkManager::updateAccessMetadata ( const QString &  url)

Update access time stamps for a given url.

Parameters
urlthe viewed url
Returns
true if any metadata was modified (bookmarks file is not saved automatically)

◆ userBookmarksManager()

static KBookmarkManager * KBookmarkManager::userBookmarksManager ( )
static

Returns a pointer to the user's main (konqueror) bookmark collection.