mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-29 05:01:49 +00:00
Use QMessageBox for toggleWarning if possible
Qt 5.2 introduces the possibility to place a checkbox on a QMessageBox,
so we need no longer to use our own crude dialog.
(cherry picked from commit 0148ef7e6c
)
This commit is contained in:
parent
12ca81f2ea
commit
82cade4877
@ -32,9 +32,10 @@ namespace lyx {
|
|||||||
namespace frontend {
|
namespace frontend {
|
||||||
|
|
||||||
|
|
||||||
// FIXME: This dialog has issues with line breaking and size, in particular with
|
// This dialog is only a fallback for Qt < 5.2, which does not feature
|
||||||
// html. But it could easily be reimplemented as a QMessageBox using
|
// QMessageBox::setCheckBox() yet. Note that it has issues with line
|
||||||
// QMessageBox::setCheckBox() available starting from Qt 5.2
|
// breaking and size, in particular with html.
|
||||||
|
#if QT_VERSION < 0x050200
|
||||||
class GuiToggleWarningDialog : public QDialog, public Ui::ToggleWarningUi
|
class GuiToggleWarningDialog : public QDialog, public Ui::ToggleWarningUi
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -44,6 +45,7 @@ public:
|
|||||||
QDialog::setModal(true);
|
QDialog::setModal(true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
GuiProgress::GuiProgress()
|
GuiProgress::GuiProgress()
|
||||||
@ -172,6 +174,9 @@ void GuiProgress::doToggleWarning(QString const & title, QString const & msg, QS
|
|||||||
if (settings.value("hidden_warnings/" + msg, false).toBool())
|
if (settings.value("hidden_warnings/" + msg, false).toBool())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Qt < 5.2 does not feature QMessageBox::setCheckBox() yet,
|
||||||
|
// so we roll our own dialog.
|
||||||
|
#if QT_VERSION < 0x050200
|
||||||
GuiToggleWarningDialog * dlg =
|
GuiToggleWarningDialog * dlg =
|
||||||
new GuiToggleWarningDialog(qApp->focusWidget());
|
new GuiToggleWarningDialog(qApp->focusWidget());
|
||||||
|
|
||||||
@ -183,6 +188,18 @@ void GuiProgress::doToggleWarning(QString const & title, QString const & msg, QS
|
|||||||
if (dlg->dontShowAgainCB->isChecked())
|
if (dlg->dontShowAgainCB->isChecked())
|
||||||
settings.setValue("hidden_warnings/"
|
settings.setValue("hidden_warnings/"
|
||||||
+ msg, true);
|
+ msg, true);
|
||||||
|
#else
|
||||||
|
QCheckBox * dontShowAgainCB = new QCheckBox();
|
||||||
|
dontShowAgainCB->setText(qt_("&Do not show this warning again!"));
|
||||||
|
dontShowAgainCB->setToolTip(qt_("If you check this, LyX will not warn you again in the given case."));
|
||||||
|
QMessageBox box(QMessageBox::Warning, title, formatted,
|
||||||
|
QMessageBox::Ok, qApp->focusWidget());
|
||||||
|
box.setCheckBox(dontShowAgainCB);
|
||||||
|
if (box.exec() == QMessageBox::Ok)
|
||||||
|
if (dontShowAgainCB->isChecked())
|
||||||
|
settings.setValue("hidden_warnings/"
|
||||||
|
+ msg, true);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -267,6 +267,8 @@ What's new
|
|||||||
|
|
||||||
- Fix "New Inset" function in the Nomenclature list dialog.
|
- Fix "New Inset" function in the Nomenclature list dialog.
|
||||||
|
|
||||||
|
- Improve warning message dialogs.
|
||||||
|
|
||||||
|
|
||||||
* INTERNALS
|
* INTERNALS
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user