File indexing completed on 2024-05-12 05:25:39
0001 /* 0002 SPDX-FileCopyrightText: 2015-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "sieveeditorbookmarks.h" 0008 #include "sieveeditormainwindow.h" 0009 #include <KActionCollection> 0010 #include <KBookmarkMenu> 0011 #include <QDir> 0012 #include <QMenu> 0013 #include <QStandardPaths> 0014 0015 SieveEditorBookmarks::SieveEditorBookmarks(SieveEditorMainWindow *mainWindow, KActionCollection *collection, QMenu *menu, QObject *parent) 0016 : QObject(parent) 0017 , KBookmarkOwner() 0018 , mMenu(menu) 0019 , mMainWindow(mainWindow) 0020 { 0021 QString bookmarkFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("sieveeditor/bookmarks.xml")); 0022 0023 if (bookmarkFile.isEmpty()) { 0024 bookmarkFile = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/sieveeditor"); 0025 QDir().mkpath(bookmarkFile); 0026 bookmarkFile += QStringLiteral("/bookmarks.xml"); 0027 } 0028 0029 m_bookmarkManager = new KBookmarkManager(bookmarkFile, this); 0030 0031 mBookmarkMenu = new KBookmarkMenu(m_bookmarkManager, this, mMenu); 0032 collection->addActions(mMenu->actions()); 0033 } 0034 0035 SieveEditorBookmarks::~SieveEditorBookmarks() 0036 { 0037 delete mBookmarkMenu; 0038 } 0039 0040 QMenu *SieveEditorBookmarks::menu() const 0041 { 0042 return mMenu; 0043 } 0044 0045 void SieveEditorBookmarks::openBookmark(const KBookmark &bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km) 0046 { 0047 Q_UNUSED(mb) 0048 Q_UNUSED(km) 0049 Q_EMIT openUrl(bm.url()); 0050 } 0051 0052 QString SieveEditorBookmarks::currentTitle() const 0053 { 0054 return mMainWindow->currentHelpTitle(); 0055 } 0056 0057 QUrl SieveEditorBookmarks::currentUrl() const 0058 { 0059 return mMainWindow->currentHelpUrl(); 0060 } 0061 0062 #include "moc_sieveeditorbookmarks.cpp"