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"