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 #include "dkimmanagerkeydialog.h" 0007 #include "dkimmanagerkeywidget.h" 0008 0009 #include <KConfigGroup> 0010 #include <KSharedConfig> 0011 #include <QDialogButtonBox> 0012 #include <QVBoxLayout> 0013 0014 namespace 0015 { 0016 static const char myDKIMManagerKeyDialogConfigGroupName[] = "DKIMManagerKeyDialog"; 0017 } 0018 0019 using namespace MessageViewer; 0020 DKIMManagerKeyDialog::DKIMManagerKeyDialog(QWidget *parent) 0021 : QDialog(parent) 0022 , mManagerWidget(new DKIMManagerKeyWidget(this)) 0023 { 0024 auto mainLayout = new QVBoxLayout(this); 0025 mainLayout->setObjectName(QLatin1StringView("mainlayout")); 0026 0027 mManagerWidget->setObjectName(QLatin1StringView("managerWidget")); 0028 mainLayout->addWidget(mManagerWidget); 0029 0030 auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Close, this); 0031 buttonBox->setObjectName(QLatin1StringView("buttonbox")); 0032 connect(buttonBox, &QDialogButtonBox::accepted, this, &DKIMManagerKeyDialog::slotAccept); 0033 connect(buttonBox, &QDialogButtonBox::rejected, this, &DKIMManagerKeyDialog::reject); 0034 mainLayout->addWidget(buttonBox); 0035 loadKeys(); 0036 readConfig(); 0037 } 0038 0039 DKIMManagerKeyDialog::~DKIMManagerKeyDialog() 0040 { 0041 writeConfig(); 0042 } 0043 0044 void DKIMManagerKeyDialog::readConfig() 0045 { 0046 KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(myDKIMManagerKeyDialogConfigGroupName)); 0047 mManagerWidget->restoreHeaders(group.readEntry("Header", QByteArray())); 0048 const QSize size = group.readEntry("Size", QSize(600, 400)); 0049 if (size.isValid()) { 0050 resize(size); 0051 } 0052 } 0053 0054 void DKIMManagerKeyDialog::writeConfig() 0055 { 0056 KConfigGroup group(KSharedConfig::openStateConfig(), QLatin1StringView(myDKIMManagerKeyDialogConfigGroupName)); 0057 group.writeEntry("Header", mManagerWidget->saveHeaders()); 0058 group.writeEntry("Size", size()); 0059 group.sync(); 0060 } 0061 0062 void DKIMManagerKeyDialog::loadKeys() 0063 { 0064 mManagerWidget->loadKeys(); 0065 } 0066 0067 void DKIMManagerKeyDialog::slotAccept() 0068 { 0069 mManagerWidget->saveKeys(); 0070 } 0071 0072 #include "moc_dkimmanagerkeydialog.cpp"