File indexing completed on 2024-05-12 05:38:18

0001 /*
0002     SPDX-FileCopyrightText: 2007 Glenn Ergeerts <glenn.ergeerts@telenet.be>
0003     SPDX-FileCopyrightText: 2012 Marco Gulino <marco.gulino@xpeppers.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <QMimeData>
0011 #include <krunner/abstractrunner.h>
0012 
0013 class Browser;
0014 class BrowserFactory;
0015 
0016 /** This runner searchs for bookmarks in browsers like Konqueror, Firefox and Opera */
0017 class BookmarksRunner : public KRunner::AbstractRunner
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     BookmarksRunner(QObject *parent, const KPluginMetaData &metaData);
0023 
0024     void match(KRunner::RunnerContext &context) override;
0025     void run(const KRunner::RunnerContext &context, const KRunner::QueryMatch &action) override;
0026 
0027 private:
0028     /** @returns the browser to get the bookmarks from
0029      * @see Browser
0030      */
0031     QString findBrowserName();
0032 
0033 private:
0034     Browser *m_browser;
0035     BrowserFactory *const m_browserFactory;
0036 
0037 private Q_SLOTS:
0038     void prep();
0039 };