File indexing completed on 2023-12-03 10:57:21
0001 /* 0002 This file is part of the KDE libraries 0003 SPDX-FileCopyrightText: 2002 Carsten Pfeiffer <pfeiffer@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.0-only 0006 */ 0007 0008 #include "kfilebookmarkhandler_p.h" 0009 0010 #include <stdio.h> 0011 #include <stdlib.h> 0012 0013 #include <QMenu> 0014 0015 #include <QStandardPaths> 0016 #include <kio/global.h> 0017 0018 #include "kfilewidget.h" 0019 0020 KFileBookmarkHandler::KFileBookmarkHandler(KFileWidget *widget) 0021 : QObject(widget) 0022 , KBookmarkOwner() 0023 , m_widget(widget) 0024 { 0025 setObjectName(QStringLiteral("KFileBookmarkHandler")); 0026 m_menu = new QMenu(widget); 0027 m_menu->setObjectName(QStringLiteral("bookmark menu")); 0028 0029 QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kfile/bookmarks.xml")); 0030 if (file.isEmpty()) { 0031 file = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/kfile/bookmarks.xml"); 0032 } 0033 0034 KBookmarkManager *manager = KBookmarkManager::managerForFile(file); 0035 manager->setUpdate(true); 0036 0037 m_bookmarkMenu = new KBookmarkMenu(manager, this, m_menu); 0038 } 0039 0040 KFileBookmarkHandler::~KFileBookmarkHandler() 0041 { 0042 delete m_bookmarkMenu; 0043 } 0044 0045 void KFileBookmarkHandler::openBookmark(const KBookmark &bm, Qt::MouseButtons, Qt::KeyboardModifiers) 0046 { 0047 Q_EMIT openUrl(bm.url().toString()); 0048 } 0049 0050 QUrl KFileBookmarkHandler::currentUrl() const 0051 { 0052 return m_widget->baseUrl(); 0053 } 0054 0055 QString KFileBookmarkHandler::currentTitle() const 0056 { 0057 return m_widget->baseUrl().toDisplayString(); 0058 } 0059 0060 QString KFileBookmarkHandler::currentIcon() const 0061 { 0062 return KIO::iconNameForUrl(currentUrl()); 0063 } 0064 0065 #include "moc_kfilebookmarkhandler_p.cpp"