File: viewerpluginaiwidget.cpp

package info (click to toggle)
kdepim-addons 25.12.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 35,776 kB
  • sloc: cpp: 47,568; xml: 282; sh: 114; makefile: 19
file content (57 lines) | stat: -rw-r--r-- 2,118 bytes parent folder | download
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
/*
   SPDX-FileCopyrightText: 2025 Laurent Montel <montel@kde.org>

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

#include "viewerpluginaiwidget.h"
#include <KLocalizedString>
#include <QStyle>
#include <QToolButton>
#include <QVBoxLayout>
#include <TextAutoGenerateText/TextAutoGenerateManager>
#include <TextAutoGenerateText/TextAutoGenerateQuickAskWidget>
using namespace Qt::Literals::StringLiterals;
ViewerPluginAIWidget::ViewerPluginAIWidget(QWidget *parent)
    : QWidget{parent}
    , mCloseButton(new QToolButton(this))
    , mTextAutoGenerateQuickAskWidget(new TextAutoGenerateText::TextAutoGenerateQuickAskWidget(new TextAutoGenerateText::TextAutoGenerateManager(this)))
{
    auto layout = new QVBoxLayout(this);
    layout->setSpacing(0);
    layout->setContentsMargins({});

    auto hboxLayout = new QHBoxLayout;
    hboxLayout->setSpacing(style()->pixelMetric(QStyle::PM_LayoutHorizontalSpacing));
    hboxLayout->setContentsMargins(style()->pixelMetric(QStyle::PM_LayoutLeftMargin),
                                   style()->pixelMetric(QStyle::PM_LayoutTopMargin),
                                   style()->pixelMetric(QStyle::PM_LayoutRightMargin),
                                   style()->pixelMetric(QStyle::PM_LayoutBottomMargin));
    mCloseButton->setObjectName(u"close-button"_s);
    mCloseButton->setIcon(QIcon::fromTheme(u"dialog-close"_s));
    mCloseButton->setIconSize(QSize(16, 16));
    mCloseButton->setToolTip(i18nc("@info:tooltip", "Close"));

#ifndef QT_NO_ACCESSIBILITY
    mCloseButton->setAccessibleName(i18n("Close"));
#endif
    mCloseButton->setAutoRaise(true);
    hboxLayout->addWidget(mCloseButton);
    hboxLayout->addStretch(1);
    layout->addLayout(hboxLayout);
    layout->addWidget(mTextAutoGenerateQuickAskWidget);
    connect(mCloseButton, &QToolButton::clicked, this, &ViewerPluginAIWidget::slotCloseWidget);
}

ViewerPluginAIWidget::~ViewerPluginAIWidget() = default;

void ViewerPluginAIWidget::slotCloseWidget()
{
    if (isHidden()) {
        return;
    }
    hide();
    // TODO Q_EMIT toolsWasClosed();
}

#include "moc_viewerpluginaiwidget.cpp"