/*************************************************************************** * 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 infodialog.cpp * \brief In this file can be found the "information dialog with checkbox" * related code. * \author Danny Kukawka, , * \date 2005 */ // own headers #include "infodialog.h" // KDE headers: #include #include // QT headers: #include #include #include #include #include #include /*! This is the default constructor of class infoDialog . */ infoDialog::infoDialog( KConfig *config, TQString captionName, TQString message, TQString dontShowAgainMsg, TQString settingsEntryName, TQWidget *parent, const char *name) :info_Dialog( parent, name, false, TQt::WStyle_StaysOnTop | WDestructiveClose ) { if ( message.isEmpty() || (!dontShowAgainMsg.isEmpty() && settingsEntryName.isEmpty()) || (!dontShowAgainMsg.isEmpty() && (config == 0))) close(); if (config != 0) { settings = config; settings->reparseConfiguration(); if (settings->hasGroup("infoDialog")){ settings->setGroup("infoDialog"); if (settings->readBoolEntry(settingsEntryName, false)) { dialogDisabled = true; //close(); } else dialogDisabled = false; } } buttonOK->setIconSet(SmallIconSet("ok", TQIconSet::Automatic)); TQPixmap pixmap = 0; pixmap = TDEGlobal::iconLoader()->loadIcon("messagebox_warning", KIcon::NoGroup, KIcon::SizeMedium); iconPixmap->setPixmap( pixmap ); msgText->setText(message); if (!captionName.isEmpty()) this->setCaption(i18n("KPowersave") + " - " + captionName); else this->setCaption(i18n("KPowersave")); if (dontShowAgainMsg.isEmpty()) { dontShowAgain->setHidden(true); } else { entryName = settingsEntryName; dontShowAgain->setText(dontShowAgainMsg); dontShowAgain->setHidden(false); } this->adjustSize(); } /*! This is the default destructor of class infoDialog . */ infoDialog::~infoDialog() { // no need to delete child widgets, TQt does it all for us } /*! * Use this function to get the value of \ref dialogDisabled. * \return boolean with value of \ref dialogDisabled * \retval true if disabled by user before * \retval false if not */ bool infoDialog::dialogIsDisabled() { return dialogDisabled; } /*! * SLOT: called if the 'ok' button clicked. This TQT_SLOT sync the settings * and close the dialog. */ void infoDialog::ButtonOK_clicked() { if (!entryName.isEmpty() && dontShowAgain->isVisible()) { settings->setGroup( "infoDialog" ); settings->writeEntry( entryName, dontShowAgain->isChecked()); settings->sync(); } close(); } #include "infodialog.moc"