File indexing completed on 2024-03-24 16:04:11

0001 /*
0002     SPDX-FileCopyrightText: 2012 Milian Wolff <mail@milianw.de>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 #include "phpdocsconfig.h"
0008 
0009 #include <KLocalizedString>
0010 #include <KPluginFactory>
0011 #include <KConfigGroup>
0012 #include <KUrlRequester>
0013 #include <KAboutData>
0014 #include <KFile>
0015 #include <ksettings/Dispatcher>
0016 
0017 #include "phpdocssettings.h"
0018 #include "ui_phpdocsconfig.h"
0019 
0020 K_PLUGIN_FACTORY_WITH_JSON(PhpDocsConfigFactory, "kcm_kdevphpdocs.json", registerPlugin<PhpDocsConfig>();)
0021 
0022 PhpDocsConfig::PhpDocsConfig(QWidget *parent, const QVariantList &args)
0023     : KCModule(parent, args)
0024 {
0025     auto * l = new QVBoxLayout( this );
0026 
0027     QWidget* w = new QWidget;
0028     m_configWidget = new Ui::PhpDocsConfigUI;
0029     m_configWidget->setupUi( w );
0030 
0031     m_configWidget->kcfg_phpDocLocation->setMode( KFile::Directory | KFile::ExistingOnly );
0032 
0033     l->addWidget( w );
0034 
0035     addConfig( PhpDocsSettings::self(), w );
0036 
0037     load();
0038 }
0039 
0040 void PhpDocsConfig::save()
0041 {
0042     KCModule::save();
0043 
0044     // looks like we have to force a write so readConfig() can get the new values
0045     PhpDocsSettings::self()->save();
0046 
0047     KSettings::Dispatcher::reparseConfiguration( componentData().componentName() );
0048 }
0049 
0050 PhpDocsConfig::~PhpDocsConfig()
0051 {
0052     delete m_configWidget;
0053 }
0054 
0055 #include "phpdocsconfig.moc"
0056 
0057 #include "moc_phpdocsconfig.cpp"