Messagelib

dkimmanagerkeywidget.cpp
1 /*
2  SPDX-FileCopyrightText: 2018-2023 Laurent Montel <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "dkimmanagerkeywidget.h"
8 #include "dkimmanagerkey.h"
9 #include "dkimmanagerkeymodel.h"
10 #include "dkimmanagerkeytreeview.h"
11 
12 #include <KLineEditEventHandler>
13 #include <KLocalizedString>
14 #include <QHeaderView>
15 #include <QLineEdit>
16 #include <QVBoxLayout>
17 
18 using namespace MessageViewer;
19 DKIMManagerKeyWidget::DKIMManagerKeyWidget(QWidget *parent)
20  : QWidget(parent)
21  , mDKIMManagerKeyTreeView(new DKIMManagerKeyTreeView(this))
22 {
23  auto mainLayout = new QVBoxLayout(this);
24  mainLayout->setObjectName(QLatin1StringView("mainlayout"));
25  mainLayout->setContentsMargins({});
26 
27  mDKIMManagerKeyTreeView->setObjectName(QLatin1StringView("mDKIMManagerKeyTreeView"));
28 
29  auto searchLineEdit = new QLineEdit(this);
30  KLineEditEventHandler::catchReturnKey(searchLineEdit);
31  searchLineEdit->setObjectName(QLatin1StringView("searchlineedit"));
32  searchLineEdit->setClearButtonEnabled(true);
33  mainLayout->addWidget(searchLineEdit);
34  connect(searchLineEdit, &QLineEdit::textChanged, mDKIMManagerKeyTreeView, &DKIMManagerKeyTreeView::setFilterStr);
35 
36  mainLayout->addWidget(mDKIMManagerKeyTreeView);
37 }
38 
39 DKIMManagerKeyWidget::~DKIMManagerKeyWidget() = default;
40 
41 QByteArray DKIMManagerKeyWidget::saveHeaders() const
42 {
43  return mDKIMManagerKeyTreeView->header()->saveState();
44 }
45 
46 void DKIMManagerKeyWidget::restoreHeaders(const QByteArray &header)
47 {
48  mDKIMManagerKeyTreeView->header()->restoreState(header);
49 }
50 
51 void DKIMManagerKeyWidget::loadKeys()
52 {
53  auto model = new DKIMManagerKeyModel(this);
54  model->setKeyInfos(DKIMManagerKey::self()->keys());
55  mDKIMManagerKeyTreeView->setKeyModel(model);
56 }
57 
58 void DKIMManagerKeyWidget::saveKeys()
59 {
60  DKIMManagerKey::self()->saveKeys(mDKIMManagerKeyTreeView->keyInfos());
61 }
62 
63 void DKIMManagerKeyWidget::resetKeys()
64 {
65  mDKIMManagerKeyTreeView->clear();
66  loadKeys();
67 }
68 
69 #include "moc_dkimmanagerkeywidget.cpp"
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
void textChanged(const QString &text)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sun Dec 3 2023 03:57:06 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.