KBookmarks

kbookmarkimporter.cpp
1 // -*- c-basic-offset:4; indent-tabs-mode:nil -*-
2 /*
3  This file is part of the KDE libraries
4  SPDX-FileCopyrightText: 2003 Alexander Kellett <[email protected]>
5 
6  SPDX-License-Identifier: LGPL-2.0-only
7 */
8 
9 #include "kbookmarkimporter.h"
10 
11 #include "kbookmarkimporter_ie.h"
12 #include "kbookmarkimporter_ns.h"
13 #include "kbookmarkimporter_opera.h"
14 #include "kbookmarkmanager.h"
15 #include "kbookmarks_debug.h"
16 
17 #include <assert.h>
18 #include <stddef.h>
19 
20 void KXBELBookmarkImporterImpl::parse()
21 {
22  // qCDebug(KBOOKMARKS_LOG) << "KXBELBookmarkImporterImpl::parse()";
24  KBookmarkGroup root = manager->root();
25  traverse(root);
26  // FIXME delete it!
27  // delete manager;
28 }
29 
30 void KXBELBookmarkImporterImpl::visit(const KBookmark &bk)
31 {
32  // qCDebug(KBOOKMARKS_LOG) << "KXBELBookmarkImporterImpl::visit";
33  if (bk.isSeparator()) {
35  } else {
37  }
38 }
39 
40 void KXBELBookmarkImporterImpl::visitEnter(const KBookmarkGroup &grp)
41 {
42  // qCDebug(KBOOKMARKS_LOG) << "KXBELBookmarkImporterImpl::visitEnter";
43  Q_EMIT newFolder(grp.fullText(), false, QLatin1String(""));
44 }
45 
46 void KXBELBookmarkImporterImpl::visitLeave(const KBookmarkGroup &)
47 {
48  // qCDebug(KBOOKMARKS_LOG) << "KXBELBookmarkImporterImpl::visitLeave";
49  Q_EMIT endFolder();
50 }
51 
52 void KBookmarkImporterBase::setupSignalForwards(QObject *src, QObject *dst)
53 {
54  // clang-format off
56  connect(src, SIGNAL(newFolder(QString,bool,QString)), dst, SIGNAL(newFolder(QString,bool,QString)));
57  // clang-format on
58  connect(src, SIGNAL(newSeparator()), dst, SIGNAL(newSeparator()));
59  connect(src, SIGNAL(endFolder()), dst, SIGNAL(endFolder()));
60 }
61 
62 KBookmarkImporterBase *KBookmarkImporterBase::factory(const QString &type)
63 {
64  if (type == QLatin1String("netscape")) {
65  return new KNSBookmarkImporterImpl;
66  } else if (type == QLatin1String("mozilla")) {
68  } else if (type == QLatin1String("xbel")) {
69  return new KXBELBookmarkImporterImpl;
70  } else if (type == QLatin1String("ie")) {
71  return new KIEBookmarkImporterImpl;
72  } else if (type == QLatin1String("opera")) {
73  return new KOperaBookmarkImporterImpl;
74  } else {
75  return nullptr;
76  }
77 }
78 
79 #include "moc_kbookmarkimporter.cpp"
Q_EMITQ_EMIT
void newFolder(const QString &text, bool open, const QString &additionalInfo)
Notify about a new folder Use "bookmark_folder" for the icon.
bool isSeparator() const
Whether the bookmark is a separator.
Definition: kbookmark.cpp:294
A class for importing NS bookmarks utf8 defaults to off.
void newSeparator()
Notify about a new separator.
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
A class for importing IE bookmarks.
QString toString(QUrl::FormattingOptions options) const const
KBookmarkGroup root() const
This will return the root bookmark.
void endFolder()
Tell the outside world that we're going down one menu.
A class for importing Opera bookmarks.
QUrl url() const
URL contained by the bookmark.
Definition: kbookmark.cpp:343
A class for importing Mozilla bookmarks utf8 defaults to on.
QString fullText() const
Text shown for the bookmark, not truncated.
Definition: kbookmark.cpp:315
A class for importing XBEL files.
static KBookmarkManager * managerForFile(const QString &bookmarksFile, const QString &dbusObjectName)
This static function will return an instance of the KBookmarkManager, responsible for the given bookm...
A class for importing NS bookmarks KEditBookmarks uses it to insert bookmarks into its DOM tree,...
void newBookmark(const QString &text, const QString &url, const QString &additionalInfo)
Notify about a new bookmark Use "html" for the icon.
A group of bookmarks.
Definition: kbookmark.h:322
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Sep 28 2023 03:57:59 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.