|
|
|
//
|
|
|
|
// C++ Interface: ksayitbookmarkhandler
|
|
|
|
//
|
|
|
|
// Description:
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// Author: Robert Vogl <voglrobe@web.de>, (C) 2005
|
|
|
|
//
|
|
|
|
// Copyright: See COPYING file that comes with this distribution
|
|
|
|
//
|
|
|
|
//
|
|
|
|
#ifndef KSAYITBOOKMARKHANDLER_H
|
|
|
|
#define KSAYITBOOKMARKHANDLER_H
|
|
|
|
|
|
|
|
// TQt includes
|
|
|
|
#include <tqstring.h>
|
|
|
|
|
|
|
|
// KDE includes
|
|
|
|
#include <kbookmarkmanager.h>
|
|
|
|
|
|
|
|
|
|
|
|
class KSayItApp;
|
|
|
|
|
|
|
|
/**
|
|
|
|
Each of the objects in the TreeView that can be bookmarked has an unique ID.
|
|
|
|
The "URL" is to be created as follows: \p ksayit://filename/ID.\n
|
|
|
|
The "Title" is either the content of column 0 of the TreeView or the 32nd leading
|
|
|
|
charcters of the text (e.g. if the item references to a paragraph).
|
|
|
|
@author Robert Vogl
|
|
|
|
*/
|
|
|
|
class KSayItBookmarkHandler : public KBookmarkOwner
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
KSayItBookmarkHandler(KBookmarkManager *bkManager=0, KSayItApp* tqparent=0);
|
|
|
|
virtual ~KSayItBookmarkHandler();
|
|
|
|
|
|
|
|
public:
|
|
|
|
/**
|
|
|
|
* Reimplemented from base class.\n
|
|
|
|
* Called when a bookmark in the menu was clicked.
|
|
|
|
* \param url The URL of the selected bookmark.
|
|
|
|
*/
|
|
|
|
void openBookmarkURL(const TQString &url);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Reimplemented from base class.\n
|
|
|
|
* Returns the Title when a new bookmark is about to be created.
|
|
|
|
* \returns The title of the bookmark.
|
|
|
|
*/
|
|
|
|
TQString currentTitle() const;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Reimplemented from base class.\n
|
|
|
|
* Returns the URL when a new bookmark is about to be created.
|
|
|
|
* \returns The URL of the bookmark.
|
|
|
|
*/
|
|
|
|
TQString currentURL() const;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets ID and title of the current TreeView item.
|
|
|
|
* \param ID The unique ID of the item.
|
|
|
|
* \param title The bookmark title of the item.
|
|
|
|
*/
|
|
|
|
void notifyBookmarkHandler(const TQString &ID, const TQString &title);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Deletes the bookmark designated by the given url.
|
|
|
|
* \param url The url of the bookmark.
|
|
|
|
*/
|
|
|
|
void deleteBookmark(const TQString &url, const TQString &title);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Iterates recursively through all bookmarks below the
|
|
|
|
* given group.
|
|
|
|
* \param bkGroup The KBookmarkGroup to start.
|
|
|
|
*/
|
|
|
|
void traverseBookmarks(KBookmarkGroup bkGroup);
|
|
|
|
|
|
|
|
private:
|
|
|
|
/**
|
|
|
|
* Searches the Bookmark designted by its URL.
|
|
|
|
* \param bookmark A reference that will contain the search result (bookmark).
|
|
|
|
* \param group A reference that will contain the search result
|
|
|
|
* (the group the found bookmark belongs to).
|
|
|
|
* \param bkGroup The root-bookmark from which the search will start
|
|
|
|
* (usually the topmost bookmark in the tree).
|
|
|
|
* \param url The URL of the bookmark to search for (including <tt>ksayit://</tt>).
|
|
|
|
* \returns \em true, if the bookmark was found, \em false, if not.
|
|
|
|
*/
|
|
|
|
bool recursiveGetBkByURL(
|
|
|
|
KBookmark &bookmark,
|
|
|
|
KBookmarkGroup &group,
|
|
|
|
const KBookmarkGroup &bkGroup,
|
|
|
|
const TQString &url);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Searches the Bookmark designted by its URL.
|
|
|
|
* \param bookmark A reference that will contain the search result (bookmark).
|
|
|
|
* \param group A reference that will contain the search result
|
|
|
|
* (the group the found bookmark belongs to).
|
|
|
|
* \param bkGroup The root-bookmark from which the search will start
|
|
|
|
* (usually the topmost bookmark in the tree).
|
|
|
|
* \param title The title of the bookmark to search for.
|
|
|
|
* \returns Number of bookmarks with the given title.
|
|
|
|
*/
|
|
|
|
int recursiveGetBkByTitle(
|
|
|
|
KBookmark &bookmark,
|
|
|
|
KBookmarkGroup &group,
|
|
|
|
const KBookmarkGroup &bkGroup,
|
|
|
|
const TQString &title);
|
|
|
|
private:
|
|
|
|
TQString m_ID;
|
|
|
|
TQString m_title;
|
|
|
|
KBookmarkManager *m_bkManager;
|
|
|
|
KSayItApp *m_parent;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|