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.
tdepowersave/src/blacklisteditdialog.cpp

177 lines
5.5 KiB

/***************************************************************************
* Copyright (C) 2005 by Danny Kukawka *
* danny.kukawka@web.de, dkukawka@suse.de *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of version 2 of the GNU General Public License *
* as published by the Free Software Foundation. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
/*!
* \file blacklisteditdialog.cpp
* \brief In this file can be found the "blacklist edit dialog" related code.
* \author Danny Kukawka, <dkukawka@suse.de>, <danny.kukawka@web.de>
* \date 2005
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
// own header
#include "blacklisteditdialog.h"
// KDE headers:
#include <tdelocale.h>
#include <kiconloader.h>
// QT headers:
#include <tqbuttongroup.h>
#include <tqdialog.h>
#include <tqlabel.h>
#include <tqlineedit.h>
#include <tqlistbox.h>
#include <tqpushbutton.h>
#include <tqstring.h>
#include <tqstringlist.h>
#include <tqtooltip.h>
/*! This is the default constructor of class blacklistEditDialog . */
blacklistEditDialog::blacklistEditDialog( TQStringList blacklisted, TQString captionName,
bool initImport, TQWidget *parent, const char *name)
:blacklistedit_Dialog(parent, name, false, WDestructiveClose )
{
blacklist = blacklisted;
changed = initImport;
pB_add->setEnabled(false);
pB_remove->setEnabled(false);
lB_blacklist->insertStringList(blacklist);
lB_blacklist->sort();
if (captionName.startsWith(i18n("General Blacklist")))
this->bG_scheme->setTitle(captionName);
else
this->bG_scheme->setTitle( i18n("Scheme: ") + captionName);
this->setIcon(SmallIcon("configure", TQIconSet::Automatic));
buttonCancel->setIconSet(SmallIconSet("cancel", TQIconSet::Automatic));
buttonOk->setIconSet(SmallIconSet("ok", TQIconSet::Automatic));
pB_add->setIconSet(SmallIconSet("forward", TQIconSet::Automatic));
pB_remove->setIconSet(SmallIconSet("back", TQIconSet::Automatic));
}
/*! This is the default destructor of class blacklistEditDialog . */
blacklistEditDialog::~blacklistEditDialog()
{
// no need to delete child widgets, TQt does it all for us
}
/*!
* SLOT: called if the 'ok' button clicked. This TQT_SLOT emit
* \ref config_finished() and close the dialog.
*/
void blacklistEditDialog::buttonOk_released() {
if(changed == true) {
changed = false;
emit config_finished( blacklist );
}
close();
}
/*!
* SLOT: called if the 'cancel' button clicked. This TQT_SLOT close
* the dialog.
*/
void blacklistEditDialog::buttonCancel_released(){
changed = false;
close();
}
/*!
* SLOT: called if the 'remove' button clicked. The TQT_SLOT try to remove
* the selected item from the TQListBox and the TQStringList \ref blacklist .
*/
void blacklistEditDialog::pB_remove_released(){
if(blacklist.remove(lB_blacklist->selectedItem()->text()) > 0) {
lB_blacklist->removeItem(lB_blacklist->currentItem());
lB_blacklist->sort();
changed = true;
pB_remove->setEnabled(false);
tLabel_info->setText(i18n("Selected entry removed."));
}
else {
tLabel_info->setText(i18n("Could not remove the selected entry."));
}
}
/*!
* SLOT: called if the 'add' button clicked. The TQT_SLOT try to add the string from
* the TQLineEdit lE_blacklist to the TQListBox and the TQStringList \ref blacklist .
*/
void blacklistEditDialog::pB_add_released(){
TQString text = lE_blacklist->text();
// remove the whitespaces and check if text is empty
if(text.stripWhiteSpace() != "") {
// check if the entry is already present
if(!lB_blacklist->findItem(text, TQt::ExactMatch)) {
lB_blacklist->insertItem(text);
lB_blacklist->sort();
blacklist.append(text);
blacklist.sort();
tLabel_info->setText(i18n("Inserted new entry."));
changed = true;
}
else {
tLabel_info->setText(i18n("Entry exists already. Did not insert new entry."));
}
}
else tLabel_info->setText(i18n("Empty entry was not inserted."));
// set the widgets back to default
lE_blacklist->setText("");
pB_remove->setEnabled(false);
pB_add->setEnabled(false);
}
/*!
* SLOT: called if a item in the TQListBox lB_blacklist is selected.
* Here we enable the remove button pB_remove .
*/
void blacklistEditDialog::lB_blacklist_currentChanged(){
// enable the remove button
pB_remove->setEnabled(true);
}
/*!
* SLOT: called if the input-line in the dialog is modified. Here we enable
* the add button pB_add .
*/
void blacklistEditDialog::lE_blacklist_textChanged(){
// enable the add button
pB_add->setEnabled(true);
}
#include "blacklisteditdialog.moc"