File indexing completed on 2025-03-09 04:54:30
0001 /* 0002 SPDX-FileCopyrightText: 2018-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "dkimmanagerkeywidget.h" 0008 #include "dkimmanagerkey.h" 0009 #include "dkimmanagerkeymodel.h" 0010 #include "dkimmanagerkeytreeview.h" 0011 0012 #include <KLineEditEventHandler> 0013 #include <KLocalizedString> 0014 #include <QHeaderView> 0015 #include <QLineEdit> 0016 #include <QVBoxLayout> 0017 0018 using namespace MessageViewer; 0019 DKIMManagerKeyWidget::DKIMManagerKeyWidget(QWidget *parent) 0020 : QWidget(parent) 0021 , mDKIMManagerKeyTreeView(new DKIMManagerKeyTreeView(this)) 0022 { 0023 auto mainLayout = new QVBoxLayout(this); 0024 mainLayout->setObjectName(QLatin1StringView("mainlayout")); 0025 mainLayout->setContentsMargins({}); 0026 0027 mDKIMManagerKeyTreeView->setObjectName(QLatin1StringView("mDKIMManagerKeyTreeView")); 0028 0029 auto searchLineEdit = new QLineEdit(this); 0030 KLineEditEventHandler::catchReturnKey(searchLineEdit); 0031 searchLineEdit->setObjectName(QLatin1StringView("searchlineedit")); 0032 searchLineEdit->setClearButtonEnabled(true); 0033 mainLayout->addWidget(searchLineEdit); 0034 connect(searchLineEdit, &QLineEdit::textChanged, mDKIMManagerKeyTreeView, &DKIMManagerKeyTreeView::setFilterStr); 0035 0036 mainLayout->addWidget(mDKIMManagerKeyTreeView); 0037 } 0038 0039 DKIMManagerKeyWidget::~DKIMManagerKeyWidget() = default; 0040 0041 QByteArray DKIMManagerKeyWidget::saveHeaders() const 0042 { 0043 return mDKIMManagerKeyTreeView->header()->saveState(); 0044 } 0045 0046 void DKIMManagerKeyWidget::restoreHeaders(const QByteArray &header) 0047 { 0048 mDKIMManagerKeyTreeView->header()->restoreState(header); 0049 } 0050 0051 void DKIMManagerKeyWidget::loadKeys() 0052 { 0053 auto model = new DKIMManagerKeyModel(this); 0054 model->setKeyInfos(DKIMManagerKey::self()->keys()); 0055 mDKIMManagerKeyTreeView->setKeyModel(model); 0056 } 0057 0058 void DKIMManagerKeyWidget::saveKeys() 0059 { 0060 DKIMManagerKey::self()->saveKeys(mDKIMManagerKeyTreeView->keyInfos()); 0061 } 0062 0063 void DKIMManagerKeyWidget::resetKeys() 0064 { 0065 mDKIMManagerKeyTreeView->clear(); 0066 loadKeys(); 0067 } 0068 0069 #include "moc_dkimmanagerkeywidget.cpp"