File indexing completed on 2024-05-05 17:45:00

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 Plasma::AbstractRunner
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     BookmarksRunner(QObject *parent, const KPluginMetaData &metaData, const QVariantList &args);
0023     ~BookmarksRunner() override;
0024 
0025     void match(Plasma::RunnerContext &context) override;
0026     void run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &action) override;
0027 
0028 private:
0029     /** @returns the browser to get the bookmarks from
0030      * @see Browser
0031      */
0032     QString findBrowserName();
0033 
0034 private:
0035     Browser *m_browser;
0036     BrowserFactory *const m_browserFactory;
0037 
0038 private Q_SLOTS:
0039     void prep();
0040 };