mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-24 02:42:48 +00:00

most of the changes were done trought Katie's namefsck script which convertes forward class declarations to include directives, however other fixes here and there were needed as well as some questionable changes to Q_DECLARE_TYPEINFO() macro calls because they most likely have to do the namespacing themselfs (QT_BEGIN/END_NAMESPACE, and probably will be in Katie) meaning that some of the changes may be temporary and reverted later. Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
1109 lines
48 KiB
C++
1109 lines
48 KiB
C++
/* 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.
|
|
*/
|
|
|
|
//krazy:excludeall=dpointer
|
|
|
|
#ifndef KMESSAGEBOX_H
|
|
#define KMESSAGEBOX_H
|
|
|
|
#include <QtGui/QMessageBox>
|
|
|
|
#include <kguiitem.h>
|
|
#include <kstandardguiitem.h>
|
|
|
|
#include <QWidget>
|
|
#include <QStringList>
|
|
class KConfig;
|
|
class KDialog;
|
|
|
|
/**
|
|
* Easy message dialog box.
|
|
*
|
|
* Provides convenience functions for some i18n'ed standard dialogs,
|
|
* as well as audible notification via @ref KNotification
|
|
*
|
|
* The text in message boxes is wrapped automatically. The text may either
|
|
* be plaintext or richtext. If the text is plaintext, a newline-character
|
|
* may be used to indicate the end of a paragraph.
|
|
*
|
|
* @port4 Where applicable, the static functions now take an additional
|
|
* argument to specify the cancel button. Since a default argument is
|
|
* provided, this will affect your code only, if you specified
|
|
* dontAskAgainName and/or options. In those cases, adding an additional
|
|
* parameter KStandardGuiItem::cancel() leads to the old behavior. The
|
|
* following functions are affected (omitting function arguments in the
|
|
* list): questionYesNoCancel(), questionYesNoCancelWId(),
|
|
* warningContinueCancel(), warningContinueCancelWId(),
|
|
* warningContinueCancelList(), warningContinueCancelListWId(),
|
|
* warningYesNoCancel(), warningYesNoCancelWId(),
|
|
* warningYesNoCancelList(), warningYesNoCancelListWId(), messageBox(),
|
|
* messageBoxWId().
|
|
*
|
|
* \image html kmessagebox.png "KDE Message Box (using questionYesNo())"
|
|
*
|
|
* @author Waldo Bastian (bastian@kde.org)
|
|
*/
|
|
class KDEUI_EXPORT KMessageBox
|
|
{
|
|
public:
|
|
/**
|
|
* Button types.
|
|
**/
|
|
enum ButtonCode
|
|
{
|
|
Ok = 1,
|
|
Cancel = 2,
|
|
Yes = 3,
|
|
No = 4,
|
|
Continue = 5
|
|
};
|
|
|
|
enum DialogType
|
|
{
|
|
QuestionYesNo = 1,
|
|
WarningYesNo = 2,
|
|
WarningContinueCancel = 3,
|
|
WarningYesNoCancel = 4,
|
|
Information = 5,
|
|
// Reserved for: SSLMessageBox = 6
|
|
Sorry = 7,
|
|
Error = 8,
|
|
QuestionYesNoCancel = 9
|
|
};
|
|
|
|
enum Option
|
|
{
|
|
Notify = 1, ///< Emit a KNotify event
|
|
AllowLink = 2, ///< The message may contain links.
|
|
Dangerous = 4, ///< The action to be confirmed by the dialog is a potentially destructive one. The default button will be set to Cancel or No, depending on which is available.
|
|
PlainCaption = 8, ///< Do not use KApplication::makeStdCaption()
|
|
NoExec = 16, ///< Do not call exec() in createKMessageBox()
|
|
WindowModal = 32 ///< The window is to be modal relative to its parent. By default, it is application modal.
|
|
};
|
|
|
|
Q_DECLARE_FLAGS(Options,Option)
|
|
|
|
/**
|
|
* Display a simple "question" dialog.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Question").
|
|
* @param buttonYes The text for the first button.
|
|
* The default is KStandardGuiItem::yes().
|
|
* @param buttonNo The text for the second button.
|
|
* The default is KStandardGuiItem::no().
|
|
* @param dontAskAgainName If provided, a checkbox is added with which
|
|
* further confirmation can be turned off.
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* If @p dontAskAgainName starts with a ':' then the setting
|
|
* is stored in the global config file.
|
|
* @param options see Option
|
|
*
|
|
* @return 'Yes' is returned if the Yes-button is pressed. 'No' is returned
|
|
* if the No-button is pressed.
|
|
*
|
|
* To be used for questions like "Do you have a printer?"
|
|
*
|
|
* The default button is "Yes". Pressing "Esc" selects "No".
|
|
*/
|
|
|
|
static int questionYesNo(QWidget *parent,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static int questionYesNoWId(WId parent_id,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
/**
|
|
* Display a simple "question" dialog.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Question").
|
|
* @param buttonYes The text for the first button.
|
|
* The default is KStandardGuiItem::yes().
|
|
* @param buttonNo The text for the second button.
|
|
* The default is KStandardGuiItem::no().
|
|
* @param buttonCancel The text for the third button.
|
|
* The default is KStandardGuiItem::cancel().
|
|
* @param dontAskAgainName If provided, a checkbox is added with which
|
|
* further confirmation can be turned off.
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* If @p dontAskAgainName starts with a ':' then the setting
|
|
* is stored in the global config file.
|
|
* @param options see Options
|
|
*
|
|
* @return 'Yes' is returned if the Yes-button is pressed. 'No' is returned
|
|
* if the No-button is pressed.
|
|
*
|
|
* To be used for questions like "Do you want to discard the message or save it for later?",
|
|
*
|
|
* The default button is "Yes". Pressing "Esc" selects "Cancel".
|
|
*/
|
|
|
|
static int questionYesNoCancel(QWidget *parent,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static int questionYesNoCancelWId(WId parent_id,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Display a "question" dialog with a listbox to show information to the user
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param strlist List of strings to be written in the listbox. If the list is
|
|
* empty, it doesn't show any listbox, working as questionYesNo.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Question").
|
|
* @param buttonYes The text for the first button.
|
|
* The default is KStandardGuiItem::yes().
|
|
* @param buttonNo The text for the second button.
|
|
* The default is KStandardGuiItem::no().
|
|
* @param dontAskAgainName If provided, a checkbox is added with which
|
|
* further confirmation can be turned off.
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* If @p dontAskAgainName starts with a ':' then the setting
|
|
* is stored in the global config file.
|
|
* @param options see Options
|
|
*
|
|
* @return 'Yes' is returned if the Yes-button is pressed. 'No' is returned
|
|
* if the No-button is pressed.
|
|
*
|
|
* To be used for questions like "Do you really want to delete these files?"
|
|
* And show the user exactly which files are going to be deleted in case
|
|
* he presses "Yes"
|
|
*
|
|
* The default button is "Yes". Pressing "Esc" selects "No".
|
|
*/
|
|
|
|
static int questionYesNoList(QWidget *parent,
|
|
const QString &text,
|
|
const QStringList &strlist,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static int questionYesNoListWId(WId parent_id,
|
|
const QString &text,
|
|
const QStringList &strlist,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Display a "warning" dialog.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Warning").
|
|
* @param buttonYes The text for the first button.
|
|
* The default is KStandardGuiItem::yes().
|
|
* @param buttonNo The text for the second button.
|
|
* The default is KStandardGuiItem::no().
|
|
* @param dontAskAgainName If provided, a checkbox is added with which
|
|
* further confirmation can be turned off.
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* If @p dontAskAgainName starts with a ':' then the setting
|
|
* is stored in the global config file.
|
|
* @param options see Options
|
|
*
|
|
* @return @p Yes is returned if the Yes-button is pressed. @p No is returned
|
|
* if the No-button is pressed.
|
|
*
|
|
* To be used for questions "Shall I update your configuration?"
|
|
* The text should explain the implication of both options.
|
|
*
|
|
* The default button is "No". Pressing "Esc" selects "No".
|
|
*/
|
|
static int warningYesNo(QWidget *parent,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Options(Notify | Dangerous));
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static int warningYesNoWId(WId parent_id,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Options(Notify | Dangerous));
|
|
|
|
/**
|
|
* Display a "warning" dialog with a listbox to show information to the user
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param strlist List of strings to be written in the listbox. If the list is
|
|
* empty, it doesn't show any listbox, working as questionYesNo.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Question").
|
|
* @param buttonYes The text for the first button.
|
|
* The default is KStandardGuiItem::yes().
|
|
* @param buttonNo The text for the second button.
|
|
* The default is KStandardGuiItem::no().
|
|
* @param dontAskAgainName If provided, a checkbox is added with which
|
|
* further confirmation can be turned off.
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* If @p dontAskAgainName starts with a ':' then the setting
|
|
* is stored in the global config file.
|
|
* @param options see Options
|
|
*
|
|
* @return 'Yes' is returned if the Yes-button is pressed. 'No' is returned
|
|
* if the No-button is pressed.
|
|
*
|
|
* To be used for questions like "Do you really want to delete these files?"
|
|
* And show the user exactly which files are going to be deleted in case
|
|
* he presses "Yes"
|
|
*
|
|
* The default button is "No". Pressing "Esc" selects "No".
|
|
*/
|
|
|
|
static int warningYesNoList(QWidget *parent,
|
|
const QString &text,
|
|
const QStringList &strlist,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Options(Notify | Dangerous));
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static int warningYesNoListWId(WId parent_id,
|
|
const QString &text,
|
|
const QStringList &strlist,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Options(Notify | Dangerous));
|
|
|
|
/**
|
|
* Display a "warning" dialog.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Warning").
|
|
* @param buttonContinue The text for the first button.
|
|
* The default is KStandardGuiItem::cont().
|
|
* @param buttonCancel The text for the second button.
|
|
* The default is KStandardGuiItem::cancel().
|
|
* @param dontAskAgainName If provided, a checkbox is added with which
|
|
* further confirmation can be turned off.
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* If @p dontAskAgainName starts with a ':' then the setting
|
|
* is stored in the global config file.
|
|
* @param options see Options
|
|
*
|
|
* @return @p Continue is returned if the Continue-button is pressed.
|
|
* @p Cancel is returned if the Cancel-button is pressed.
|
|
*
|
|
* To be used for questions like "You are about to Print. Are you sure?"
|
|
* the continueButton should then be labeled "Print".
|
|
*
|
|
* The default button is buttonContinue. Pressing "Esc" selects "Cancel".
|
|
*/
|
|
static int warningContinueCancel(QWidget *parent,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonContinue = KStandardGuiItem::cont(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static int warningContinueCancelWId(WId parent_id,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonContinue = KStandardGuiItem::cont(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Display a "warning" dialog with a listbox to show information to the user.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param strlist List of strings to be written in the listbox. If the
|
|
* list is empty, it doesn't show any listbox, working
|
|
* as warningContinueCancel.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Warning").
|
|
* @param buttonContinue The text for the first button.
|
|
* The default is KStandardGuiItem::cont().
|
|
* @param buttonCancel The text for the second button.
|
|
* The default is KStandardGuiItem::cancel().
|
|
* @param dontAskAgainName If provided, a checkbox is added with which
|
|
* further confirmation can be turned off.
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* If @p dontAskAgainName starts with a ':' then the setting
|
|
* is stored in the global config file.
|
|
*
|
|
* @param options see Options
|
|
*
|
|
* @return @p Continue is returned if the Continue-button is pressed.
|
|
* @p Cancel is returned if the Cancel-button is pressed.
|
|
*
|
|
* To be used for questions like "You are about to Print. Are you sure?"
|
|
* the continueButton should then be labeled "Print".
|
|
*
|
|
* The default button is buttonContinue. Pressing "Esc" selects "Cancel".
|
|
*/
|
|
static int warningContinueCancelList(QWidget *parent,
|
|
const QString &text,
|
|
const QStringList &strlist,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonContinue = KStandardGuiItem::cont(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static int warningContinueCancelListWId(WId parent_id,
|
|
const QString &text,
|
|
const QStringList &strlist,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonContinue = KStandardGuiItem::cont(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Display a Yes/No/Cancel "warning" dialog.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Warning").
|
|
* @param buttonYes The text for the first button.
|
|
* The default is KStandardGuiItem::yes().
|
|
* @param buttonNo The text for the second button.
|
|
* The default is KStandardGuiItem::no().
|
|
* @param buttonCancel The text for the third button.
|
|
* The default is KStandardGuiItem::cancel().
|
|
* @param dontAskAgainName If provided, a checkbox is added with which
|
|
* further questions can be turned off. If turned off
|
|
* all questions will be automatically answered with the
|
|
* last answer (either Yes or No).
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* If @p dontAskAgainName starts with a ':' then the setting
|
|
* is stored in the global config file.
|
|
* @param options see Options
|
|
*
|
|
* @return @p Yes is returned if the Yes-button is pressed. @p No is returned
|
|
* if the No-button is pressed. @p Cancel is retunred if the Cancel-
|
|
* button is pressed.
|
|
*
|
|
* To be used for questions "Do you want to save your changes?"
|
|
* The text should explain the implication of choosing 'No'.
|
|
*
|
|
* The default button is "Yes". Pressing "Esc" selects "Cancel"
|
|
*/
|
|
|
|
static int warningYesNoCancel(QWidget *parent,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static int warningYesNoCancelWId(WId parent_id,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Display a Yes/No/Cancel "warning" dialog with a listbox to show information
|
|
* to the user.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param strlist List of strings to be written in the listbox. If the
|
|
* list is empty, it doesn't show any listbox, working
|
|
* as warningYesNoCancel.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Warning").
|
|
* @param buttonYes The text for the first button.
|
|
* The default is KStandardGuiItem::yes().
|
|
* @param buttonNo The text for the second button.
|
|
* The default is KStandardGuiItem::no().
|
|
* @param buttonCancel The text for the third button.
|
|
* The default is KStandardGuiItem::cancel().
|
|
* @param dontAskAgainName If provided, a checkbox is added with which
|
|
* further questions can be turned off. If turned off
|
|
* all questions will be automatically answered with the
|
|
* last answer (either Yes or No).
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* If @p dontAskAgainName starts with a ':' then the setting
|
|
* is stored in the global config file.
|
|
* @param options see Options
|
|
*
|
|
* @return @p Yes is returned if the Yes-button is pressed. @p No is returned
|
|
* if the No-button is pressed. @p Cancel is retunred if the Cancel-
|
|
* button is pressed.
|
|
*
|
|
* To be used for questions "Do you want to save your changes?"
|
|
* The text should explain the implication of choosing 'No'.
|
|
*
|
|
* The default button is "Yes". Pressing "Esc" selects "Cancel"
|
|
*/
|
|
static int warningYesNoCancelList(QWidget *parent,
|
|
const QString &text,
|
|
const QStringList &strlist,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static int warningYesNoCancelListWId(WId parent_id,
|
|
const QString &text,
|
|
const QStringList &strlist,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Display an "Error" dialog.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Error").
|
|
* @param options see Options
|
|
*
|
|
* Your program messed up and now it's time to inform the user.
|
|
* To be used for important things like "Sorry, I deleted your hard disk."
|
|
*
|
|
* If your program detects the action specified by the user is somehow
|
|
* not allowed, this should never be reported with error(). Use sorry()
|
|
* instead to explain to the user that this action is not allowed.
|
|
*
|
|
* The default button is "&OK". Pressing "Esc" selects the OK-button.
|
|
*
|
|
* NOTE: The OK button will always have the i18n'ed text '&OK'.
|
|
*/
|
|
|
|
static void error(QWidget *parent,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static void errorWId(WId parent_id,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Display an "Error" dialog with a listbox.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param strlist List of strings to be written in the listbox. If the
|
|
* list is empty, it doesn't show any listbox, working
|
|
* as error().
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Error").
|
|
* @param options see Options
|
|
*
|
|
* Your program messed up and now it's time to inform the user.
|
|
* To be used for important things like "Sorry, I deleted your hard disk."
|
|
*
|
|
* If your program detects the action specified by the user is somehow
|
|
* not allowed, this should never be reported with error(). Use sorry()
|
|
* instead to explain to the user that this action is not allowed.
|
|
*
|
|
* The default button is "&OK". Pressing "Esc" selects the OK-button.
|
|
*
|
|
* NOTE: The OK button will always have the i18n'ed text '&OK'.
|
|
*/
|
|
|
|
static void errorList(QWidget *parent,
|
|
const QString &text,
|
|
const QStringList &strlist,
|
|
const QString &caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
|
|
static void errorListWId(WId parent_id,
|
|
const QString &text,
|
|
const QStringList &strlist,
|
|
const QString &caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Displays an "Error" dialog with a "Details >>" button.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param details Detailed message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Error").
|
|
* @param options see Options
|
|
*
|
|
* Your program messed up and now it's time to inform the user.
|
|
* To be used for important things like "Sorry, I deleted your hard disk."
|
|
*
|
|
* The @p details message can contain additional information about
|
|
* the problem and can be shown on request to advanced/interested users.
|
|
*
|
|
* If your program detects the action specified by the user is somehow
|
|
* not allowed, this should never be reported with error(). Use sorry()
|
|
* instead to explain to the user that this action is not allowed.
|
|
*
|
|
* The default button is "&OK". Pressing "Esc" selects the OK-button.
|
|
*
|
|
* NOTE: The OK button will always have the i18n'ed text '&OK'.
|
|
*/
|
|
static void detailedError(QWidget *parent,
|
|
const QString &text,
|
|
const QString &details,
|
|
const QString &caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static void detailedErrorWId(WId parent_id,
|
|
const QString &text,
|
|
const QString &details,
|
|
const QString &caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Like detailedError
|
|
*
|
|
* This function will return immediately, the messagebox will be shown
|
|
* once the application enters an event loop and no other messagebox
|
|
* is being shown.
|
|
*
|
|
* Note that if the parent gets deleted, the messagebox will not be
|
|
* shown.
|
|
*/
|
|
static void queuedDetailedError( QWidget *parent,
|
|
const QString &text,
|
|
const QString &details,
|
|
const QString &caption = QString());
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static void queuedDetailedErrorWId( WId parent_id,
|
|
const QString &text,
|
|
const QString &details,
|
|
const QString &caption = QString());
|
|
|
|
/**
|
|
* Display an "Sorry" dialog.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Sorry").
|
|
* @param options see OptionsType
|
|
*
|
|
* Either your program messed up and asks for understanding
|
|
* or your user did something stupid.
|
|
*
|
|
* To be used for small problems like
|
|
* "Sorry, I can't find the file you specified."
|
|
*
|
|
* The default button is "&OK". Pressing "Esc" selects the OK-button.
|
|
*
|
|
* NOTE: The ok button will always have the i18n'ed text '&OK'.
|
|
*/
|
|
|
|
static void sorry(QWidget *parent,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static void sorryWId(WId parent_id,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Displays a "Sorry" dialog with a "Details >>" button.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param details Detailed message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Sorry").
|
|
* @param options see Options
|
|
*
|
|
* Either your program messed up and asks for understanding
|
|
* or your user did something stupid.
|
|
*
|
|
* To be used for small problems like
|
|
* "Sorry, I can't find the file you specified."
|
|
*
|
|
* And then @p details can contain something like
|
|
* "foobar.txt was not found in any of
|
|
* the following directories:
|
|
* /usr/bin,/usr/local/bin,/usr/sbin"
|
|
*
|
|
* The default button is "&OK". Pressing "Esc" selects the OK-button.
|
|
*
|
|
* NOTE: The ok button will always have the i18n'ed text '&OK'.
|
|
*/
|
|
|
|
static void detailedSorry(QWidget *parent,
|
|
const QString &text,
|
|
const QString &details,
|
|
const QString &caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static void detailedSorryWId(WId parent_id,
|
|
const QString &text,
|
|
const QString &details,
|
|
const QString &caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Display an "Information" dialog.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Information").
|
|
* @param dontShowAgainName If provided, a checkbox is added with which
|
|
* further notifications can be turned off.
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* @param options see Options
|
|
*
|
|
*
|
|
* Your program wants to tell the user something.
|
|
* To be used for things like:
|
|
* "Your bookmarks have been rearranged."
|
|
*
|
|
* The default button is "&OK". Pressing "Esc" selects the OK-button.
|
|
*
|
|
* NOTE: The OK button will always have the i18n'ed text '&OK'.
|
|
*/
|
|
|
|
static void information(QWidget *parent,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const QString &dontShowAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static void informationWId(WId parent_id,
|
|
const QString &text,
|
|
const QString &caption = QString(),
|
|
const QString &dontShowAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Display an "Information" dialog with a listbox.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param strlist List of strings to be written in the listbox. If the
|
|
* list is empty, it doesn't show any listbox, working
|
|
* as information.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("Information").
|
|
* @param dontShowAgainName If provided, a checkbox is added with which
|
|
* further notifications can be turned off.
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* The setting is stored in the "Notification Messages" group.
|
|
* @param options see Options
|
|
*
|
|
*
|
|
* Your program wants to tell the user something.
|
|
* To be used for things like:
|
|
* "The following bookmarks have been rearranged:"
|
|
*
|
|
* The default button is "&OK". Pressing "Esc" selects the OK-button.
|
|
*
|
|
* NOTE: The OK button will always have the i18n'ed text '&OK'.
|
|
*/
|
|
|
|
static void informationList(QWidget *parent,
|
|
const QString &text,
|
|
const QStringList & strlist,
|
|
const QString &caption = QString(),
|
|
const QString &dontShowAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static void informationListWId(WId parent_id,
|
|
const QString &text,
|
|
const QStringList & strlist,
|
|
const QString &caption = QString(),
|
|
const QString &dontShowAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Enable all messages which have been turned off with the
|
|
* @p dontShowAgainName feature.
|
|
*/
|
|
static void enableAllMessages();
|
|
|
|
/**
|
|
* Re-enable a specific @p dontShowAgainName messages that had
|
|
* previously been turned off.
|
|
* @see saveDontShowAgainYesNo()
|
|
* @see saveDontShowAgainContinue()
|
|
*/
|
|
static void enableMessage(const QString &dontShowAgainName);
|
|
|
|
/**
|
|
* Display an "About" dialog.
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param text Message string.
|
|
* @param caption Message box title. The application name is added to
|
|
* the title. The default title is i18n("About \<appname\>").
|
|
* @param options see Options
|
|
*
|
|
*
|
|
* Your program wants to show some general information about the application
|
|
* like the authors's names and email addresses.
|
|
*
|
|
* The default button is "&OK".
|
|
*
|
|
* NOTE: The ok button will always have the i18n'ed text '&OK'.
|
|
*/
|
|
static void about(QWidget *parent,
|
|
const QString& text,
|
|
const QString& caption = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Alternate method to show a messagebox:
|
|
*
|
|
* @param parent Parent widget.
|
|
* @param type type of message box: QuestionYesNo, WarningYesNo, WarningContinueCancel...
|
|
* @param text Message string.
|
|
* @param caption Message box title.
|
|
* @param buttonYes The text for the first button.
|
|
* The default is KStandardGuiItem::yes().
|
|
* @param buttonNo The text for the second button.
|
|
* The default is KStandardGuiItem::no().
|
|
* @param buttonCancel The text for the third button.
|
|
* The default is KStandardGuiItem::cancel().
|
|
* @param dontShowAskAgainName If provided, a checkbox is added with which
|
|
* further questions/information can be turned off. If turned off
|
|
* all questions will be automatically answered with the
|
|
* last answer (either Yes or No), if the message box needs an answer.
|
|
* The string is used to lookup and store the setting
|
|
* in the applications config file.
|
|
* @param options see Options
|
|
* Note: for ContinueCancel, buttonYes is the continue button and buttonNo is unused.
|
|
* and for Information, none is used.
|
|
* @return a button code, as defined in KMessageBox.
|
|
*/
|
|
|
|
static int messageBox( QWidget *parent, DialogType type, const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontShowAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static int messageBoxWId( WId parent_id, DialogType type, const QString &text,
|
|
const QString &caption = QString(),
|
|
const KGuiItem &buttonYes = KStandardGuiItem::yes(),
|
|
const KGuiItem &buttonNo = KStandardGuiItem::no(),
|
|
const KGuiItem &buttonCancel = KStandardGuiItem::cancel(),
|
|
const QString &dontShowAskAgainName = QString(),
|
|
Options options = Notify);
|
|
|
|
/**
|
|
* Like messageBox
|
|
*
|
|
* Only for message boxes of type Information, Sorry or Error.
|
|
*
|
|
* This function will return immediately, the messagebox will be shown
|
|
* once the application enters an event loop and no other messagebox
|
|
* is being shown.
|
|
*
|
|
* Note that if the parent gets deleted, the messagebox will not be
|
|
* shown.
|
|
*/
|
|
static void queuedMessageBox( QWidget *parent,
|
|
DialogType type, const QString &text,
|
|
const QString &caption,
|
|
Options options );
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static void queuedMessageBoxWId( WId parent_id,
|
|
DialogType type, const QString &text,
|
|
const QString &caption,
|
|
Options options );
|
|
|
|
/**
|
|
* @overload
|
|
*
|
|
* This is an overloaded member function, provided for convenience.
|
|
* It behaves essentially like the above function.
|
|
*/
|
|
static void queuedMessageBox( QWidget *parent,
|
|
DialogType type, const QString &text,
|
|
const QString &caption = QString() );
|
|
|
|
/**
|
|
* This function accepts the window id of the parent window, instead
|
|
* of QWidget*. It should be used only when necessary.
|
|
*/
|
|
static void queuedMessageBoxWId( WId parent_id,
|
|
DialogType type, const QString &text,
|
|
const QString &caption = QString() );
|
|
|
|
/**
|
|
* @return true if the corresponding yes/no message box should be shown.
|
|
* @param dontShowAgainName the name that identify the message box. If
|
|
* empty, true is always returned.
|
|
* @param result is set to the result (Yes or No) that was chosen the last
|
|
* time the message box was shown. Only meaningful, if the message box
|
|
* should not be shown.
|
|
*/
|
|
static bool shouldBeShownYesNo(const QString &dontShowAgainName,
|
|
ButtonCode &result);
|
|
/**
|
|
* @return true if the corresponding continue/cancel message box should be
|
|
* shown.
|
|
* @param dontShowAgainName the name that identify the message box. If
|
|
* empty, true is always returned.
|
|
*/
|
|
static bool shouldBeShownContinue(const QString &dontShowAgainName);
|
|
|
|
/**
|
|
* Save the fact that the yes/no message box should not be shown again.
|
|
* @param dontShowAgainName the name that identify the message box. If
|
|
* empty, this method does nothing.
|
|
* @param result the value (Yes or No) that should be used as the result
|
|
* for the message box.
|
|
*/
|
|
static void saveDontShowAgainYesNo(const QString &dontShowAgainName,
|
|
ButtonCode result);
|
|
|
|
/**
|
|
* Save the fact that the continue/cancel message box should not be shown
|
|
* again.
|
|
* @param dontShowAgainName the name that identify the message box. If
|
|
* empty, this method does nothing.
|
|
*/
|
|
static void saveDontShowAgainContinue(const QString &dontShowAgainName);
|
|
|
|
/**
|
|
* Use @p cfg for all settings related to the dontShowAgainName feature.
|
|
* If @p cfg is 0 (default) KGlobal::config() will be used.
|
|
*/
|
|
static void setDontShowAskAgainConfig(KConfig* cfg);
|
|
|
|
/**
|
|
* Create content and layout of a standard dialog
|
|
*
|
|
* @param dialog The parent dialog base
|
|
* @param icon Which predefined icon the message box shall show.
|
|
* @param text Message string.
|
|
* @param strlist List of strings to be written in the listbox.
|
|
* If the list is empty, it doesn't show any listbox
|
|
* @param ask The text of the checkbox. If empty none will be shown.
|
|
* @param checkboxReturn The result of the checkbox. If it's initially
|
|
* true then the checkbox will be checked by default.
|
|
* May be 0.
|
|
* @param options see Options
|
|
* @param details Detailed message string.
|
|
* @return A KDialog button code, not a KMessageBox button code,
|
|
* based on the buttonmask given to the constructor of the
|
|
* @p dialog (ie. will return KDialog::Yes [256] instead of
|
|
* KMessageBox::Yes [3]). Will return KMessageBox::Cancel
|
|
* if the message box is queued for display instead of
|
|
* exec()ed immediately or if the option NoExec is set.
|
|
* @note Unless NoExec is used,
|
|
* the @p dialog that is passed in is deleted by this
|
|
* function. Do not delete it yourself.
|
|
*/
|
|
static int createKMessageBox(KDialog *dialog, QMessageBox::Icon icon, //krazy:exclude=qclasses
|
|
const QString &text, const QStringList &strlist,
|
|
const QString &ask, bool *checkboxReturn,
|
|
Options options, const QString &details=QString());
|
|
|
|
/**
|
|
* Create content and layout of a standard dialog
|
|
*
|
|
* @param dialog The parent dialog base
|
|
* @param icon A QPixmap containing the icon to be displayed in the
|
|
* dialog next to the text.
|
|
* @param text Message string.
|
|
* @param strlist List of strings to be written in the listbox.
|
|
* If the list is empty, it doesn't show any listbox
|
|
* @param ask The text of the checkbox. If empty none will be shown.
|
|
* @param checkboxReturn The result of the checkbox. If it's initially
|
|
* true then the checkbox will be checked by default.
|
|
* May be 0.
|
|
* @param options see Options
|
|
* @param details Detailed message string.
|
|
* @param notifyType The type of notification to send when this message
|
|
* is presentend.
|
|
* @return A KDialog button code, not a KMessageBox button code,
|
|
* based on the buttonmask given to the constructor of the
|
|
* @p dialog (ie. will return KDialog::Yes [256] instead of
|
|
* KMessageBox::Yes [3]). Will return KMessageBox::Cancel
|
|
* if the message box is queued for display instead of
|
|
* exec()ed immediately or if the option NoExec is set.
|
|
* @note Unless NoExec is used,
|
|
* the @p dialog that is passed in is deleted by this
|
|
* function. Do not delete it yourself.
|
|
*/
|
|
static int createKMessageBox(KDialog *dialog, const QIcon &icon,
|
|
const QString &text, const QStringList &strlist,
|
|
const QString &ask, bool *checkboxReturn,
|
|
Options options, const QString &details=QString(),
|
|
QMessageBox::Icon notifyType=QMessageBox::Information); //krazy:exclude=qclasses
|
|
};
|
|
|
|
Q_DECLARE_OPERATORS_FOR_FLAGS(KMessageBox::Options)
|
|
|
|
|
|
#endif
|