1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
/*
SPDX-FileCopyrightText: 2025 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "viewerpluginaiinterface.h"
#include "viewerpluginaiwidget.h"
#include <KActionCollection>
#include <KLocalizedString>
#include <QAction>
#include <QLayout>
using namespace MessageViewer;
ViewerPluginAIInterface::ViewerPluginAIInterface(KActionCollection *ac, QWidget *parent)
: ViewerPluginInterface(parent)
{
createAction(ac);
}
ViewerPluginAIInterface::~ViewerPluginAIInterface() = default;
void ViewerPluginAIInterface::setText(const QString &text)
{
// widget()->setTextToTranslate(text);
}
QList<QAction *> ViewerPluginAIInterface::actions() const
{
return mAction;
}
void ViewerPluginAIInterface::showWidget()
{
widget()->show();
}
ViewerPluginInterface::SpecificFeatureTypes ViewerPluginAIInterface::featureTypes() const
{
return NeedSelection;
}
void ViewerPluginAIInterface::createAction(KActionCollection *ac)
{
if (ac) {
auto act = new QAction(i18nc("@action", "Ask AI…"), this);
// ac->setDefaultShortcut(act, QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_T));
ac->addAction(QStringLiteral("ask_ai_text"), act);
connect(act, &QAction::triggered, this, &ViewerPluginAIInterface::slotActivatePlugin);
mAction.append(act);
}
}
ViewerPluginAIWidget *ViewerPluginAIInterface::widget()
{
if (!mAiWidget) {
auto parentWidget = static_cast<QWidget *>(parent());
mAiWidget = new ViewerPluginAIWidget(parentWidget);
mAiWidget->setObjectName(QLatin1StringView("mAiWidget"));
parentWidget->layout()->addWidget(mAiWidget);
mAiWidget->hide();
}
return mAiWidget;
}
#include "moc_viewerpluginaiinterface.cpp"
|