24 #include <tqvaluelist.h>
31 class KIO_EXPORT KBookmark
35 enum MetaDataOverwriteMode {
36 OverwriteMetaData, DontOverwriteMetaData
40 KBookmark( TQDomElement elem ) : element(elem) {}
42 static KBookmark standaloneBookmark(
const TQString & text,
const KURL & url,
const TQString & icon = TQString::null );
52 bool isSeparator()
const;
59 bool isNull()
const {
return element.isNull();}
67 bool hasParent()
const;
74 TQString text()
const;
79 TQString fullText()
const;
88 TQString icon()
const;
107 TQString address()
const;
118 TQDomElement internalElement()
const {
return element; }
125 void updateAccessMetadata();
132 static TQString parentAddress(
const TQString & address )
133 {
return address.left( address.findRev(
'/') ); }
138 static uint positionInParent(
const TQString & address )
139 {
return address.mid( address.findRev(
'/') + 1 ).toInt(); }
145 static TQString previousAddress(
const TQString & address )
147 uint pp = positionInParent(address);
148 return pp>0 ? parentAddress(address) +
'/' + TQString::number(pp-1) : TQString::null;
155 static TQString nextAddress(
const TQString & address )
156 {
return parentAddress(address) +
'/' + TQString::number(positionInParent(address)+1); }
163 static TQString commonParent(TQString A, TQString B);
172 TQString metaDataItem(
const TQString &key )
const;
182 void setMetaDataItem(
const TQString &key,
const TQString &value, MetaDataOverwriteMode mode = OverwriteMetaData );
185 TQDomElement element;
192 bool hasMetaData()
const;
193 static TQString left(
const TQString & str, uint len);
219 TQString groupAddress()
const;
229 KBookmark first()
const;
234 KBookmark previous(
const KBookmark & current )
const;
239 KBookmark next(
const KBookmark & current )
const;
252 KBookmark createNewSeparator();
262 KBookmark addBookmark(
KBookmarkManager* mgr,
const KBookmark &bm,
bool emitSignal =
true );
274 KBookmark addBookmark(
KBookmarkManager* mgr,
const TQString & text,
const KURL & url,
const TQString & icon = TQString::null,
bool emitSignal =
true );
281 bool moveItem(
const KBookmark & item,
const KBookmark & after );
287 void deleteBookmark( KBookmark bk );
292 bool isToolbarGroup()
const;
296 TQDomElement findToolbar()
const;
302 TQValueList<KURL> groupUrlList()
const;
305 TQDomElement nextKnownTag( TQDomElement start,
bool goNext )
const;
308 mutable TQString m_address;
322 virtual void visit(
const KBookmark &) { ; }
326 class KBookmarkGroupTraverserPrivate *d;