summaryrefslogtreecommitdiffstats
path: root/kdeui/kmessagebox.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-06 15:56:40 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-06 15:56:40 -0600
commite16866e072f94410321d70daedbcb855ea878cac (patch)
treeee3f52eabde7da1a0e6ca845fb9c2813cf1558cf /kdeui/kmessagebox.cpp
parenta58c20c1a7593631a1b50213c805507ebc16adaf (diff)
downloadtdelibs-e16866e072f94410321d70daedbcb855ea878cac.tar.gz
tdelibs-e16866e072f94410321d70daedbcb855ea878cac.zip
Actually move the kde files that were renamed in the last commit
Diffstat (limited to 'kdeui/kmessagebox.cpp')
-rw-r--r--kdeui/kmessagebox.cpp1071
1 files changed, 0 insertions, 1071 deletions
diff --git a/kdeui/kmessagebox.cpp b/kdeui/kmessagebox.cpp
deleted file mode 100644
index 87fa9d555..000000000
--- a/kdeui/kmessagebox.cpp
+++ /dev/null
@@ -1,1071 +0,0 @@
-/* This file is part of the KDE libraries
- Copyright (C) 1999 Waldo Bastian (bastian@kde.org)
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; version 2
- of the License.
-
- This library 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include <tqcheckbox.h>
-#include <tqguardedptr.h>
-#include <tqhbox.h>
-#include <tqlabel.h>
-#include <tqlineedit.h>
-#include <tqmessagebox.h>
-#include <tqstringlist.h>
-#include <tqvbox.h>
-#include <tqvgroupbox.h>
-#include <tqstylesheet.h>
-#include <tqsimplerichtext.h>
-#include <tqpushbutton.h>
-#include <tqlayout.h>
-
-#include <kapplication.h>
-#include <kconfig.h>
-#include <kdebug.h>
-#include <kdialogbase.h>
-#include <kguiitem.h>
-#include <klistbox.h>
-#include <klocale.h>
-#include <kmessagebox.h>
-#include <knotifyclient.h>
-#include <kstdguiitem.h>
-#include <kactivelabel.h>
-#include <kiconloader.h>
-#include <kglobalsettings.h>
-
-#ifdef Q_WS_X11
-#include <X11/Xlib.h>
-#endif
-
- /**
- * Easy MessageBox Dialog.
- *
- * Provides convenience functions for some i18n'ed standard dialogs,
- * as well as audible notification via @ref KNotifyClient
- *
- * @author Waldo Bastian (bastian@kde.org)
- */
-
-static bool KMessageBox_queue = false;
-
-static TQPixmap themedMessageBoxIcon(TQMessageBox::Icon icon)
-{
- TQString icon_name;
-
- switch(icon)
- {
- case TQMessageBox::NoIcon:
- return TQPixmap();
- break;
- case TQMessageBox::Information:
- icon_name = "messagebox_info";
- break;
- case TQMessageBox::Warning:
- icon_name = "messagebox_warning";
- break;
- case TQMessageBox::Critical:
- icon_name = "messagebox_critical";
- break;
- default:
- break;
- }
-
- TQPixmap ret = KGlobal::iconLoader()->loadIcon(icon_name, KIcon::NoGroup, KIcon::SizeMedium, KIcon::DefaultState, 0, true);
-
- if (ret.isNull())
- return TQMessageBox::standardIcon(icon);
- else
- return ret;
-}
-
-static void sendNotification( TQString message,
- const TQStringList& strlist,
- TQMessageBox::Icon icon,
- WId parent_id )
-{
- // create the message for KNotify
- TQString messageType;
- switch ( icon )
- {
- case TQMessageBox::Warning:
- messageType = "messageWarning";
- break;
- case TQMessageBox::Critical:
- messageType = "messageCritical";
- break;
- case TQMessageBox::Question:
- messageType = "messageQuestion";
- break;
- default:
- messageType = "messageInformation";
- break;
- }
-
- if ( !strlist.isEmpty() )
- {
- for ( TQStringList::ConstIterator it = strlist.begin(); it != strlist.end(); ++it )
- message += "\n" + *it;
- }
-
- if ( !message.isEmpty() )
- KNotifyClient::event( (int)parent_id, messageType, message );
-}
-
-static TQString qrichtextify( const TQString& text )
-{
- if ( text.isEmpty() || text[0] == '<' )
- return text;
-
- TQStringList lines = TQStringList::split('\n', text);
- for(TQStringList::Iterator it = lines.begin(); it != lines.end(); ++it)
- {
- *it = TQStyleSheet::convertFromPlainText( *it, TQStyleSheetItem::WhiteSpaceNormal );
- }
-
- return lines.join(TQString::null);
-}
-
-int KMessageBox::createKMessageBox(KDialogBase *dialog, TQMessageBox::Icon icon,
- const TQString &text, const TQStringList &strlist,
- const TQString &ask, bool *checkboxReturn,
- int options, const TQString &details)
-{
- return createKMessageBox(dialog, themedMessageBoxIcon(icon), text, strlist,
- ask, checkboxReturn, options, details, icon);
-}
-
-int KMessageBox::createKMessageBox(KDialogBase *dialog, TQPixmap icon,
- const TQString &text, const TQStringList &strlist,
- const TQString &ask, bool *checkboxReturn, int options,
- const TQString &details, TQMessageBox::Icon notifyType)
-{
- TQVBox *topcontents = new TQVBox (dialog);
- topcontents->setSpacing(KDialog::spacingHint()*2);
- topcontents->setMargin(KDialog::marginHint());
-
- TQWidget *contents = new TQWidget(topcontents);
- TQHBoxLayout * lay = new TQHBoxLayout(contents);
- lay->setSpacing(KDialog::spacingHint());
-
- TQLabel *label1 = new TQLabel( contents);
-
- if (!icon.isNull())
- label1->setPixmap(icon);
-
- lay->addWidget( label1, 0, Qt::AlignCenter );
- lay->addSpacing(KDialog::spacingHint());
- // Enforce <p>text</p> otherwise the word-wrap doesn't work well
- TQString qt_text = qrichtextify( text );
-
- int pref_width = 0;
- int pref_height = 0;
- // Calculate a proper size for the text.
- {
- TQSimpleRichText rt(qt_text, dialog->font());
- TQRect d = KGlobalSettings::desktopGeometry(dialog);
-
- pref_width = d.width() / 3;
- rt.setWidth(pref_width);
- int used_width = rt.widthUsed();
- pref_height = rt.height();
- if (3*pref_height > 2*d.height())
- {
- // Very high dialog.. make it wider
- pref_width = d.width() / 2;
- rt.setWidth(pref_width);
- used_width = rt.widthUsed();
- pref_height = rt.height();
- }
- if (used_width <= pref_width)
- {
- while(true)
- {
- int new_width = (used_width * 9) / 10;
- rt.setWidth(new_width);
- int new_height = rt.height();
- if (new_height > pref_height)
- break;
- used_width = rt.widthUsed();
- if (used_width > new_width)
- break;
- }
- pref_width = used_width;
- }
- else
- {
- if (used_width > (pref_width *2))
- pref_width = pref_width *2;
- else
- pref_width = used_width;
- }
- }
- KActiveLabel *label2 = new KActiveLabel( qt_text, contents );
- if (!(options & KMessageBox::AllowLink))
- {
- TQObject::disconnect(label2, TQT_SIGNAL(linkClicked(const TQString &)),
- label2, TQT_SLOT(openLink(const TQString &)));
- }
-
- // We add 10 pixels extra to compensate for some KActiveLabel margins.
- // TODO: find out why this is 10.
- label2->setFixedSize(TQSize(pref_width+10, pref_height));
- lay->addWidget( label2 );
- lay->addStretch();
-
- KListBox *listbox = 0;
- if (!strlist.isEmpty())
- {
- listbox=new KListBox( topcontents );
- listbox->insertStringList( strlist );
- listbox->setSelectionMode( TQListBox::NoSelection );
- topcontents->setStretchFactor(listbox, 1);
- }
-
- TQGuardedPtr<TQCheckBox> checkbox = 0;
- if (!ask.isEmpty())
- {
- checkbox = new TQCheckBox(ask, topcontents);
- if (checkboxReturn)
- checkbox->setChecked(*checkboxReturn);
- }
-
- if (!details.isEmpty())
- {
- TQVGroupBox *detailsGroup = new TQVGroupBox( i18n("Details"), dialog);
- if ( details.length() < 512 ) {
- KActiveLabel *label3 = new KActiveLabel(qrichtextify(details),
- detailsGroup);
- label3->setMinimumSize(label3->tqsizeHint());
- if (!(options & KMessageBox::AllowLink))
- {
- TQObject::disconnect(label3, TQT_SIGNAL(linkClicked(const TQString &)),
- label3, TQT_SLOT(openLink(const TQString &)));
- }
- } else {
- TQTextEdit* te = new TQTextEdit(details, TQString::null, detailsGroup);
- te->setReadOnly( true );
- te->setMinimumHeight( te->fontMetrics().lineSpacing() * 11 );
- }
- dialog->setDetailsWidget(detailsGroup);
- }
-
- dialog->setMainWidget(topcontents);
- dialog->enableButtonSeparator(false);
- if (!listbox)
- dialog->disableResize();
-
- const KDialogBase::ButtonCode buttons[] = {
- KDialogBase::Help,
- KDialogBase::Default,
- KDialogBase::Ok,
- KDialogBase::Apply,
- KDialogBase::Try,
- KDialogBase::Cancel,
- KDialogBase::Close,
- KDialogBase::User1,
- KDialogBase::User2,
- KDialogBase::User3,
- KDialogBase::No,
- KDialogBase::Yes,
- KDialogBase::Details };
- for( unsigned int i = 0;
- i < sizeof( buttons )/sizeof( buttons[ 0 ] );
- ++i )
- if( TQPushButton* btn = dialog->actionButton( buttons[ i ] ))
- if( btn->isDefault())
- btn->setFocus();
-
- if ( (options & KMessageBox::Notify) )
- sendNotification( text, strlist, notifyType, dialog->tqtopLevelWidget()->winId());
-
- if (KMessageBox_queue)
- {
- KDialogQueue::queueDialog(dialog);
- return KMessageBox::Cancel; // We have to return something.
- }
-
- if ( (options & KMessageBox::NoExec) )
- {
- return KMessageBox::Cancel; // We have to return something.
- }
-
- // We use a TQGuardedPtr because the dialog may get deleted
- // during exec() if the parent of the dialog gets deleted.
- // In that case the guarded ptr will reset to 0.
- TQGuardedPtr<KDialogBase> guardedDialog = dialog;
-
- int result = guardedDialog->exec();
- if (checkbox && checkboxReturn)
- *checkboxReturn = checkbox->isChecked();
- delete (KDialogBase *) guardedDialog;
- return result;
-}
-
-int
-KMessageBox::questionYesNo(TQWidget *parent, const TQString &text,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- return questionYesNoList(parent, text, TQStringList(), caption,
- buttonYes, buttonNo, dontAskAgainName, options);
-}
-
-int
-KMessageBox::questionYesNoWId(WId parent_id, const TQString &text,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- return questionYesNoListWId(parent_id, text, TQStringList(), caption,
- buttonYes, buttonNo, dontAskAgainName, options);
-}
-
-bool
-KMessageBox::shouldBeShownYesNo(const TQString &dontShowAgainName,
- ButtonCode &result)
-{
- if ( dontShowAgainName.isEmpty() ) return true;
- TQString grpNotifMsgs = TQString::tqfromLatin1("Notification Messages");
- KConfig *config = againConfig ? againConfig : KGlobal::config();
- KConfigGroupSaver saver( config, grpNotifMsgs );
- TQString dontAsk = config->readEntry(dontShowAgainName).lower();
- if (dontAsk == "yes") {
- result = Yes;
- return false;
- }
- if (dontAsk == "no") {
- result = No;
- return false;
- }
- return true;
-}
-
-bool
-KMessageBox::shouldBeShownContinue(const TQString &dontShowAgainName)
-{
- if ( dontShowAgainName.isEmpty() ) return true;
- TQString grpNotifMsgs = TQString::tqfromLatin1("Notification Messages");
- KConfig *config = againConfig ? againConfig : KGlobal::config();
- KConfigGroupSaver saver( config, grpNotifMsgs );
- return config->readBoolEntry(dontShowAgainName, true);
-}
-
-void
-KMessageBox::saveDontShowAgainYesNo(const TQString &dontShowAgainName,
- ButtonCode result)
-{
- if ( dontShowAgainName.isEmpty() ) return;
- TQString grpNotifMsgs = TQString::tqfromLatin1("Notification Messages");
- KConfig *config = againConfig ? againConfig : KGlobal::config();
- KConfigGroupSaver saver( config, grpNotifMsgs );
- config->writeEntry( dontShowAgainName, result==Yes ? "yes" : "no", true, (dontShowAgainName[0] == ':'));
- config->sync();
-}
-
-void
-KMessageBox::saveDontShowAgainContinue(const TQString &dontShowAgainName)
-{
- if ( dontShowAgainName.isEmpty() ) return;
- TQString grpNotifMsgs = TQString::tqfromLatin1("Notification Messages");
- KConfig *config = againConfig ? againConfig : KGlobal::config();
- KConfigGroupSaver saver( config, grpNotifMsgs );
- config->writeEntry( dontShowAgainName, false, true, (dontShowAgainName[0] == ':'));
- config->sync();
-}
-
-KConfig* KMessageBox::againConfig = NULL;
-void
-KMessageBox::setDontShowAskAgainConfig(KConfig* cfg)
-{
- againConfig = cfg;
-}
-
-int
-KMessageBox::questionYesNoList(TQWidget *parent, const TQString &text,
- const TQStringList &strlist,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{ // in order to avoid code duplication, convert to WId, it will be converted back
- return questionYesNoListWId( parent ? parent->winId() : 0, text, strlist,
- caption, buttonYes, buttonNo, dontAskAgainName, options );
-}
-
-int
-KMessageBox::questionYesNoListWId(WId parent_id, const TQString &text,
- const TQStringList &strlist,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- ButtonCode res;
- if ( !shouldBeShownYesNo(dontAskAgainName, res) )
- return res;
-
- TQWidget* parent = TQT_TQWIDGET(TQWidget::find( parent_id ));
- KDialogBase *dialog= new KDialogBase(
- caption.isEmpty() ? i18n("Question") : caption,
- KDialogBase::Yes | KDialogBase::No,
- KDialogBase::Yes, KDialogBase::No,
- parent, "questionYesNo", true, true,
- buttonYes, buttonNo);
- if( options & PlainCaption )
- dialog->setPlainCaption( caption );
-#ifdef Q_WS_X11
- if( parent == NULL && parent_id )
- XSetTransientForHint( qt_xdisplay(), dialog->winId(), parent_id );
-#endif
-
- bool checkboxResult = false;
- int result = createKMessageBox(dialog, TQMessageBox::Information, text, strlist,
- dontAskAgainName.isEmpty() ? TQString::null : i18n("Do not ask again"),
- &checkboxResult, options);
- res = (result==KDialogBase::Yes ? Yes : No);
-
- if (checkboxResult)
- saveDontShowAgainYesNo(dontAskAgainName, res);
- return res;
-}
-
-int
-KMessageBox::questionYesNoCancel(TQWidget *parent,
- const TQString &text,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- return questionYesNoCancelWId( parent ? parent->winId() : 0, text, caption, buttonYes, buttonNo,
- dontAskAgainName, options );
-}
-
-int
-KMessageBox::questionYesNoCancelWId(WId parent_id,
- const TQString &text,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- ButtonCode res;
- if ( !shouldBeShownYesNo(dontAskAgainName, res) )
- return res;
-
- TQWidget* parent = TQT_TQWIDGET(TQWidget::find( parent_id ));
- KDialogBase *dialog= new KDialogBase(
- caption.isEmpty() ? i18n("Question") : caption,
- KDialogBase::Yes | KDialogBase::No | KDialogBase::Cancel,
- KDialogBase::Yes, KDialogBase::Cancel,
- parent, "questionYesNoCancel", true, true,
- buttonYes, buttonNo);
- if( options & PlainCaption )
- dialog->setPlainCaption( caption );
-#ifdef Q_WS_X11
- if( parent == NULL && parent_id )
- XSetTransientForHint( qt_xdisplay(), dialog->winId(), parent_id );
-#endif
-
- bool checkboxResult = false;
- int result = createKMessageBox(dialog, TQMessageBox::Information,
- text, TQStringList(),
- dontAskAgainName.isEmpty() ? TQString::null : i18n("Do not ask again"),
- &checkboxResult, options);
- if ( result==KDialogBase::Cancel ) return Cancel;
- res = (result==KDialogBase::Yes ? Yes : No);
-
- if (checkboxResult)
- saveDontShowAgainYesNo(dontAskAgainName, res);
- return res;
-}
-
-int
-KMessageBox::warningYesNo(TQWidget *parent, const TQString &text,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- return warningYesNoList(parent, text, TQStringList(), caption,
- buttonYes, buttonNo, dontAskAgainName, options);
-}
-
-int
-KMessageBox::warningYesNoWId(WId parent_id, const TQString &text,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- return warningYesNoListWId(parent_id, text, TQStringList(), caption,
- buttonYes, buttonNo, dontAskAgainName, options);
-}
-
-int
-KMessageBox::warningYesNoList(TQWidget *parent, const TQString &text,
- const TQStringList &strlist,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- return warningYesNoListWId( parent ? parent->winId() : 0, text, strlist, caption,
- buttonYes, buttonNo, dontAskAgainName, options );
-}
-
-int
-KMessageBox::warningYesNoListWId(WId parent_id, const TQString &text,
- const TQStringList &strlist,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- // warningYesNo and warningYesNoList are always "dangerous"
- // ### Remove this line for KDE 4, when the 'options' default parameter
- // takes effects.
- options |= Dangerous;
-
- ButtonCode res;
- if ( !shouldBeShownYesNo(dontAskAgainName, res) )
- return res;
-
- TQWidget* parent = TQT_TQWIDGET(TQWidget::find( parent_id ));
- KDialogBase *dialog= new KDialogBase(
- caption.isEmpty() ? i18n("Warning") : caption,
- KDialogBase::Yes | KDialogBase::No,
- KDialogBase::No, KDialogBase::No,
- parent, "warningYesNoList", true, true,
- buttonYes, buttonNo);
- if( options & PlainCaption )
- dialog->setPlainCaption( caption );
-#ifdef Q_WS_X11
- if( parent == NULL && parent_id )
- XSetTransientForHint( qt_xdisplay(), dialog->winId(), parent_id );
-#endif
-
- bool checkboxResult = false;
- int result = createKMessageBox(dialog, TQMessageBox::Warning, text, strlist,
- dontAskAgainName.isEmpty() ? TQString::null : i18n("Do not ask again"),
- &checkboxResult, options);
- res = (result==KDialogBase::Yes ? Yes : No);
-
- if (checkboxResult)
- saveDontShowAgainYesNo(dontAskAgainName, res);
- return res;
-}
-
-int
-KMessageBox::warningContinueCancel(TQWidget *parent,
- const TQString &text,
- const TQString &caption,
- const KGuiItem &buttonContinue,
- const TQString &dontAskAgainName,
- int options)
-{
- return warningContinueCancelList(parent, text, TQStringList(), caption,
- buttonContinue, dontAskAgainName, options);
-}
-
-int
-KMessageBox::warningContinueCancelWId(WId parent_id,
- const TQString &text,
- const TQString &caption,
- const KGuiItem &buttonContinue,
- const TQString &dontAskAgainName,
- int options)
-{
- return warningContinueCancelListWId(parent_id, text, TQStringList(), caption,
- buttonContinue, dontAskAgainName, options);
-}
-
-int
-KMessageBox::warningContinueCancelList(TQWidget *parent, const TQString &text,
- const TQStringList &strlist,
- const TQString &caption,
- const KGuiItem &buttonContinue,
- const TQString &dontAskAgainName,
- int options)
-{
- return warningContinueCancelListWId( parent ? parent->winId() : 0, text, strlist,
- caption, buttonContinue, dontAskAgainName, options );
-}
-
-int
-KMessageBox::warningContinueCancelListWId(WId parent_id, const TQString &text,
- const TQStringList &strlist,
- const TQString &caption,
- const KGuiItem &buttonContinue,
- const TQString &dontAskAgainName,
- int options)
-{
- if ( !shouldBeShownContinue(dontAskAgainName) )
- return Continue;
-
- TQWidget* parent = TQT_TQWIDGET(TQWidget::find( parent_id ));
- KDialogBase *dialog= new KDialogBase(
- caption.isEmpty() ? i18n("Warning") : caption,
- KDialogBase::Yes | KDialogBase::No,
- KDialogBase::Yes, KDialogBase::No,
- parent, "warningYesNo", true, true,
- buttonContinue, KStdGuiItem::cancel() );
- if( options & PlainCaption )
- dialog->setPlainCaption( caption );
-#ifdef Q_WS_X11
- if( parent == NULL && parent_id )
- XSetTransientForHint( qt_xdisplay(), dialog->winId(), parent_id );
-#endif
-
- bool checkboxResult = false;
- int result = createKMessageBox(dialog, TQMessageBox::Warning, text, strlist,
- dontAskAgainName.isEmpty() ? TQString::null : i18n("Do not ask again"),
- &checkboxResult, options);
-
- if ( result==KDialogBase::No )
- return Cancel;
- if (checkboxResult)
- saveDontShowAgainContinue(dontAskAgainName);
- return Continue;
-}
-
-int
-KMessageBox::warningYesNoCancel(TQWidget *parent, const TQString &text,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- return warningYesNoCancelList(parent, text, TQStringList(), caption,
- buttonYes, buttonNo, dontAskAgainName, options);
-}
-
-int
-KMessageBox::warningYesNoCancelWId(WId parent_id, const TQString &text,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- return warningYesNoCancelListWId(parent_id, text, TQStringList(), caption,
- buttonYes, buttonNo, dontAskAgainName, options);
-}
-
-int
-KMessageBox::warningYesNoCancelList(TQWidget *parent, const TQString &text,
- const TQStringList &strlist,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- return warningYesNoCancelListWId( parent ? parent->winId() : 0, text, strlist,
- caption, buttonYes, buttonNo, dontAskAgainName, options );
-}
-
-int
-KMessageBox::warningYesNoCancelListWId(WId parent_id, const TQString &text,
- const TQStringList &strlist,
- const TQString &caption,
- const KGuiItem &buttonYes,
- const KGuiItem &buttonNo,
- const TQString &dontAskAgainName,
- int options)
-{
- ButtonCode res;
- if ( !shouldBeShownYesNo(dontAskAgainName, res) )
- return res;
-
- TQWidget* parent = TQT_TQWIDGET(TQWidget::find( parent_id ));
- KDialogBase *dialog= new KDialogBase(
- caption.isEmpty() ? i18n("Warning") : caption,
- KDialogBase::Yes | KDialogBase::No | KDialogBase::Cancel,
- KDialogBase::Yes, KDialogBase::Cancel,
- parent, "warningYesNoCancel", true, true,
- buttonYes, buttonNo);
- if( options & PlainCaption )
- dialog->setPlainCaption( caption );
-#ifdef Q_WS_X11
- if( parent == NULL && parent_id )
- XSetTransientForHint( qt_xdisplay(), dialog->winId(), parent_id );
-#endif
-
- bool checkboxResult = false;
- int result = createKMessageBox(dialog, TQMessageBox::Warning, text, strlist,
- dontAskAgainName.isEmpty() ? TQString::null : i18n("Do not ask again"),
- &checkboxResult, options);
- if ( result==KDialogBase::Cancel ) return Cancel;
- res = (result==KDialogBase::Yes ? Yes : No);
-
- if (checkboxResult)
- saveDontShowAgainYesNo(dontAskAgainName, res);
- return res;
-}
-
-void
-KMessageBox::error(TQWidget *parent, const TQString &text,
- const TQString &caption, int options)
-{
- return errorListWId( parent ? parent->winId() : 0, text, TQStringList(), caption, options );
-}
-
-void
-KMessageBox::errorWId(WId parent_id, const TQString &text,
- const TQString &caption, int options)
-{
- errorListWId( parent_id, text, TQStringList(), caption, options );
-}
-
-void
-KMessageBox::errorList(TQWidget *parent, const TQString &text, const TQStringList &strlist,
- const TQString &caption, int options)
-{
- return errorListWId( parent ? parent->winId() : 0, text, strlist, caption, options );
-}
-
-void
-KMessageBox::errorListWId(WId parent_id, const TQString &text, const TQStringList &strlist,
- const TQString &caption, int options)
-{
- TQWidget* parent = TQT_TQWIDGET(TQWidget::find( parent_id ));
- KDialogBase *dialog= new KDialogBase(
- caption.isEmpty() ? i18n("Error") : caption,
- KDialogBase::Yes,
- KDialogBase::Yes, KDialogBase::Yes,
- parent, "error", true, true,
- KStdGuiItem::ok() );
- if( options & PlainCaption )
- dialog->setPlainCaption( caption );
-#ifdef Q_WS_X11
- if( parent == NULL && parent_id )
- XSetTransientForHint( qt_xdisplay(), dialog->winId(), parent_id );
-#endif
-
- createKMessageBox(dialog, TQMessageBox::Critical, text, strlist, TQString::null, 0, options);
-}
-
-void
-KMessageBox::detailedError(TQWidget *parent, const TQString &text,
- const TQString &details,
- const TQString &caption, int options)
-{
- return detailedErrorWId( parent ? parent->winId() : 0, text, details, caption, options );
-}
-
-void
-KMessageBox::detailedErrorWId(WId parent_id, const TQString &text,
- const TQString &details,
- const TQString &caption, int options)
-{
- TQWidget* parent = TQT_TQWIDGET(TQWidget::find( parent_id ));
- KDialogBase *dialog= new KDialogBase(
- caption.isEmpty() ? i18n("Error") : caption,
- KDialogBase::Yes | KDialogBase::Details,
- KDialogBase::Yes, KDialogBase::Yes,
- parent, "error", true, true,
- KStdGuiItem::ok() );
- if( options & PlainCaption )
- dialog->setPlainCaption( caption );
-#ifdef Q_WS_X11
- if( parent == NULL && parent_id )
- XSetTransientForHint( qt_xdisplay(), dialog->winId(), parent_id );
-#endif
-
- createKMessageBox(dialog, TQMessageBox::Critical, text, TQStringList(), TQString::null, 0, options, details);
-}
-
-void
-KMessageBox::queuedDetailedError(TQWidget *parent, const TQString &text,
- const TQString &details,
- const TQString &caption)
-{
- return queuedDetailedErrorWId( parent ? parent->winId() : 0, text, details, caption );
-}
-
-void
-KMessageBox::queuedDetailedErrorWId(WId parent_id, const TQString &text,
- const TQString &details,
- const TQString &caption)
-{
- KMessageBox_queue = true;
- (void) detailedErrorWId(parent_id, text, details, caption);
- KMessageBox_queue = false;
-}
-
-
-void
-KMessageBox::sorry(TQWidget *parent, const TQString &text,
- const TQString &caption, int options)
-{
- return sorryWId( parent ? parent->winId() : 0, text, caption, options );
-}
-
-void
-KMessageBox::sorryWId(WId parent_id, const TQString &text,
- const TQString &caption, int options)
-{
- TQWidget* parent = TQT_TQWIDGET(TQWidget::find( parent_id ));
- KDialogBase *dialog= new KDialogBase(
- caption.isEmpty() ? i18n("Sorry") : caption,
- KDialogBase::Yes,
- KDialogBase::Yes, KDialogBase::Yes,
- parent, "sorry", true, true,
- KStdGuiItem::ok() );
- if( options & PlainCaption )
- dialog->setPlainCaption( caption );
-#ifdef Q_WS_X11
- if( parent == NULL && parent_id )
- XSetTransientForHint( qt_xdisplay(), dialog->winId(), parent_id );
-#endif
-
- createKMessageBox(dialog, TQMessageBox::Warning, text, TQStringList(), TQString::null, 0, options);
-}
-
-void
-KMessageBox::detailedSorry(TQWidget *parent, const TQString &text,
- const TQString &details,
- const TQString &caption, int options)
-{
- return detailedSorryWId( parent ? parent->winId() : 0, text, details, caption, options );
-}
-
-void
-KMessageBox::detailedSorryWId(WId parent_id, const TQString &text,
- const TQString &details,
- const TQString &caption, int options)
-{
- TQWidget* parent = TQT_TQWIDGET(TQWidget::find( parent_id ));
- KDialogBase *dialog= new KDialogBase(
- caption.isEmpty() ? i18n("Sorry") : caption,
- KDialogBase::Yes | KDialogBase::Details,
- KDialogBase::Yes, KDialogBase::Yes,
- parent, "sorry", true, true,
- KStdGuiItem::ok() );
- if( options & PlainCaption )
- dialog->setPlainCaption( caption );
-#ifdef Q_WS_X11
- if( parent == NULL && parent_id )
- XSetTransientForHint( qt_xdisplay(), dialog->winId(), parent_id );
-#endif
-
- createKMessageBox(dialog, TQMessageBox::Warning, text, TQStringList(), TQString::null, 0, options, details);
-}
-
-void
-KMessageBox::information(TQWidget *parent,const TQString &text,
- const TQString &caption, const TQString &dontShowAgainName, int options)
-{
- informationList(parent, text, TQStringList(), caption, dontShowAgainName, options);
-}
-
-void
-KMessageBox::informationWId(WId parent_id,const TQString &text,
- const TQString &caption, const TQString &dontShowAgainName, int options)
-{
- informationListWId(parent_id, text, TQStringList(), caption, dontShowAgainName, options);
-}
-
-void
-KMessageBox::informationList(TQWidget *parent,const TQString &text, const TQStringList & strlist,
- const TQString &caption, const TQString &dontShowAgainName, int options)
-{
- return informationListWId( parent ? parent->winId() : 0, text, strlist, caption,
- dontShowAgainName, options );
-}
-
-void
-KMessageBox::informationListWId(WId parent_id,const TQString &text, const TQStringList & strlist,
- const TQString &caption, const TQString &dontShowAgainName, int options)
-{
- if ( !shouldBeShownContinue(dontShowAgainName) )
- return;
-
- TQWidget* parent = TQT_TQWIDGET(TQWidget::find( parent_id ));
- KDialogBase *dialog= new KDialogBase(
- caption.isEmpty() ? i18n("Information") : caption,
- KDialogBase::Yes,
- KDialogBase::Yes, KDialogBase::Yes,
- parent, "information", true, true,
- KStdGuiItem::ok() );
- if( options & PlainCaption )
- dialog->setPlainCaption( caption );
-#ifdef Q_WS_X11
- if( parent == NULL && parent_id )
- XSetTransientForHint( qt_xdisplay(), dialog->winId(), parent_id );
-#endif
-
- bool checkboxResult = false;
-
- createKMessageBox(dialog, TQMessageBox::Information, text, strlist,
- dontShowAgainName.isEmpty() ? TQString::null : i18n("Do not show this message again"),
- &checkboxResult, options);
-
- if (checkboxResult)
- saveDontShowAgainContinue(dontShowAgainName);
-}
-
-void
-KMessageBox::enableAllMessages()
-{
- KConfig *config = againConfig ? againConfig : KGlobal::config();
- TQString grpNotifMsgs = TQString::tqfromLatin1("Notification Messages");
- if (!config->hasGroup(grpNotifMsgs))
- return;
-
- KConfigGroupSaver saver( config, grpNotifMsgs );
-
- typedef TQMap<TQString, TQString> configMap;
-
- configMap map = config->entryMap(grpNotifMsgs);
-
- configMap::Iterator it;
- for (it = map.begin(); it != map.end(); ++it)
- config->deleteEntry( it.key() );
- config->sync();
-}
-
-void
-KMessageBox::enableMessage(const TQString &dontShowAgainName)
-{
- KConfig *config = againConfig ? againConfig : KGlobal::config();
- TQString grpNotifMsgs = TQString::tqfromLatin1("Notification Messages");
- if (!config->hasGroup(grpNotifMsgs))
- return;
-
- KConfigGroupSaver saver( config, grpNotifMsgs );
-
- config->deleteEntry(dontShowAgainName);
- config->sync();
-}
-
-void
-KMessageBox::about(TQWidget *parent, const TQString &text,
- const TQString &caption, int options)
-{
- TQString _caption = caption;
- if (_caption.isEmpty())
- _caption = i18n("About %1").arg(kapp->caption());
-
- KDialogBase *dialog = new KDialogBase(
- caption,
- KDialogBase::Yes,
- KDialogBase::Yes, KDialogBase::Yes,
- parent, "about", true, true,
- KStdGuiItem::ok() );
-
- TQPixmap ret = KApplication::kApplication()->icon();
- if (ret.isNull())
- ret = TQMessageBox::standardIcon(TQMessageBox::Information);
- dialog->setIcon(ret);
-
- createKMessageBox(dialog, ret, text, TQStringList(), TQString::null, 0, options);
-
- return;
-}
-
-int KMessageBox::messageBox( TQWidget *parent, DialogType type, const TQString &text,
- const TQString &caption, const KGuiItem &buttonYes,
- const KGuiItem &buttonNo, const TQString &dontShowAskAgainName,
- int options )
-{
- return messageBoxWId( parent ? parent->winId() : 0, type, text, caption,
- buttonYes, buttonNo, dontShowAskAgainName, options );
-}
-
-int KMessageBox::messageBox( TQWidget *parent, DialogType type, const TQString &text,
- const TQString &caption, const KGuiItem &buttonYes,
- const KGuiItem &buttonNo, int options )
-{
- return messageBoxWId( parent ? parent->winId() : 0, type, text, caption,
- buttonYes, buttonNo, TQString::null, options );
-}
-
-int KMessageBox::messageBoxWId( WId parent_id, DialogType type, const TQString &text,
- const TQString &caption, const KGuiItem &buttonYes,
- const KGuiItem &buttonNo, const TQString &dontShow,
- int options )
-{
- switch (type) {
- case QuestionYesNo:
- return KMessageBox::questionYesNoWId( parent_id,
- text, caption, buttonYes, buttonNo, dontShow, options );
- case QuestionYesNoCancel:
- return KMessageBox::questionYesNoCancelWId( parent_id,
- text, caption, buttonYes, buttonNo, dontShow, options );
- case WarningYesNo:
- return KMessageBox::warningYesNoWId( parent_id,
- text, caption, buttonYes, buttonNo, dontShow, options );
- case WarningContinueCancel:
- return KMessageBox::warningContinueCancelWId( parent_id,
- text, caption, buttonYes.text(), dontShow, options );
- case WarningYesNoCancel:
- return KMessageBox::warningYesNoCancelWId( parent_id,
- text, caption, buttonYes, buttonNo, dontShow, options );
- case Information:
- KMessageBox::informationWId( parent_id,
- text, caption, dontShow, options );
- return KMessageBox::Ok;
-
- case Error:
- KMessageBox::errorWId( parent_id, text, caption, options );
- return KMessageBox::Ok;
-
- case Sorry:
- KMessageBox::sorryWId( parent_id, text, caption, options );
- return KMessageBox::Ok;
- }
- return KMessageBox::Cancel;
-}
-
-void KMessageBox::queuedMessageBox( TQWidget *parent, DialogType type, const TQString &text, const TQString &caption, int options )
-{
- return queuedMessageBoxWId( parent ? parent->winId() : 0, type, text, caption, options );
-}
-
-void KMessageBox::queuedMessageBoxWId( WId parent_id, DialogType type, const TQString &text, const TQString &caption, int options )
-{
- KMessageBox_queue = true;
- (void) messageBoxWId(parent_id, type, text, caption, KStdGuiItem::yes(),
- KStdGuiItem::no(), TQString::null, options);
- KMessageBox_queue = false;
-}
-
-void KMessageBox::queuedMessageBox( TQWidget *parent, DialogType type, const TQString &text, const TQString &caption )
-{
- return queuedMessageBoxWId( parent ? parent->winId() : 0, type, text, caption );
-}
-
-void KMessageBox::queuedMessageBoxWId( WId parent_id, DialogType type, const TQString &text, const TQString &caption )
-{
- KMessageBox_queue = true;
- (void) messageBoxWId(parent_id, type, text, caption);
- KMessageBox_queue = false;
-}