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"