File indexing completed on 2024-05-12 05:12:43

0001 /*
0002     SPDX-FileCopyrightText: 2010 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "agentconfigdialog.h"
0008 #include "agentconfigmodel.h"
0009 #include <KGuiItem>
0010 #include <KLocalizedString>
0011 #include <QDialogButtonBox>
0012 #include <QPushButton>
0013 #include <QVBoxLayout>
0014 
0015 AgentConfigDialog::AgentConfigDialog(QWidget *parent)
0016     : QDialog(parent)
0017     , m_model(new AgentConfigModel(this))
0018 {
0019     auto mainWidget = new QWidget(this);
0020     auto mainLayout = new QVBoxLayout(this);
0021     mainLayout->addWidget(mainWidget);
0022     ui.setupUi(mainWidget);
0023     ui.propertyView->setModel(m_model);
0024 
0025     auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Close | QDialogButtonBox::Apply, this);
0026     auto user1Button = new QPushButton;
0027     buttonBox->addButton(user1Button, QDialogButtonBox::ActionRole);
0028     auto user2Button = new QPushButton;
0029     buttonBox->addButton(user2Button, QDialogButtonBox::ActionRole);
0030     connect(buttonBox, &QDialogButtonBox::accepted, this, &AgentConfigDialog::accept);
0031     connect(buttonBox, &QDialogButtonBox::rejected, this, &AgentConfigDialog::reject);
0032     mainLayout->addWidget(buttonBox);
0033     KGuiItem::assign(user1Button, KGuiItem(i18n("Save Configuration")));
0034     KGuiItem::assign(user2Button, KGuiItem(i18n("Refresh")));
0035     buttonBox->button(QDialogButtonBox::Apply)->setText(i18n("Apply Configuration"));
0036 
0037     setWindowTitle(i18nc("@title:window", "Agent Configuration"));
0038 
0039     connect(buttonBox->button(QDialogButtonBox::Apply), &QPushButton::clicked, this, &AgentConfigDialog::reconfigure);
0040     connect(user1Button, &QPushButton::clicked, m_model, &AgentConfigModel::writeConfig);
0041     connect(user2Button, &QPushButton::clicked, m_model, &AgentConfigModel::reload);
0042 }
0043 
0044 void AgentConfigDialog::setAgentInstance(const Akonadi::AgentInstance &instance)
0045 {
0046     m_instance = instance;
0047     m_model->setAgentInstance(instance);
0048 }
0049 
0050 void AgentConfigDialog::reconfigure()
0051 {
0052     m_instance.reconfigure();
0053 }
0054 
0055 #include "moc_agentconfigdialog.cpp"