File indexing completed on 2024-04-28 05:49:10
0001 /* This file is part of the KDE project 0002 SPDX-FileCopyrightText: 2014 Martin Sandsmark <martin.sandsmark@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "replicodeconfigpage.h" 0008 #include "replicodeconfig.h" 0009 #include <KConfig> 0010 #include <KConfigGroup> 0011 #include <KSharedConfig> 0012 #include <KUrlRequester> 0013 0014 #include <KLocalizedString> 0015 #include <QGridLayout> 0016 #include <QLabel> 0017 0018 ReplicodeConfigPage::ReplicodeConfigPage(QWidget *parent) 0019 : KTextEditor::ConfigPage(parent) 0020 , m_config(new ReplicodeConfig(this)) 0021 { 0022 QGridLayout *gridlayout = new QGridLayout; 0023 setLayout(gridlayout); 0024 gridlayout->addWidget(new QLabel(i18n("Path to replicode executor:")), 0, 0); 0025 0026 m_requester = new KUrlRequester; 0027 m_requester->setMode(KFile::File | KFile::ExistingOnly); 0028 gridlayout->addWidget(m_requester, 0, 1); 0029 0030 gridlayout->addWidget(m_config, 1, 0, 1, 2); 0031 0032 reset(); 0033 0034 connect(m_requester, &KUrlRequester::textChanged, this, &ReplicodeConfigPage::changed); 0035 } 0036 0037 QString ReplicodeConfigPage::name() const 0038 { 0039 return i18n("Replicode"); 0040 } 0041 0042 QString ReplicodeConfigPage::fullName() const 0043 { 0044 return i18n("Replicode configuration"); 0045 } 0046 0047 QIcon ReplicodeConfigPage::icon() const 0048 { 0049 return QIcon::fromTheme(QLatin1String("code-block")); 0050 } 0051 0052 void ReplicodeConfigPage::apply() 0053 { 0054 KConfigGroup config(KSharedConfig::openConfig(), QStringLiteral("Replicode")); 0055 config.writeEntry("replicodePath", m_requester->text()); 0056 m_config->save(); 0057 } 0058 0059 void ReplicodeConfigPage::reset() 0060 { 0061 KConfigGroup config(KSharedConfig::openConfig(), QStringLiteral("Replicode")); 0062 m_requester->setText(config.readEntry<QString>("replicodePath", QString())); 0063 m_config->load(); 0064 } 0065 0066 void ReplicodeConfigPage::defaults() 0067 { 0068 m_requester->setText(QString()); 0069 m_config->reset(); 0070 } 0071 0072 #include "moc_replicodeconfigpage.cpp"