From 198be208d49990c3535ac765735768ad1ae79c1b Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Thu, 16 Jan 2020 21:40:15 +0200 Subject: Add Firefox bookmarks.json format to libbookmarks - can only read folders and bookmarks, their title and uri fields Not supported by Bookmark Model: - Separator items - Date added and Date modified fields --- test/firefox-bookmarks-json-parser/main.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 test/firefox-bookmarks-json-parser/main.cpp (limited to 'test/firefox-bookmarks-json-parser/main.cpp') diff --git a/test/firefox-bookmarks-json-parser/main.cpp b/test/firefox-bookmarks-json-parser/main.cpp new file mode 100644 index 0000000..48093ec --- /dev/null +++ b/test/firefox-bookmarks-json-parser/main.cpp @@ -0,0 +1,28 @@ +#include +#include "bookmarkformat.h" +#include +#include + +int main(int argc, char** argv) +{ + QApplication app(argc, argv); + + QFile f(qgetenv("FILE")); + + auto *model = new BookmarkModel; + + if(f.open(QIODevice::ReadOnly)) { + BookmarkFormat(&f) >> model; + f.close(); + } else + return -1; + + auto *view = new QTreeView; + view->setModel(model); + + if(qgetenv("NOGUI") == "1") + return 0; + + view->show(); + return app.exec(); +} -- cgit v1.2.1 From 2c982ae87935c2ce2e2144694a4d55c5e1a688b6 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Fri, 17 Jan 2020 13:14:11 +0200 Subject: Parse Tags and Descriptions in FFJson --- test/firefox-bookmarks-json-parser/main.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test/firefox-bookmarks-json-parser/main.cpp') diff --git a/test/firefox-bookmarks-json-parser/main.cpp b/test/firefox-bookmarks-json-parser/main.cpp index 48093ec..54819a2 100644 --- a/test/firefox-bookmarks-json-parser/main.cpp +++ b/test/firefox-bookmarks-json-parser/main.cpp @@ -2,6 +2,7 @@ #include "bookmarkformat.h" #include #include +#include int main(int argc, char** argv) { @@ -23,6 +24,12 @@ int main(int argc, char** argv) if(qgetenv("NOGUI") == "1") return 0; + QObject::connect(view, &QTreeView::activated, [model](const QModelIndex &index) { + const auto tags = model->data(index, BookmarkItem::Tags, Qt::DisplayRole).toStringList(); + qDebug() << tags.join(" || "); + }); + + view->show(); return app.exec(); } -- cgit v1.2.1