You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeadmin/kcron/ktvariable.cpp

153 lines
4.6 KiB

/***************************************************************************
* KT environment variable editor window implementation *
* -------------------------------------------------------------------- *
* Copyright (C) 1999, Gary Meyer <gary@meyer.net> *
* -------------------------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#include "ktvariable.h"
#include <tqlayout.h>
#include <kapplication.h> // kapp
#include <klocale.h> // i18n()
#include <kmessagebox.h>
#include <ktextedit.h>
#include "ctvariable.h"
#include "kticon.h"
KTVariable::KTVariable(CTVariable* _ctvar,const TQString &_caption) :
KDialogBase(0, "ktvariable", true, _caption, Ok|Cancel, Ok, true),
ctvar( _ctvar)
{
TQFrame *page = makeMainWidget();
TQGridLayout *tqlayout = new TQGridLayout( page, 5, 3, 0, spacingHint() );
tqlayout->setRowStretch(3, 1);
tqlayout->setColStretch(1, 1);
setIcon(KTIcon::application(true));
// variable
labVariable = new TQLabel(i18n("&Variable:"), page, "labVariable");
tqlayout->addWidget(labVariable, 1, 0, TQt::AlignLeft | TQt::AlignTop);
cmbVariable = new TQComboBox(true, page, "cmbVariable");
tqlayout->addWidget(cmbVariable, 1, 1);
cmbVariable->insertItem("HOME");
cmbVariable->insertItem("MAILTO");
cmbVariable->insertItem("PATH");
cmbVariable->insertItem("SHELL");
labVariable->setBuddy(cmbVariable);
// icon
labIcon = new TQLabel(page, "labIcon");
tqlayout->addMultiCellWidget(labIcon, 0, 1, 2, 2);
// value
labValue = new TQLabel(i18n("Va&lue:"), page, "labValue");
tqlayout->addWidget(labValue, 2, 0, TQt::AlignLeft | TQt::AlignTop);
leValue = new TQLineEdit(page, "leValue");
tqlayout->addMultiCellWidget(leValue, 2, 2, 1, 2);
leValue->setMaxLength(255);
labValue->setBuddy(leValue);
// comment
labComment = new TQLabel(i18n("Co&mment:"), page, "labComment");
tqlayout->addWidget(labComment, 3, 0, TQt::AlignLeft | TQt::AlignTop);
teComment = new KTextEdit(page, "teComment");
teComment->setTextFormat(TQt::PlainText);
tqlayout->addMultiCellWidget(teComment, 3, 3, 1, 2);
labComment->setBuddy(teComment);
// enabled
chkEnabled = new TQCheckBox(i18n("&Enabled"), page, "chkEnabled");
tqlayout->addWidget(chkEnabled, 4, 0);
// set starting field values
cmbVariable->setEditText(TQString::fromLocal8Bit(ctvar->variable.c_str()));
slotVariableChanged();
leValue->setText(TQString::fromLocal8Bit(ctvar->value.c_str()));
teComment->setText(TQString::fromLocal8Bit(ctvar->comment.c_str()));
chkEnabled->setChecked(ctvar->enabled);
cmbVariable->setFocus();
// connect them up
connect(cmbVariable,TQT_SIGNAL(highlighted(const TQString&)),
TQT_SLOT(slotVariableChanged()));
connect(cmbVariable,TQT_SIGNAL(activated(const TQString&)),
TQT_SLOT(slotVariableChanged()));
}
KTVariable::~KTVariable()
{
}
void KTVariable::slotVariableChanged()
{
TQString variable = cmbVariable->currentText();
if (variable == "HOME")
{
labIcon->setPixmap(KTIcon::home(false));
teComment->setText(i18n("Override default home folder."));
}
else if (variable == "MAILTO")
{
labIcon->setPixmap(KTIcon::mail(false));
teComment->setText(i18n("Email output to specified account."));
}
else if (variable == "SHELL")
{
labIcon->setPixmap(KTIcon::shell(false));
teComment->setText(i18n("Override default shell."));
}
else if (variable == "PATH")
{
labIcon->setPixmap(KTIcon::path(false));
teComment->setText(i18n("Folders to search for program files."));
}
else
{
labIcon->setPixmap(KTIcon::variable(false));
}
}
void KTVariable::slotOk()
{
if (cmbVariable->currentText().isEmpty())
{
KMessageBox::information(this, i18n("Please enter the variable name."));
cmbVariable->setFocus();
return;
}
if (leValue->text().isEmpty())
{
KMessageBox::information(this, i18n("Please enter the variable value."));
cmbVariable->setFocus();
return;
}
ctvar->variable = cmbVariable->currentText().local8Bit().data();
ctvar->value = leValue->text().local8Bit().data();
ctvar->comment = teComment->text().replace('\n',' ').replace('\r',' ').local8Bit().data();
ctvar->enabled = chkEnabled->isChecked();
close();
}
#include "ktvariable.moc"