File indexing completed on 2024-05-05 05:53:04
0001 // -*- c-basic-offset:4; indent-tabs-mode:nil -*- 0002 /* 0003 This file is part of the KDE libraries 0004 SPDX-FileCopyrightText: 2003 Alexander Kellett <lypanov@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-only 0007 */ 0008 0009 #include "kbookmarkimporter.h" 0010 0011 #include "kbookmarkimporter_ie.h" 0012 #include "kbookmarkimporter_ns.h" 0013 #include "kbookmarkimporter_opera.h" 0014 #include "kbookmarkmanager.h" 0015 0016 #include <assert.h> 0017 #include <stddef.h> 0018 0019 void KXBELBookmarkImporterImpl::parse() 0020 { 0021 // qCDebug(KBOOKMARKS_LOG) << "KXBELBookmarkImporterImpl::parse()"; 0022 KBookmarkManager manager(m_fileName); 0023 KBookmarkGroup root = manager.root(); 0024 traverse(root); 0025 } 0026 0027 void KXBELBookmarkImporterImpl::visit(const KBookmark &bk) 0028 { 0029 // qCDebug(KBOOKMARKS_LOG) << "KXBELBookmarkImporterImpl::visit"; 0030 if (bk.isSeparator()) { 0031 Q_EMIT newSeparator(); 0032 } else { 0033 Q_EMIT newBookmark(bk.fullText(), bk.url().toString(), QLatin1String("")); 0034 } 0035 } 0036 0037 void KXBELBookmarkImporterImpl::visitEnter(const KBookmarkGroup &grp) 0038 { 0039 // qCDebug(KBOOKMARKS_LOG) << "KXBELBookmarkImporterImpl::visitEnter"; 0040 Q_EMIT newFolder(grp.fullText(), false, QLatin1String("")); 0041 } 0042 0043 void KXBELBookmarkImporterImpl::visitLeave(const KBookmarkGroup &) 0044 { 0045 // qCDebug(KBOOKMARKS_LOG) << "KXBELBookmarkImporterImpl::visitLeave"; 0046 Q_EMIT endFolder(); 0047 } 0048 0049 void BookmarkImporterBase::setupSignalForwards(QObject *src, QObject *dst) 0050 { 0051 // clang-format off 0052 connect(src, SIGNAL(newBookmark(QString,QString,QString)), dst, SIGNAL(newBookmark(QString,QString,QString))); 0053 connect(src, SIGNAL(newFolder(QString,bool,QString)), dst, SIGNAL(newFolder(QString,bool,QString))); 0054 // clang-format on 0055 connect(src, SIGNAL(newSeparator()), dst, SIGNAL(newSeparator())); 0056 connect(src, SIGNAL(endFolder()), dst, SIGNAL(endFolder())); 0057 } 0058 0059 BookmarkImporterBase *BookmarkImporterBase::factory(const QString &type) 0060 { 0061 if (type == QLatin1String("netscape")) { 0062 return new NSBookmarkImporterImpl; 0063 } else if (type == QLatin1String("mozilla")) { 0064 return new KMozillaBookmarkImporterImpl; 0065 } else if (type == QLatin1String("xbel")) { 0066 return new KXBELBookmarkImporterImpl; 0067 } else if (type == QLatin1String("ie")) { 0068 return new IEBookmarkImporterImpl; 0069 } else if (type == QLatin1String("opera")) { 0070 return new OperaBookmarkImporterImpl; 0071 } else { 0072 return nullptr; 0073 } 0074 } 0075 0076 #include "moc_kbookmarkimporter.cpp"