File indexing completed on 2024-05-05 16:45:35
0001 /* 0002 SPDX-FileCopyrightText: xxxx KFile Authors 0003 SPDX-FileCopyrightText: 2002 Anders Lund <anders.lund@lund.tdcadsl.dk> 0004 SPDX-FileCopyrightText: 2009 Dominik Haumann <dhaumann kde org> 0005 SPDX-FileCopyrightText: 2007 Mirko Stocker <me@misto.ch> 0006 SPDX-FileCopyrightText: 2012 Niko Sams <niko.sams@gmai.com> 0007 0008 SPDX-License-Identifier: LGPL-2.0-only 0009 */ 0010 0011 #include "bookmarkhandler.h" 0012 #include "filemanager.h" 0013 #include "kdevfilemanagerplugin.h" 0014 #include "debug.h" 0015 #include <interfaces/icore.h> 0016 #include <interfaces/isession.h> 0017 0018 #include <QMenu> 0019 0020 BookmarkHandler::BookmarkHandler( FileManager *parent, QMenu* kpopupmenu ) 0021 : QObject( parent ), 0022 KBookmarkOwner(), 0023 m_parent( parent ), 0024 m_menu( kpopupmenu ) 0025 { 0026 setObjectName( QStringLiteral( "BookmarkHandler" ) ); 0027 0028 QUrl bookmarksPath = KDevelop::ICore::self()->activeSession()->pluginDataArea(parent->plugin()); 0029 bookmarksPath.setPath(bookmarksPath.path() + QLatin1String("fsbookmarks.xml")); 0030 qCDebug(PLUGIN_FILEMANAGER) << bookmarksPath; 0031 0032 KBookmarkManager *manager = KBookmarkManager::managerForFile( bookmarksPath.toLocalFile(), QStringLiteral( "kdevplatform" ) ); 0033 manager->setUpdate( true ); 0034 0035 m_bookmarkMenu = new KBookmarkMenu(manager, this, m_menu); 0036 const auto actions = m_menu->actions(); 0037 0038 //remove shortcuts as they might conflict with others (eg. Ctrl+B) 0039 for (QAction* action : actions) { 0040 action->setShortcut(QKeySequence()); 0041 } 0042 } 0043 0044 BookmarkHandler::~BookmarkHandler() 0045 { 0046 delete m_bookmarkMenu; 0047 } 0048 0049 QUrl BookmarkHandler::currentUrl() const 0050 { 0051 return m_parent->dirOperator()->url(); 0052 } 0053 0054 QString BookmarkHandler::currentTitle() const 0055 { 0056 return currentUrl().toDisplayString(); 0057 } 0058 0059 void BookmarkHandler::openBookmark( const KBookmark & bm, Qt::MouseButtons, Qt::KeyboardModifiers ) 0060 { 0061 emit openUrl(bm.url()); 0062 } 0063 0064 #include "moc_bookmarkhandler.cpp"