diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-01-20 17:10:51 +0100 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-01-20 17:10:51 +0100 |
commit | 1e8abe4a99236ae7ab1889531660ba7bbfb8aee7 (patch) | |
tree | b8a85ab23e7de39dc4d95e33b4d0dec0c01dc2e7 /lib/bookmarks/xbel.cpp | |
parent | Added result label to search form (diff) | |
download | smolbote-1e8abe4a99236ae7ab1889531660ba7bbfb8aee7.tar.xz |
Saner bookmark editing
- Fixed bug with bookmarks in folders getting duplicated
Diffstat (limited to 'lib/bookmarks/xbel.cpp')
-rw-r--r-- | lib/bookmarks/xbel.cpp | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/lib/bookmarks/xbel.cpp b/lib/bookmarks/xbel.cpp index d19641c..1be9c7e 100644 --- a/lib/bookmarks/xbel.cpp +++ b/lib/bookmarks/xbel.cpp @@ -97,26 +97,30 @@ bool Xbel::write(BookmarkItem *root) void Xbel::writeChildElements(QXmlStreamWriter &writer, BookmarkItem *parentItem) { - for(int i = 0; i < parentItem->childCount(); ++i) { - BookmarkItem *node = parentItem->child(i); - switch(node->type()) { - case BookmarkItem::Root: - break; - case BookmarkItem::Folder: - writer.writeStartElement("folder"); - writer.writeAttribute("folded", node->folded ? "yes" : "no"); - writer.writeTextElement("title", node->title); - for(int j = 0; j < node->childCount(); ++j) { - writeChildElements(writer, node); - } - writer.writeEndElement(); - break; - case BookmarkItem::Bookmark: - writer.writeStartElement("bookmark"); - writer.writeAttribute("href", node->href); - writer.writeTextElement("title", node->title); - writer.writeEndElement(); - break; + switch(parentItem->type()) { + case BookmarkItem::Root: + for(int i = 0; i < parentItem->childCount(); ++i) { + writeChildElements(writer, parentItem->child(i)); } + break; + + case BookmarkItem::Folder: + writer.writeStartElement("folder"); + writer.writeAttribute("folded", parentItem->folded ? "yes" : "no"); + writer.writeTextElement("title", parentItem->title); + + for(int i = 0; i < parentItem->childCount(); ++i) { + writeChildElements(writer, parentItem->child(i)); + } + + writer.writeEndElement(); + break; + + case BookmarkItem::Bookmark: + writer.writeStartElement("bookmark"); + writer.writeAttribute("href", parentItem->href); + writer.writeTextElement("title", parentItem->title); + writer.writeEndElement(); + break; } } |