/*
    SPDX-FileCopyrightText: 2026 ahouts

    SPDX-License-Identifier: GPL-2.0-or-later
*/

#include "slugrewritepluginurlinterceptor.h"
#include "slugrewriteconfiguredialog.h"
#include "slugrewriteinterceptorinterface.h"

#include <KPluginFactory>
#include <WebEngineViewer/NetworkPluginUrlInterceptorInterface>

K_PLUGIN_CLASS_WITH_JSON(SlugRewritePluginUrlInterceptor, "messageviewer_slugrewriteurlinterceptor.json")

SlugRewritePluginUrlInterceptor::SlugRewritePluginUrlInterceptor(QObject *parent, const QList<QVariant> &)
    : WebEngineViewer::NetworkPluginUrlInterceptor(parent)
{
}

SlugRewritePluginUrlInterceptor::~SlugRewritePluginUrlInterceptor() = default;

WebEngineViewer::NetworkPluginUrlInterceptorInterface *SlugRewritePluginUrlInterceptor::createInterface(QWebEngineView *webEngine, QObject *parent)
{
    Q_UNUSED(webEngine)
    return new SlugRewriteInterceptorInterface(parent);
}

bool SlugRewritePluginUrlInterceptor::hasConfigureDialog() const
{
    return true;
}

void SlugRewritePluginUrlInterceptor::showConfigureDialog(QWidget *parent)
{
    SlugRewriteConfigureDialog dlg(parent);
    dlg.exec();
}

#include "slugrewritepluginurlinterceptor.moc"

#include "moc_slugrewritepluginurlinterceptor.cpp"