lyx_mirror/src/frontends/alert.h
Jürgen Spitzmüller 605f6bebf2 Implement a warning dialog with a "Do not show this warning again!" checkbox.
Since Qt does not provide this, we have to roll our own dialog.
Hidden warnings are stored in sessions.

The dialog is currently only used in the case where an included file
has a different textclass then the master (bug 3218).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29324 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-19 11:57:52 +00:00

72 lines
2.2 KiB
C++

// -*- C++ -*-
/**
* \file alert.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author John Levon
*
* Full author contact details are available in file CREDITS.
*/
#ifndef LYX_ALERT_H
#define LYX_ALERT_H
#include "support/docstring.h"
namespace lyx {
namespace frontend {
namespace Alert {
/**
* Prompt for a question. Returns 0-2 for the chosen button.
* Set default_button and cancel_button to reasonable values. b1-b3
* should have accelerators marked with an '&'. title should be
* a short summary. Strings should be gettextised.
* Please think about the poor user.
*
* Remember to use boost::format. If you make any of these buttons
* "Yes" or "No", I will personally come around to your house and
* slap you with fish, and not in an enjoyable way either.
*/
int prompt(docstring const & title, docstring const & question,
int default_button, int cancel_button,
docstring const & b1, docstring const & b2, docstring const & b3 = docstring());
/**
* Display a warning to the user. Title should be a short (general) summary.
* Only use this if the user cannot perform some remedial action.
* \p askshowagain will display a check box where the user can turn off the
* warning for future cases. Ponder carefully if this is feasible.
*/
void warning(docstring const & title, docstring const & message,
bool const & askshowagain = false);
/**
* Display a warning to the user. Title should be a short (general) summary.
* Only use this if the user cannot perform some remedial action.
*/
void error(docstring const & title, docstring const & message);
/**
* Informational message. Use very very sparingly. That is, you must
* apply to me, in triplicate, under the sea, breathing in petrol
* and reciting the Nicene Creed, whilst running uphill and also
* eating.
*/
void information(docstring const & title, docstring const & message);
/**
* Asks for a text. Returns true for OK. Obtained message is in response
* (even empty string). dflt stands for default message in the dialog.
*/
bool askForText(docstring & response, docstring const & msg,
docstring const & dflt = docstring());
} // namespace Alert
} // namespace frontend
} // namespace lyx
#endif // LYX_ALERT_H