diff --git a/lib/konq/kbookmark.cc b/lib/konq/kbookmark.cc index 79504ca95d..ae3d6bac1a 100644 --- a/lib/konq/kbookmark.cc +++ b/lib/konq/kbookmark.cc @@ -265,3 +265,13 @@ QString KBookmark::address() const return "ERROR"; } } + +static KBookmark KBookmark::standaloneBookmark( const QString & text, const KURL & url ) +{ + QDomDocument doc("xbel"); + QDomElement elem = doc.createElement("xbel"); + doc.appendChild( elem ); + KBookmarkGroup grp( elem ); + grp.addBookmark( text, url ); + return grp.first(); +} diff --git a/lib/konq/kbookmark.h b/lib/konq/kbookmark.h index 762c3b3962..d3d3b80b4e 100644 --- a/lib/konq/kbookmark.h +++ b/lib/konq/kbookmark.h @@ -30,6 +30,8 @@ class KBookmark public: KBookmark( QDomElement elem ) : element(elem) {} + static KBookmark standaloneBookmark( const QString & text, const KURL & url ); + /** * Whether the bookmark is a group or a normal bookmark */ diff --git a/lib/konq/kbookmarkdrag.cc b/lib/konq/kbookmarkdrag.cc index c034e7666f..4e46acaaed 100644 --- a/lib/konq/kbookmarkdrag.cc +++ b/lib/konq/kbookmarkdrag.cc @@ -61,7 +61,7 @@ QByteArray KBookmarkDrag::encodedData( const char* mime ) const return QUriDrag::encodedData( mime ); else if ( mimetype == "application/x-xbel" ) { - QDomDocument doc("xbel"); // plan for the future :) + QDomDocument doc("xbel"); QDomElement elem = doc.createElement("xbel"); doc.appendChild( elem ); elem.appendChild( m_bookmark.internalElement().cloneNode( true /* deep */ ) ); @@ -94,15 +94,10 @@ KBookmark KBookmarkDrag::decode( const QMimeSource * e ) KURL::List m_lstDragURLs; if ( KURLDrag::decode( e, m_lstDragURLs ) ) { - QDomDocument doc("xbel"); - QDomElement elem = doc.createElement("xbel"); - doc.appendChild( elem ); if ( m_lstDragURLs.count() > 1 ) kdWarning() << "Only first URL inserted, known limitation" << endl; //kdDebug() << "KBookmarkDrag::decode url=" << m_lstDragURLs.first().url() << endl; - KBookmarkGroup grp( elem ); - grp.addBookmark( m_lstDragURLs.first().fileName(), m_lstDragURLs.first().url() ); - return grp.first(); + return KBookmark::standaloneBookmark( m_lstDragURLs.first().fileName(), m_lstDragURLs.first() ); } } return KBookmark(QDomElement());