home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / kmessagebox.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-10-10  |  49.8 KB  |  1,167 lines

  1. /*  This file is part of the KDE libraries
  2.     Copyright (C) 1999 Waldo Bastian (bastian@kde.org)
  3.  
  4.     This library is free software; you can redistribute it and/or
  5.     modify it under the terms of the GNU Library General Public
  6.     License as published by the Free Software Foundation; version 2
  7.     of the License.
  8.  
  9.     This library is distributed in the hope that it will be useful,
  10.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.     Library General Public License for more details.
  13.  
  14.     You should have received a copy of the GNU Library General Public License
  15.     along with this library; see the file COPYING.LIB.  If not, write to
  16.     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  17.     Boston, MA 02110-1301, USA.
  18. */
  19. #ifndef _KMESSAGEBOX_H_
  20. #define _KMESSAGEBOX_H_
  21.  
  22. #include <qstring.h>
  23. #include <qmessagebox.h>
  24.  
  25. #include <kguiitem.h>
  26. #include <kstdguiitem.h>
  27.  
  28. class QWidget;
  29. class QStringList;
  30. class KConfig;
  31. class KDialogBase;
  32.  
  33.  /**
  34.   * Easy message dialog box.
  35.   *
  36.   * Provides convenience functions for some i18n'ed standard dialogs.
  37.   *
  38.   * The text in message boxes is wrapped automatically. The text may either
  39.   * be plaintext or richtext. If the text is plaintext, a newline-character
  40.   * may be used to indicate the end of a paragraph.
  41.   *
  42.   * @author Waldo Bastian (bastian@kde.org)
  43.   */
  44. class KDEUI_EXPORT KMessageBox
  45. {
  46. public:
  47.   /**
  48.    * Button types.
  49.    **/
  50.  enum ButtonCode
  51.  {
  52.    Ok = 1,
  53.    Cancel = 2,
  54.    Yes = 3,
  55.    No = 4,
  56.    Continue = 5
  57.  };
  58.  
  59.  enum DialogType
  60.  {
  61.    QuestionYesNo = 1,
  62.    WarningYesNo = 2,
  63.    WarningContinueCancel = 3,
  64.    WarningYesNoCancel = 4,
  65.    Information = 5,
  66.    // Reserved for: SSLMessageBox = 6
  67.    Sorry = 7,
  68.    Error = 8,
  69.    QuestionYesNoCancel = 9
  70.  };
  71.  
  72.  enum OptionsType
  73.  {
  74.    Notify = 1,        ///< Emit a KNotifyClient event
  75.    AllowLink = 2,     ///< The message may contain links.
  76.    Dangerous = 4,     ///< The action to be confirmed by the dialog is a potentially destructive one
  77.    PlainCaption = 8,  /**< Do not use KApplication::makeStdCaption()
  78.                       @since 3.4
  79.                */
  80.    NoExec = 16        /**< Do not call exec() in createKMessageBox()
  81.                @since 3.4
  82.                */
  83.  };
  84.  
  85.  /**
  86.   * Display a simple "question" dialog.
  87.   *
  88.   * @param parent  If @p parent is 0, then the message box becomes an
  89.   *                application-global modal dialog box. If @p parent is a
  90.   *                widget, the message box becomes modal relative to parent.
  91.   * @param text    Message string.
  92.   * @param caption Message box title. The application name is added to
  93.   *                the title. The default title is i18n("Question").
  94.   * @param buttonYes The text for the first button.
  95.   *                  The default is i18n("&Yes").
  96.   * @param buttonNo  The text for the second button.
  97.   *                  The default is i18n("&No").
  98.   * @param dontAskAgainName If provided, a checkbox is added with which
  99.   *                further confirmation can be turned off.
  100.   *                The string is used to lookup and store the setting
  101.   *                in the applications config file.
  102.   *                The setting is stored in the "Notification Messages" group.
  103.   *                If @p dontAskAgainName starts with a ':' then the setting
  104.   *                is stored in the global config file.
  105.   * @param options  see OptionsType
  106.   *
  107.   * @return  'Yes' is returned if the Yes-button is pressed. 'No' is returned
  108.   *          if the No-button is pressed.
  109.   *
  110.   * To be used for questions like "Do you have a printer?"
  111.   *
  112.   * The default button is "Yes". Pressing "Esc" selects "No".
  113.   */
  114.  
  115.  static int questionYesNo(QWidget *parent,
  116.                           const QString &text,
  117.                           const QString &caption = QString::null,
  118.                           const KGuiItem &buttonYes = KStdGuiItem::yes(),
  119.                           const KGuiItem &buttonNo =  KStdGuiItem::no(),
  120.                           const QString &dontAskAgainName = QString::null,
  121.                           int options = Notify);
  122.  /**
  123.   * This function accepts the window id of the parent window, instead
  124.   * of QWidget*. It should be used only when necessary.
  125.   * @since 3.2
  126.   */
  127.  static int questionYesNoWId(WId parent_id,
  128.                           const QString &text,
  129.                           const QString &caption = QString::null,
  130.                           const KGuiItem &buttonYes = KStdGuiItem::yes(),
  131.                           const KGuiItem &buttonNo =  KStdGuiItem::no(),
  132.                           const QString &dontAskAgainName = QString::null,
  133.                           int options = Notify);
  134.  /**
  135.   * Display a simple "question" dialog.
  136.   *
  137.   * @param parent  If @p parent is 0, then the message box becomes an
  138.   *                application-global modal dialog box. If @p parent is a
  139.   *                widget, the message box becomes modal relative to parent.
  140.   * @param text    Message string.
  141.   * @param caption Message box title. The application name is added to
  142.   *                the title. The default title is i18n("Question").
  143.   * @param buttonYes The text for the first button.
  144.   *                  The default is i18n("&Yes").
  145.   * @param buttonNo  The text for the second button.
  146.   *                  The default is i18n("&No").
  147.   * @param dontAskAgainName If provided, a checkbox is added with which
  148.   *                further confirmation can be turned off.
  149.   *                The string is used to lookup and store the setting
  150.   *                in the applications config file.
  151.   *                The setting is stored in the "Notification Messages" group.
  152.   *                If @p dontAskAgainName starts with a ':' then the setting
  153.   *                is stored in the global config file.
  154.   * @param options  see OptionsType
  155.   *
  156.   * @return  'Yes' is returned if the Yes-button is pressed. 'No' is returned
  157.   *          if the No-button is pressed.
  158.   *
  159.   * To be used for questions like "Do you want to discard the message or save it for later?",
  160.   *
  161.   * The default button is "Yes". Pressing "Esc" selects "Cancel".
  162.   *
  163.   * NOTE: The cancel button will always have the i18n'ed text '&Cancel'.
  164.   */
  165.  
  166.   static int questionYesNoCancel(QWidget *parent,
  167.                           const QString &text,
  168.                           const QString &caption = QString::null,
  169.                           const KGuiItem &buttonYes = KStdGuiItem::yes(),
  170.                           const KGuiItem &buttonNo  = KStdGuiItem::no(),
  171.                           const QString &dontAskAgainName = QString::null,
  172.                           int options = Notify);
  173.  
  174.  /**
  175.   * This function accepts the window id of the parent window, instead
  176.   * of QWidget*. It should be used only when necessary.
  177.   * @since 3.2
  178.   */
  179.   static int questionYesNoCancelWId(WId parent_id,
  180.                           const QString &text,
  181.                           const QString &caption = QString::null,
  182.                           const KGuiItem &buttonYes = KStdGuiItem::yes(),
  183.                           const KGuiItem &buttonNo  = KStdGuiItem::no(),
  184.                           const QString &dontAskAgainName = QString::null,
  185.                           int options = Notify);
  186.  
  187.  /**
  188.   * Display a "question" dialog with a listbox to show information to the user
  189.   *
  190.   * @param parent  If @p parent is 0, then the message box becomes an
  191.   *                application-global modal dialog box. If @p parent is a
  192.   *                widget, the message box becomes modal relative to parent.
  193.   * @param text    Message string.
  194.   * @param strlist List of strings to be written in the listbox. If the list is
  195.   *                empty, it doesn't show any listbox, working as questionYesNo.
  196.   * @param caption Message box title. The application name is added to
  197.   *                the title. The default title is i18n("Question").
  198.   * @param buttonYes The text for the first button.
  199.   *                  The default is i18n("&Yes").
  200.   * @param buttonNo  The text for the second button.
  201.   *                  The default is i18n("&No").
  202.   * @param dontAskAgainName If provided, a checkbox is added with which
  203.   *                further confirmation can be turned off.
  204.   *                The string is used to lookup and store the setting
  205.   *                in the applications config file.
  206.   *                The setting is stored in the "Notification Messages" group.
  207.   *                If @p dontAskAgainName starts with a ':' then the setting
  208.   *                is stored in the global config file.
  209.   * @param options  see OptionsType
  210.   *
  211.   * @return  'Yes' is returned if the Yes-button is pressed. 'No' is returned
  212.   *          if the No-button is pressed.
  213.   *
  214.   * To be used for questions like "Do you really want to delete these files?"
  215.   * And show the user exactly which files are going to be deleted in case
  216.   * he presses "Yes"
  217.   *
  218.   * The default button is "Yes". Pressing "Esc" selects "No".
  219.   */
  220.  
  221.  static int questionYesNoList(QWidget *parent,
  222.                           const QString &text,
  223.                           const QStringList &strlist,
  224.                           const QString &caption = QString::null,
  225.                           const KGuiItem &buttonYes = KStdGuiItem::yes(),
  226.                           const KGuiItem &buttonNo = KStdGuiItem::no(),
  227.                           const QString &dontAskAgainName = QString::null,
  228.                           int options = Notify);
  229.  
  230.  /**
  231.   * This function accepts the window id of the parent window, instead
  232.   * of QWidget*. It should be used only when necessary.
  233.   * @since 3.2
  234.   */
  235.  static int questionYesNoListWId(WId parent_id,
  236.                           const QString &text,
  237.                           const QStringList &strlist,
  238.                           const QString &caption = QString::null,
  239.                           const KGuiItem &buttonYes = KStdGuiItem::yes(),
  240.                           const KGuiItem &buttonNo = KStdGuiItem::no(),
  241.                           const QString &dontAskAgainName = QString::null,
  242.                           int options = Notify);
  243.  
  244.  /**
  245.   * Display a "warning" dialog.
  246.   *
  247.   * @param parent  If @p parent is 0, then the message box becomes an
  248.   *                application-global modal dialog box. If @p parent is a
  249.   *                widget, the message box becomes modal relative to parent.
  250.   * @param text    Message string.
  251.   * @param caption Message box title. The application name is added to
  252.   *                the title. The default title is i18n("Warning").
  253.   * @param buttonYes The text for the first button.
  254.   *                  The default is i18n("&Yes").
  255.   * @param buttonNo  The text for the second button.
  256.   *                  The default is i18n("&No").
  257.   * @param dontAskAgainName If provided, a checkbox is added with which
  258.   *                further confirmation can be turned off.
  259.   *                The string is used to lookup and store the setting
  260.   *                in the applications config file.
  261.   *                The setting is stored in the "Notification Messages" group.
  262.   *                If @p dontAskAgainName starts with a ':' then the setting
  263.   *                is stored in the global config file.
  264.   * @param options  see OptionsType
  265.   *
  266.   * @return  @p Yes is returned if the Yes-button is pressed. @p No is returned
  267.   *          if the No-button is pressed.
  268.   *
  269.   * To be used for questions "Shall I update your configuration?"
  270.   * The text should explain the implication of both options.
  271.   *
  272.   * The default button is "No". Pressing "Esc" selects "No".
  273.   */
  274.  static int warningYesNo(QWidget *parent,
  275.                          const QString &text,
  276.                          const QString &caption = QString::null,
  277.                          const KGuiItem &buttonYes = KStdGuiItem::yes(),
  278.                          const KGuiItem &buttonNo = KStdGuiItem::no(),
  279.                          const QString &dontAskAgainName = QString::null,
  280.                          int options = Notify | Dangerous);
  281.  
  282.  /**
  283.   * This function accepts the window id of the parent window, instead
  284.   * of QWidget*. It should be used only when necessary.
  285.   * @since 3.2
  286.   */
  287.  static int warningYesNoWId(WId parent_id,
  288.                          const QString &text,
  289.                          const QString &caption = QString::null,
  290.                          const KGuiItem &buttonYes = KStdGuiItem::yes(),
  291.                          const KGuiItem &buttonNo = KStdGuiItem::no(),
  292.                          const QString &dontAskAgainName = QString::null,
  293.                          int options = Notify | Dangerous);
  294.  
  295.  /**
  296.   * Display a "warning" dialog with a listbox to show information to the user
  297.   *
  298.   * @param parent  If @p parent is 0, then the message box becomes an
  299.   *                application-global modal dialog box. If @p parent is a
  300.   *                widget, the message box becomes modal relative to parent.
  301.   * @param text    Message string.
  302.   * @param strlist List of strings to be written in the listbox. If the list is
  303.   *                empty, it doesn't show any listbox, working as questionYesNo.
  304.   * @param caption Message box title. The application name is added to
  305.   *                the title. The default title is i18n("Question").
  306.   * @param buttonYes The text for the first button.
  307.   *                  The default is i18n("&Yes").
  308.   * @param buttonNo  The text for the second button.
  309.   *                  The default is i18n("&No").
  310.   * @param dontAskAgainName If provided, a checkbox is added with which
  311.   *                further confirmation can be turned off.
  312.   *                The string is used to lookup and store the setting
  313.   *                in the applications config file.
  314.   *                The setting is stored in the "Notification Messages" group.
  315.   *                If @p dontAskAgainName starts with a ':' then the setting
  316.   *                is stored in the global config file.
  317.   * @param options  see OptionsType
  318.   *
  319.   * @return  'Yes' is returned if the Yes-button is pressed. 'No' is returned
  320.   *          if the No-button is pressed.
  321.   *
  322.   * To be used for questions like "Do you really want to delete these files?"
  323.   * And show the user exactly which files are going to be deleted in case
  324.   * he presses "Yes"
  325.   *
  326.   * The default button is "No". Pressing "Esc" selects "No".
  327.   */
  328.  
  329.  static int warningYesNoList(QWidget *parent,
  330.                             const QString &text,
  331.                             const QStringList &strlist,
  332.                             const QString &caption = QString::null,
  333.                             const KGuiItem &buttonYes = KStdGuiItem::yes(),
  334.                             const KGuiItem &buttonNo = KStdGuiItem::no(),
  335.                             const QString &dontAskAgainName = QString::null,
  336.                             int options = Notify | Dangerous);
  337.  
  338.  /**
  339.   * This function accepts the window id of the parent window, instead
  340.   * of QWidget*. It should be used only when necessary.
  341.   * @since 3.2
  342.   */
  343.  static int warningYesNoListWId(WId parent_id,
  344.                             const QString &text,
  345.                             const QStringList &strlist,
  346.                             const QString &caption = QString::null,
  347.                             const KGuiItem &buttonYes = KStdGuiItem::yes(),
  348.                             const KGuiItem &buttonNo = KStdGuiItem::no(),
  349.                             const QString &dontAskAgainName = QString::null,
  350.                             int options = Notify | Dangerous);
  351.  
  352.  /**
  353.   * Display a "warning" dialog.
  354.   *
  355.   * @param parent  If @p parent is 0, then the message box becomes an
  356.   *                application-global modal dialog box. If @p parent is a
  357.   *                widget, the message box becomes modal relative to parent.
  358.   * @param text    Message string.
  359.   * @param caption Message box title. The application name is added to
  360.   *                the title. The default title is i18n("Warning").
  361.   * @param buttonContinue The text for the first button.
  362.   * @param dontAskAgainName If provided, a checkbox is added with which
  363.   *                further confirmation can be turned off.
  364.   *                The string is used to lookup and store the setting
  365.   *                in the applications config file.
  366.   *                The setting is stored in the "Notification Messages" group.
  367.   *                If @p dontAskAgainName starts with a ':' then the setting
  368.   *                is stored in the global config file.
  369.   * @param options  see OptionsType
  370.   *
  371.   * The second button always has the text "Cancel".
  372.   *
  373.   * @return  @p Continue is returned if the Continue-button is pressed.
  374.   *          @p Cancel is returned if the Cancel-button is pressed.
  375.   *
  376.   * To be used for questions like "You are about to Print. Are you sure?"
  377.   * the continueButton should then be labeled "Print".
  378.   *
  379.   * The default button is buttonContinue. Pressing "Esc" selects "Cancel".
  380.   */
  381.  static int warningContinueCancel(QWidget *parent,
  382.                          const QString &text,
  383.                          const QString &caption = QString::null,
  384.                          const KGuiItem &buttonContinue = KStdGuiItem::cont(),
  385.                          const QString &dontAskAgainName = QString::null,
  386.                          int options = Notify);
  387.  
  388.  /**
  389.   * This function accepts the window id of the parent window, instead
  390.   * of QWidget*. It should be used only when necessary.
  391.   * @since 3.2
  392.   */
  393.  static int warningContinueCancelWId(WId parent_id,
  394.                          const QString &text,
  395.                          const QString &caption = QString::null,
  396.                          const KGuiItem &buttonContinue = KStdGuiItem::cont(),
  397.                          const QString &dontAskAgainName = QString::null,
  398.                          int options = Notify);
  399.  
  400.  /**
  401.   * Display a "warning" dialog with a listbox to show information to the user.
  402.   *
  403.   * @param parent  If @p parent is 0, then the message box becomes an
  404.   *                application-global modal dialog box. If @p parent is a
  405.   *                widget, the message box becomes modal relative to parent.
  406.   * @param text    Message string.
  407.   * @param strlist List of strings to be written in the listbox. If the
  408.   *                list is empty, it doesn't show any listbox, working
  409.   *                as warningContinueCancel.
  410.   * @param caption Message box title. The application name is added to
  411.   *                the title. The default title is i18n("Warning").
  412.   * @param buttonContinue The text for the first button.
  413.   * @param dontAskAgainName If provided, a checkbox is added with which
  414.   *                further confirmation can be turned off.
  415.   *                The string is used to lookup and store the setting
  416.   *                in the applications config file.
  417.   *                The setting is stored in the "Notification Messages" group.
  418.   *                If @p dontAskAgainName starts with a ':' then the setting
  419.   *                is stored in the global config file.
  420.   *
  421.   * @param options  see OptionsType
  422.   *
  423.   * The second button always has the text "Cancel".
  424.   *
  425.   * @return  @p Continue is returned if the Continue-button is pressed.
  426.   *          @p Cancel is returned if the Cancel-button is pressed.
  427.   *
  428.   * To be used for questions like "You are about to Print. Are you sure?"
  429.   * the continueButton should then be labeled "Print".
  430.   *
  431.   * The default button is buttonContinue. Pressing "Esc" selects "Cancel".
  432.   */
  433.  static int warningContinueCancelList(QWidget *parent,
  434.                          const QString &text,
  435.                          const QStringList &strlist,
  436.                          const QString &caption = QString::null,
  437.                          const KGuiItem &buttonContinue = KStdGuiItem::cont(),
  438.                          const QString &dontAskAgainName = QString::null,
  439.                          int options = Notify);
  440.  
  441.  /**
  442.   * This function accepts the window id of the parent window, instead
  443.   * of QWidget*. It should be used only when necessary.
  444.   * @since 3.2
  445.   */
  446.  static int warningContinueCancelListWId(WId parent_id,
  447.                          const QString &text,
  448.                          const QStringList &strlist,
  449.                          const QString &caption = QString::null,
  450.                          const KGuiItem &buttonContinue = KStdGuiItem::cont(),
  451.                          const QString &dontAskAgainName = QString::null,
  452.                          int options = Notify);
  453.  
  454.  /**
  455.   * Display a Yes/No/Cancel "warning" dialog.
  456.   *
  457.   * @param parent  If @p parent is 0, then the message box becomes an
  458.   *                application-global modal dialog box. If @p parent is a
  459.   *                widget, the message box becomes modal relative to parent.
  460.   * @param text    Message string.
  461.   * @param caption Message box title. The application name is added to
  462.   *                the title. The default title is i18n("Warning").
  463.   * @param buttonYes The text for the first button.
  464.   *                  The default is i18n("&Yes").
  465.   * @param buttonNo  The text for the second button.
  466.   *                  The default is i18n("&No").
  467.   * @param dontAskAgainName If provided, a checkbox is added with which
  468.   *                further questions can be turned off. If turned off
  469.   *                all questions will be automatically answered with the
  470.   *                last answer (either Yes or No).
  471.   *                The string is used to lookup and store the setting
  472.   *                in the applications config file.
  473.   *                The setting is stored in the "Notification Messages" group.
  474.   *                If @p dontAskAgainName starts with a ':' then the setting
  475.   *                is stored in the global config file.
  476.   * @param options  see OptionsType
  477.   *
  478.   * @return  @p Yes is returned if the Yes-button is pressed. @p No is returned
  479.   *          if the No-button is pressed. @p Cancel is retunred if the Cancel-
  480.   *          button is pressed.
  481.   *
  482.   * To be used for questions "Do you want to save your changes?"
  483.   * The text should explain the implication of choosing 'No'.
  484.   *
  485.   * The default button is "Yes". Pressing "Esc" selects "Cancel"
  486.   *
  487.   * NOTE: The cancel button will always have the i18n'ed text '&Cancel'.
  488.   */
  489.  
  490.   static int warningYesNoCancel(QWidget *parent,
  491.                                 const QString &text,
  492.                                 const QString &caption = QString::null,
  493.                                 const KGuiItem &buttonYes = KStdGuiItem::yes(),
  494.                                 const KGuiItem &buttonNo = KStdGuiItem::no(),
  495.                                 const QString &dontAskAgainName = QString::null,
  496.                                 int options = Notify);
  497.  
  498.  /**
  499.   * This function accepts the window id of the parent window, instead
  500.   * of QWidget*. It should be used only when necessary.
  501.   * @since 3.2
  502.   */
  503.   static int warningYesNoCancelWId(WId parent_id,
  504.                                 const QString &text,
  505.                                 const QString &caption = QString::null,
  506.                                 const KGuiItem &buttonYes = KStdGuiItem::yes(),
  507.                                 const KGuiItem &buttonNo = KStdGuiItem::no(),
  508.                                 const QString &dontAskAgainName = QString::null,
  509.                                 int options = Notify);
  510.  
  511.  /**
  512.   * Display a Yes/No/Cancel "warning" dialog with a listbox to show information
  513.   * to the user.
  514.   *
  515.   * @param parent  If @p parent is 0, then the message box becomes an
  516.   *                application-global modal dialog box. If @p parent is a
  517.   *                widget, the message box becomes modal relative to parent.
  518.   * @param text    Message string.
  519.   * @param strlist List of strings to be written in the listbox. If the
  520.   *                list is empty, it doesn't show any listbox, working
  521.   *                as warningYesNoCancel.
  522.   * @param caption Message box title. The application name is added to
  523.   *                the title. The default title is i18n("Warning").
  524.   * @param buttonYes The text for the first button.
  525.   *                  The default is i18n("&Yes").
  526.   * @param buttonNo  The text for the second button.
  527.   *                  The default is i18n("&No").
  528.   * @param dontAskAgainName If provided, a checkbox is added with which
  529.   *                further questions can be turned off. If turned off
  530.   *                all questions will be automatically answered with the
  531.   *                last answer (either Yes or No).
  532.   *                The string is used to lookup and store the setting
  533.   *                in the applications config file.
  534.   *                The setting is stored in the "Notification Messages" group.
  535.   *                If @p dontAskAgainName starts with a ':' then the setting
  536.   *                is stored in the global config file.
  537.   * @param options  see OptionsType
  538.   *
  539.   * @return  @p Yes is returned if the Yes-button is pressed. @p No is returned
  540.   *          if the No-button is pressed. @p Cancel is retunred if the Cancel-
  541.   *          button is pressed.
  542.   *
  543.   * To be used for questions "Do you want to save your changes?"
  544.   * The text should explain the implication of choosing 'No'.
  545.   *
  546.   * The default button is "Yes". Pressing "Esc" selects "Cancel"
  547.   *
  548.   * NOTE: The cancel button will always have the i18n'ed text '&Cancel'.
  549.   *
  550.   * @since 3.2
  551.   */
  552.   static int warningYesNoCancelList(QWidget *parent,
  553.                                 const QString &text,
  554.                                 const QStringList &strlist,
  555.                                 const QString &caption = QString::null,
  556.                                 const KGuiItem &buttonYes = KStdGuiItem::yes(),
  557.                                 const KGuiItem &buttonNo = KStdGuiItem::no(),
  558.                                 const QString &dontAskAgainName = QString::null,
  559.                                 int options = Notify);
  560.  
  561.  /**
  562.   * This function accepts the window id of the parent window, instead
  563.   * of QWidget*. It should be used only when necessary.
  564.   * @since 3.2
  565.   */
  566.   static int warningYesNoCancelListWId(WId parent_id,
  567.                                 const QString &text,
  568.                                 const QStringList &strlist,
  569.                                 const QString &caption = QString::null,
  570.                                 const KGuiItem &buttonYes = KStdGuiItem::yes(),
  571.                                 const KGuiItem &buttonNo = KStdGuiItem::no(),
  572.                                 const QString &dontAskAgainName = QString::null,
  573.                                 int options = Notify);
  574.  
  575.  /**
  576.   * Display an "Error" dialog.
  577.   *
  578.   * @param parent  If @p parent is 0, then the message box becomes an
  579.   *                application-global modal dialog box. If @p parent is a
  580.   *                widget, the message box becomes modal relative to parent.
  581.   * @param text    Message string.
  582.   * @param caption Message box title. The application name is added to
  583.   *                the title. The default title is i18n("Error").
  584.   * @param options  see OptionsType
  585.   *
  586.   * Your program messed up and now it's time to inform the user.
  587.   * To be used for important things like "Sorry, I deleted your hard disk."
  588.   *
  589.   * If your program detects the action specified by the user is somehow
  590.   * not allowed, this should never be reported with error(). Use sorry()
  591.   * instead to explain to the user that this action is not allowed.
  592.   *
  593.   * The default button is "&OK". Pressing "Esc" selects the OK-button.
  594.   *
  595.   * NOTE: The OK button will always have the i18n'ed text '&OK'.
  596.   */
  597.  
  598.   static void error(QWidget *parent,
  599.                     const QString &text,
  600.                     const QString &caption = QString::null,
  601.                     int options = Notify);
  602.  
  603.  /**
  604.   * This function accepts the window id of the parent window, instead
  605.   * of QWidget*. It should be used only when necessary.
  606.   *
  607.   * @since 3.2
  608.   */
  609.   static void errorWId(WId parent_id,
  610.                     const QString &text,
  611.                     const QString &caption = QString::null,
  612.                     int options = Notify);
  613.  
  614.  /**
  615.   * Display an "Error" dialog with a listbox.
  616.   *
  617.   * @param parent  If @p parent is 0, then the message box becomes an
  618.   *                application-global modal dialog box. If @p parent is a
  619.   *                widget, the message box becomes modal relative to parent.
  620.   * @param text    Message string.
  621.   * @param strlist List of strings to be written in the listbox. If the
  622.   *                list is empty, it doesn't show any listbox, working
  623.   *                as error().
  624.   * @param caption Message box title. The application name is added to
  625.   *                the title. The default title is i18n("Error").
  626.   * @param options  see OptionsType
  627.   *
  628.   * Your program messed up and now it's time to inform the user.
  629.   * To be used for important things like "Sorry, I deleted your hard disk."
  630.   *
  631.   * If your program detects the action specified by the user is somehow
  632.   * not allowed, this should never be reported with error(). Use sorry()
  633.   * instead to explain to the user that this action is not allowed.
  634.   *
  635.   * The default button is "&OK". Pressing "Esc" selects the OK-button.
  636.   *
  637.   * NOTE: The OK button will always have the i18n'ed text '&OK'.
  638.   *
  639.   * @since 3.4
  640.   */
  641.  
  642.   static void errorList(QWidget *parent,
  643.                     const QString &text,
  644.                     const QStringList &strlist,
  645.                     const QString &caption = QString::null,
  646.                     int options = Notify);
  647.  
  648.  /**
  649.   * This function accepts the window id of the parent window, instead
  650.   * of QWidget*. It should be used only when necessary.
  651.   * @since 3.4
  652.   */
  653.  
  654.   static void errorListWId(WId parent_id,
  655.                     const QString &text,
  656.                     const QStringList &strlist,
  657.                     const QString &caption = QString::null,
  658.                     int options = Notify);
  659.  
  660.  /**
  661.   * Displays an "Error" dialog with a "Details >>" button.
  662.   *
  663.   * @param parent  If @p parent is 0, then the message box becomes an
  664.   *                application-global modal dialog box. If @p parent is a
  665.   *                widget, the message box becomes modal relative to parent.
  666.   * @param text    Message string.
  667.   * @param details Detailed message string.
  668.   * @param caption Message box title. The application name is added to
  669.   *                the title. The default title is i18n("Error").
  670.   * @param options  see OptionsType
  671.   *
  672.   * Your program messed up and now it's time to inform the user.
  673.   * To be used for important things like "Sorry, I deleted your hard disk."
  674.   *
  675.   * The @p details message can conatin additional information about
  676.   * the problem and can be shown on request to advanced/interested users.
  677.   *
  678.   * If your program detects the action specified by the user is somehow
  679.   * not allowed, this should never be reported with error(). Use sorry()
  680.   * instead to explain to the user that this action is not allowed.
  681.   *
  682.   * The default button is "&OK". Pressing "Esc" selects the OK-button.
  683.   *
  684.   * NOTE: The OK button will always have the i18n'ed text '&OK'.
  685.   */
  686.   static void detailedError(QWidget *parent,
  687.                     const QString &text,
  688.                     const QString &details,
  689.                     const QString &caption = QString::null,
  690.                     int options = Notify);
  691.  
  692.  /**
  693.   * This function accepts the window id of the parent window, instead
  694.   * of QWidget*. It should be used only when necessary.
  695.   * @since 3.2
  696.   */
  697.   static void detailedErrorWId(WId parent_id,
  698.                     const QString &text,
  699.                     const QString &details,
  700.                     const QString &caption = QString::null,
  701.                     int options = Notify);
  702.  
  703.   /**
  704.    * Like detailedError
  705.    *
  706.    * This function will return immediately, the messagebox will be shown
  707.    * once the application enters an event loop and no other messagebox
  708.    * is being shown.
  709.    *
  710.    * Note that if the parent gets deleted, the messagebox will not be
  711.    * shown.
  712.    */
  713.   static void queuedDetailedError( QWidget *parent,
  714.                     const QString &text,
  715.                     const QString &details,
  716.                     const QString &caption = QString::null);
  717.  
  718.  /**
  719.   * This function accepts the window id of the parent window, instead
  720.   * of QWidget*. It should be used only when necessary.
  721.   * @since 3.2
  722.   */
  723.   static void queuedDetailedErrorWId( WId parent_id,
  724.                     const QString &text,
  725.                     const QString &details,
  726.                     const QString &caption = QString::null);
  727.  
  728.  /**
  729.   * Display an "Sorry" dialog.
  730.   *
  731.   * @param parent  If @p parent is 0, then the message box becomes an
  732.   *                application-global modal dialog box. If @p parent is a
  733.   *                widget, the message box becomes modal relative to parent.
  734.   * @param text    Message string.
  735.   * @param caption Message box title. The application name is added to
  736.   *                the title. The default title is i18n("Sorry").
  737.   * @param options  see OptionsType
  738.   *
  739.   * Either your program messed up and asks for understanding
  740.   * or your user did something stupid.
  741.   *
  742.   * To be used for small problems like
  743.   * "Sorry, I can't find the file you specified."
  744.   *
  745.   * The default button is "&OK". Pressing "Esc" selects the OK-button.
  746.   *
  747.   * NOTE: The ok button will always have the i18n'ed text '&OK'.
  748.   */
  749.  
  750.   static void sorry(QWidget *parent,
  751.                     const QString &text,
  752.                     const QString &caption = QString::null,
  753.                     int options = Notify);
  754.  
  755.  /**
  756.   * This function accepts the window id of the parent window, instead
  757.   * of QWidget*. It should be used only when necessary.
  758.   * @since 3.2
  759.   */
  760.   static void sorryWId(WId parent_id,
  761.                     const QString &text,
  762.                     const QString &caption = QString::null,
  763.                     int options = Notify);
  764.  
  765.  /**
  766.   * Displays a "Sorry" dialog with a "Details >>" button.
  767.   *
  768.   * @param parent  If @p parent is 0, then the message box becomes an
  769.   *                application-global modal dialog box. If @p parent is a
  770.   *                widget, the message box becomes modal relative to parent.
  771.   * @param text    Message string.
  772.   * @param details Detailed message string.
  773.   * @param caption Message box title. The application name is added to
  774.   *                the title. The default title is i18n("Sorry").
  775.   * @param options  see OptionsType
  776.   *
  777.   * Either your program messed up and asks for understanding
  778.   * or your user did something stupid.
  779.   *
  780.   * To be used for small problems like
  781.   * "Sorry, I can't find the file you specified."
  782.   *
  783.   * And then @p details can contain something like
  784.   * "foobar.txt was not found in any of
  785.   *  the following directories:
  786.   *  /usr/bin,/usr/local/bin,/usr/sbin"
  787.   *
  788.   * The default button is "&OK". Pressing "Esc" selects the OK-button.
  789.   *
  790.   * NOTE: The ok button will always have the i18n'ed text '&OK'.
  791.   */
  792.  
  793.   static void detailedSorry(QWidget *parent,
  794.                     const QString &text,
  795.                     const QString &details,
  796.                     const QString &caption = QString::null,
  797.                     int options = Notify);
  798.  
  799.  /**
  800.   * This function accepts the window id of the parent window, instead
  801.   * of QWidget*. It should be used only when necessary.
  802.   * @since 3.2
  803.   */
  804.   static void detailedSorryWId(WId parent_id,
  805.                     const QString &text,
  806.                     const QString &details,
  807.                     const QString &caption = QString::null,
  808.                     int options = Notify);
  809.  
  810.  /**
  811.   * Display an "Information" dialog.
  812.   *
  813.   * @param parent  If @p parent is 0, then the message box becomes an
  814.   *                application-global modal dialog box. If @p parent is a
  815.   *                widget, the message box becomes modal relative to parent.
  816.   * @param text    Message string.
  817.   * @param caption Message box title. The application name is added to
  818.   *                the title. The default title is i18n("Information").
  819.   * @param dontShowAgainName If provided, a checkbox is added with which
  820.   *                further notifications can be turned off.
  821.   *                The string is used to lookup and store the setting
  822.   *                in the applications config file.
  823.   *                The setting is stored in the "Notification Messages" group.
  824.   * @param options  see OptionsType
  825.   *
  826.   *
  827.   * Your program wants to tell the user something.
  828.   * To be used for things like:
  829.   * "Your bookmarks have been rearranged."
  830.   *
  831.   * The default button is "&OK". Pressing "Esc" selects the OK-button.
  832.   *
  833.   *  NOTE: The OK button will always have the i18n'ed text '&OK'.
  834.   */
  835.  
  836.   static void information(QWidget *parent,
  837.                           const QString &text,
  838.                           const QString &caption = QString::null,
  839.                           const QString &dontShowAgainName = QString::null,
  840.                           int options = Notify);
  841.  
  842.  /**
  843.   * This function accepts the window id of the parent window, instead
  844.   * of QWidget*. It should be used only when necessary.
  845.   * @since 3.2
  846.   */
  847.   static void informationWId(WId parent_id,
  848.                           const QString &text,
  849.                           const QString &caption = QString::null,
  850.                           const QString &dontShowAgainName = QString::null,
  851.                           int options = Notify);
  852.  
  853.  /**
  854.   * Display an "Information" dialog with a listbox.
  855.   *
  856.   * @param parent  If @p parent is 0, then the message box becomes an
  857.   *                application-global modal dialog box. If @p parent is a
  858.   *                widget, the message box becomes modal relative to parent.
  859.   * @param text    Message string.
  860.   * @param strlist List of strings to be written in the listbox. If the
  861.   *                list is empty, it doesn't show any listbox, working
  862.   *                as information.
  863.   * @param caption Message box title. The application name is added to
  864.   *                the title. The default title is i18n("Information").
  865.   * @param dontShowAgainName If provided, a checkbox is added with which
  866.   *                further notifications can be turned off.
  867.   *                The string is used to lookup and store the setting
  868.   *                in the applications config file.
  869.   *                The setting is stored in the "Notification Messages" group.
  870.   * @param options  see OptionsType
  871.   *
  872.   *
  873.   * Your program wants to tell the user something.
  874.   * To be used for things like:
  875.   * "The following bookmarks have been rearranged:"
  876.   *
  877.   * The default button is "&OK". Pressing "Esc" selects the OK-button.
  878.   *
  879.   *  NOTE: The OK button will always have the i18n'ed text '&OK'.
  880.   * @since 3.1
  881.   */
  882.  
  883.   static void informationList(QWidget *parent,
  884.                   const QString &text,
  885.                   const QStringList & strlist,
  886.                   const QString &caption = QString::null,
  887.                   const QString &dontShowAgainName = QString::null,
  888.                   int options = Notify);
  889.  
  890.  /**
  891.   * This function accepts the window id of the parent window, instead
  892.   * of QWidget*. It should be used only when necessary.
  893.   * @since 3.2
  894.   */
  895.   static void informationListWId(WId parent_id,
  896.                   const QString &text,
  897.                   const QStringList & strlist,
  898.                   const QString &caption = QString::null,
  899.                   const QString &dontShowAgainName = QString::null,
  900.                   int options = Notify);
  901.  
  902.   /**
  903.    * Enable all messages which have been turned off with the
  904.    * @p dontShowAgainName feature.
  905.    */
  906.   static void enableAllMessages();
  907.  
  908.   /**
  909.    * Re-enable a specific @p dontShowAgainName messages that had 
  910.    * previously been turned off.
  911.    * @see saveDontShowAgainYesNo()
  912.    * @see saveDontShowAgainContinue()
  913.    * @since 3.2
  914.    */
  915.   static void enableMessage(const QString &dontShowAgainName);
  916.  
  917.   /**
  918.    * Display an "About" dialog.
  919.    *
  920.    * @param parent  If @p parent is 0, then the message box becomes an
  921.    *                application-global modal dialog box. If @p parent is a
  922.    *                widget, the message box becomes modal relative to parent.
  923.    * @param text    Message string.
  924.    * @param caption Message box title. The application name is added to
  925.    *                the title. The default title is i18n("About \<appname\>").
  926.    * @param options  see OptionsType
  927.    *
  928.    *
  929.    * Your program wants to show some general information about the application
  930.    * like the authors's names and email addresses.
  931.    *
  932.    * The default button is "&OK".
  933.    *
  934.    *  NOTE: The ok button will always have the i18n'ed text '&OK'.
  935.    */
  936.   static void about(QWidget *parent,
  937.             const QString& text,
  938.             const QString& caption = QString::null,
  939.                     int options = Notify);
  940.  
  941.     /**
  942.      * Alternate method to show a messagebox:
  943.      *
  944.      * @param parent  If @p parent is 0, then the message box becomes an
  945.      *                application-global modal dialog box. If @p parent is a
  946.      *                widget, the message box becomes modal relative to parent.
  947.      * @param type type of message box: QuestionYesNo, WarningYesNo, WarningContinueCancel...
  948.      * @param text Message string.
  949.      * @param caption Message box title.
  950.      * @param buttonYes The text for the first button.
  951.      *                  The default is i18n("&Yes").
  952.      * @param buttonNo  The text for the second button.
  953.      *                  The default is i18n("&No").
  954.      * @param dontShowAskAgainName If provided, a checkbox is added with which
  955.      *                further questions/informations can be turned off. If turned off
  956.      *                all questions will be automatically answered with the
  957.      *                last answer (either Yes or No), if the message box needs an answer.
  958.      *                The string is used to lookup and store the setting
  959.      *                in the applications config file.
  960.      * @param options  see OptionsType
  961.      * Note: for ContinueCancel, buttonYes is the continue button and buttonNo is unused.
  962.      *       and for Information, none is used.
  963.      * @return a button code, as defined in KMessageBox.
  964.      */
  965.     static int messageBox( QWidget *parent, DialogType type, const QString &text,
  966.                     const QString &caption,
  967.                     const KGuiItem &buttonYes,
  968.                     const KGuiItem &buttonNo,
  969.                     const QString &dontShowAskAgainName,
  970.                     int options = Notify);
  971.  
  972.     /**
  973.      * Alternate method to show a messagebox:
  974.      *
  975.      * @param parent  If @p parent is 0, then the message box becomes an
  976.      *                application-global modal dialog box. If @p parent is a
  977.      *                widget, the message box becomes modal relative to parent.
  978.      * @param type type of message box: QuestionYesNo, WarningYesNo, WarningContinueCancel...
  979.      * @param text Message string.
  980.      * @param caption Message box title.
  981.      * @param buttonYes The text for the first button.
  982.      *                  The default is i18n("&Yes").
  983.      * @param buttonNo  The text for the second button.
  984.      *                  The default is i18n("&No").
  985.      * @param options  see OptionsType
  986.      * Note: for ContinueCancel, buttonYes is the continue button and buttonNo is unused.
  987.      *       and for Information, none is used.
  988.      * @return a button code, as defined in KMessageBox.
  989.      */
  990.     // KDE4 - merge with above?
  991.     static int messageBox( QWidget *parent, DialogType type, const QString &text,
  992.                     const QString &caption = QString::null,
  993.                     const KGuiItem &buttonYes = KStdGuiItem::yes(),
  994.                     const KGuiItem &buttonNo = KStdGuiItem::no(),
  995.                     int options = Notify);
  996.  
  997.     /**
  998.      * This function accepts the window id of the parent window, instead
  999.      * of QWidget*. It should be used only when necessary.
  1000.      * @since 3.2
  1001.      */
  1002.     static int messageBoxWId( WId parent_id, DialogType type, const QString &text,
  1003.                     const QString &caption = QString::null,
  1004.                     const KGuiItem &buttonYes = KStdGuiItem::yes(),
  1005.                     const KGuiItem &buttonNo = KStdGuiItem::no(),
  1006.                     const QString &dontShowAskAgainName = QString::null,
  1007.                     int options = Notify);
  1008.  
  1009.     /**
  1010.      * Like messageBox
  1011.      *
  1012.      * Only for message boxes of type Information, Sorry or Error.
  1013.      *
  1014.      * This function will return immediately, the messagebox will be shown
  1015.      * once the application enters an event loop and no other messagebox
  1016.      * is being shown.
  1017.      *
  1018.      * Note that if the parent gets deleted, the messagebox will not be
  1019.      * shown.
  1020.      */
  1021.     static void queuedMessageBox( QWidget *parent,
  1022.                     DialogType type, const QString &text,
  1023.                     const QString &caption,
  1024.                     int options );
  1025.  
  1026.     /**
  1027.      * This function accepts the window id of the parent window, instead
  1028.      * of QWidget*. It should be used only when necessary.
  1029.      * @since 3.2
  1030.      */
  1031.     static void queuedMessageBoxWId( WId parent_id,
  1032.                     DialogType type, const QString &text,
  1033.                     const QString &caption,
  1034.                     int options );
  1035.  
  1036.     /**
  1037.      * @overload
  1038.      *
  1039.      * This is an overloaded member function, provided for convenience.
  1040.      * It behaves essentially like the above function.
  1041.      */
  1042.     static void queuedMessageBox( QWidget *parent,
  1043.                     DialogType type, const QString &text,
  1044.                     const QString &caption = QString::null );
  1045.  
  1046.     /**
  1047.      * This function accepts the window id of the parent window, instead
  1048.      * of QWidget*. It should be used only when necessary.
  1049.      * @since 3.2
  1050.      */
  1051.     static void queuedMessageBoxWId( WId parent_id,
  1052.                     DialogType type, const QString &text,
  1053.                     const QString &caption = QString::null );
  1054.  
  1055.     /**
  1056.      * @return true if the corresponding yes/no message box should be shown.
  1057.      * @param dontShowAgainName the name that identify the message box. If
  1058.      * empty, true is always returned.
  1059.      * @param result is set to the result (Yes or No) that was chosen the last
  1060.      * time the message box was shown. Only meaningful, if the message box
  1061.      * should not be shown.
  1062.      * @since 3.2
  1063.      */
  1064.     static bool shouldBeShownYesNo(const QString &dontShowAgainName,
  1065.                                    ButtonCode &result);
  1066.     /**
  1067.      * @return true if the corresponding continue/cancel message box should be
  1068.      * shown.
  1069.      * @param dontShowAgainName the name that identify the message box. If
  1070.      * empty, true is always returned.
  1071.      * @since 3.2
  1072.      */
  1073.     static bool shouldBeShownContinue(const QString &dontShowAgainName);
  1074.  
  1075.     /**
  1076.      * Save the fact that the yes/no message box should not be shown again.
  1077.      * @param dontShowAgainName the name that identify the message box. If
  1078.      * empty, this method does nothing.
  1079.      * @param result the value (Yes or No) that should be used as the result
  1080.      * for the message box.
  1081.      * @since 3.2
  1082.      */
  1083.     static void saveDontShowAgainYesNo(const QString &dontShowAgainName,
  1084.                                        ButtonCode result);
  1085.  
  1086.     /**
  1087.      * Save the fact that the continue/cancel message box should not be shown
  1088.      * again.
  1089.      * @param dontShowAgainName the name that identify the message box. If
  1090.      * empty, this method does nothing.
  1091.      * @since 3.2
  1092.      */
  1093.     static void saveDontShowAgainContinue(const QString &dontShowAgainName);
  1094.  
  1095.     /**
  1096.      * Use @p cfg for all settings related to the dontShowAgainName feature.
  1097.      * If @p cfg is 0 (default) KGlobal::config() will be used.
  1098.      * @since 3.2
  1099.      */    
  1100.     static void setDontShowAskAgainConfig(KConfig* cfg);
  1101.  
  1102.     /**
  1103.      * Create content and layout of a standard dialog
  1104.      *
  1105.      * @param dialog  The parent dialog base
  1106.      * @param icon    Which predefined icon the message box shall show.
  1107.      * @param text    Message string.
  1108.      * @param strlist List of strings to be written in the listbox.
  1109.      *                If the list is empty, it doesn't show any listbox
  1110.      * @param ask     The text of the checkbox. If empty none will be shown.
  1111.      * @param checkboxReturn The result of the checkbox. If it's initially
  1112.      *                true then the checkbox will be checked by default.
  1113.      * @param options  see OptionsType
  1114.      * @param details Detailed message string.
  1115.      * @since 3.3
  1116.      * @return A KDialogBase button code, not a KMessageBox button code,
  1117.      *         based on the buttonmask given to the constructor of the
  1118.      *         @p dialog (ie. will return KDialogBase::Yes [256] instead of 
  1119.      *         KMessageBox::Yes [3]). Will return KMessageBox::Cancel
  1120.      *         if the message box is queued for display instead of 
  1121.      *         exec()ed immediately or if the option NoExec is set.
  1122.      * @note   The @p dialog that is passed in is deleted by this
  1123.      *         function. Do not delete it yourself.
  1124.      */
  1125.     static int createKMessageBox(KDialogBase *dialog, QMessageBox::Icon icon,
  1126.                              const QString &text, const QStringList &strlist,
  1127.                              const QString &ask, bool *checkboxReturn,
  1128.                              int options, const QString &details=QString::null);
  1129.  
  1130.     /**
  1131.      * Create content and layout of a standard dialog
  1132.      *
  1133.      * @param dialog  The parent dialog base
  1134.      * @param icon    A QPixmap containing the icon to be displayed in the
  1135.      *                dialog next to the text.
  1136.      * @param text    Message string.
  1137.      * @param strlist List of strings to be written in the listbox.
  1138.      *                If the list is empty, it doesn't show any listbox
  1139.      * @param ask     The text of the checkbox. If empty none will be shown.
  1140.      * @param checkboxReturn The result of the checkbox. If it's initially
  1141.      *                true then the checkbox will be checked by default.
  1142.      * @param options  see OptionsType
  1143.      * @param details Detailed message string.
  1144.      * @param notifyType The type of notification to send when this message
  1145.      *                is presentend.
  1146.      * @since 3.3
  1147.      * @return A KDialogBase button code, not a KMessageBox button code,
  1148.      *         based on the buttonmask given to the constructor of the
  1149.      *         @p dialog (ie. will return KDialogBase::Yes [256] instead of 
  1150.      *         KMessageBox::Yes [3]). Will return KMessageBox::Cancel
  1151.      *         if the message box is queued for display instead of 
  1152.      *         exec()ed immediately or if the option NoExec is set.
  1153.      * @note   The @p dialog that is passed in is deleted by this
  1154.      *         function. Do not delete it yourself.
  1155.      */
  1156.     static int createKMessageBox(KDialogBase *dialog, QPixmap icon,
  1157.                              const QString &text, const QStringList &strlist,
  1158.                              const QString &ask, bool *checkboxReturn,
  1159.                              int options, const QString &details=QString::null,
  1160.                              QMessageBox::Icon notifyType=QMessageBox::Information);
  1161.  
  1162. private:
  1163.     static KConfig* againConfig;
  1164. };
  1165.  
  1166. #endif
  1167.