/* ============================================================ * The rekonq project * ============================================================ * SPDX-License-Identifier: GPL-2.0-or-later * Copyright (C) 2008-2012 by Andrea Diamantini * Copyright (C) 2009-2011 by Lionel Chauvin * SPDX-License-Identifier: GPL-3.0-only * Copyright (C) 2022 aqua * ============================================================ * Description: Search engine manager * ============================================================ */ #pragma once #include #include #include #include class SearchEngine { public: static void reload(RekonqSettings *settings); static SearchEngine *defaultEngine(); static QList engines(); SearchEngine(const QString &id, RekonqSettings *settings); [[nodiscard]] auto id() const { return m_id; } [[nodiscard]] auto icon() const { return m_icon; } [[nodiscard]] auto name() const { return m_name; } void setName(const QString &name) { m_name = name; } [[nodiscard]] bool isEnabled() const { return m_enabled; } [[nodiscard]] QString query(const QString &text) const { return m_url.arg(text); } private: const QString m_id; QIcon m_icon; QString m_name; QString m_url; bool m_enabled; };