2 /***************************************************************************
3 * Copyright 2008 by Montel Laurent <montel@kde.org> *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
19 ***************************************************************************/
21 #include "shell_config.h"
23 #include <QGridLayout>
25 #include <KConfigGroup>
27 #include <KPluginFactory>
28 #include <KPluginLoader>
30 #include <Plasma/AbstractRunner>
32 K_EXPORT_RUNNER_CONFIG(shell
, ShellConfig
)
34 ShellConfigForm::ShellConfigForm(QWidget
* parent
) : QWidget(parent
)
39 ShellConfig::ShellConfig(QWidget
* parent
, const QVariantList
& args
) :
40 KCModule(ConfigFactory::componentData(), parent
, args
)
42 m_ui
= new ShellConfigForm(this);
44 QGridLayout
* layout
= new QGridLayout(this);
46 layout
->addWidget(m_ui
, 0, 0);
47 connect(m_ui
->cbRunAsOther
, SIGNAL(clicked(bool)), this, SLOT(slotUpdateUser(bool)) );
48 connect(m_ui
->cbPriority
, SIGNAL(clicked(bool)), this, SLOT(slotPriority(bool)));
52 ShellConfig::~ShellConfig()
57 void ShellConfig::load()
61 //FIXME: This shouldn't be hardcoded!
62 KSharedConfig::Ptr cfg
= KSharedConfig::openConfig( "krunnerrc" );
63 KConfigGroup conf
= cfg
->group( "Runners" );
64 KConfigGroup grp
= KConfigGroup( &conf
, "Shell");
66 m_ui
->cbRunInTerminal
->setChecked(grp
.readEntry("RunInTerminal", false));
67 m_ui
->cbRunAsOther
->setChecked(grp
.readEntry("RunAsOther", false));
68 m_ui
->cbPriority
->setChecked(grp
.readEntry("Priority", false));
69 m_ui
->cbRealtime
->setChecked(grp
.readEntry("RealTime", false));
70 //m_ui->lePassword->text();
71 //m_ui->leUsername->text();
77 void ShellConfig::save()
80 //FIXME: This shouldn't be hardcoded!
81 KSharedConfig::Ptr cfg
= KSharedConfig::openConfig( "krunnerrc" );
82 KConfigGroup conf
= cfg
->group( "Runners" );
83 KConfigGroup grp
= KConfigGroup( &conf
, "Shell");
84 grp
.writeEntry("RunInTerminal", m_ui
->cbRunInTerminal
->isChecked());
85 bool runAsOther
= m_ui
->cbRunAsOther
->isChecked();
86 grp
.writeEntry("RunAsOther", runAsOther
);
87 grp
.writeEntry("Priority", m_ui
->cbPriority
->isChecked());
88 grp
.writeEntry("RealTime", m_ui
->cbRealtime
->isChecked());
89 //m_ui->lePassword->text();
90 //m_ui->leUsername->text();
95 void ShellConfig::slotUpdateUser(bool b
)
97 m_ui
->leUsername
->setEnabled(b
);
98 m_ui
->lePassword
->setEnabled(b
);
101 void ShellConfig::slotPriority(bool b
)
103 m_ui
->slPriority
->setEnabled(b
);
104 m_ui
->textLabel1
->setEnabled(b
);
107 void ShellConfig::defaults()
109 m_ui
->cbRunInTerminal
->setChecked(false);
110 m_ui
->cbRunAsOther
->setChecked(false);
111 m_ui
->cbPriority
->setChecked(false);
112 m_ui
->cbRealtime
->setChecked(false);
113 m_ui
->lePassword
->clear();
114 m_ui
->leUsername
->clear();
119 #include "shell_config.moc"