diff options
Diffstat (limited to 'src/lib/bookmarks')
-rw-r--r-- | src/lib/bookmarks/xbel.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/bookmarks/xbel.cpp b/src/lib/bookmarks/xbel.cpp index 55392a1..523ed99 100644 --- a/src/lib/bookmarks/xbel.cpp +++ b/src/lib/bookmarks/xbel.cpp @@ -88,7 +88,9 @@ void Xbel::readChildElements(QTreeWidgetItem *parentItem) if(xmlReader.name() == "title") { readTitle(parentItem); } else if(xmlReader.name() == "folder") { - readChildElements(addFolder(parentItem)); + QTreeWidgetItem *item = addFolder(parentItem); + item->setText(1, xmlReader.attributes().value("href").toString()); + readChildElements(item); } else if(xmlReader.name() == "bookmark") { QTreeWidgetItem *item = addBookmark(parentItem); item->setText(1, xmlReader.attributes().value("href").toString()); @@ -169,6 +171,9 @@ void Xbel::writeItem(QTreeWidgetItem *item) QString tagName = item->data(0, Qt::UserRole).toString(); if (tagName == "folder") { xmlWriter.writeStartElement(tagName); + if(!item->text(1).isEmpty()) { + xmlWriter.writeAttribute("href", item->text(1)); + } xmlWriter.writeAttribute("folded", treeWidget->isItemExpanded(item) ? "no" : "yes"); xmlWriter.writeTextElement("title", item->text(0)); for (int i = 0; i < item->childCount(); ++i) { |