void BookmarksManager::importBookmarks() { QString fileName = QFileDialog::getOpenFileName(0, tr("Open File"), QString(), tr("XBEL (*.xbel *.xml)")); if (fileName.isEmpty()) return; XbelReader reader; BookmarkNode *importRootNode = reader.read(fileName); if (reader.error() != QXmlStreamReader::NoError) { QMessageBox::warning(0, QLatin1String("Loading Bookmark"), tr("Error when loading bookmarks on line %1, column %2:\n" "%3").arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.errorString())); } importRootNode->setType(BookmarkNode::Folder); importRootNode->title = (tr("Imported %1").arg(QDate::currentDate().toString(Qt::SystemLocaleShortDate))); addBookmark(menu(), importRootNode); }
void BookmarksManager::importBookmarks() { QString fileName = QFileDialog::getOpenFileName(0, tr("Open File"), QString(), tr("XBEL (*.xbel *.xml *.html)")); if (fileName.isEmpty()) return; XbelReader reader; BookmarkNode *importRootNode = 0; if (fileName.endsWith(QLatin1String(".html"))) { QString program = QLatin1String("htmlToXBel"); QStringList arguments; arguments << fileName; QProcess process; process.start(program, arguments); process.waitForFinished(-1); if (process.error() != QProcess::UnknownError) { QMessageBox::warning(0, QLatin1String("Loading Bookmark"), tr("Error when loading html bookmarks: %1\n").arg(process.errorString())); return; } importRootNode = reader.read(&process); } else { importRootNode = reader.read(fileName); } if (reader.error() != QXmlStreamReader::NoError) { QMessageBox::warning(0, QLatin1String("Loading Bookmark"), tr("Error when loading bookmarks on line %1, column %2:\n" "%3").arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.errorString())); delete importRootNode; return; } importRootNode->setType(BookmarkNode::Folder); importRootNode->title = (tr("Imported %1").arg(QDate::currentDate().toString(Qt::SystemLocaleShortDate))); addBookmark(menu(), importRootNode); }