From 073ff329f5419f36830bcfd72ef137662d770756 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= <thorbjorn.lindeijer@nokia.com>
Date: Thu, 23 Jul 2009 09:57:02 +0200
Subject: [PATCH] Set the text of the discard color scheme changes button

Otherwise it would refer explicitly to closing without saving in some
cases, which isn't really suitable here.
---
 src/plugins/texteditor/fontsettingspage.cpp | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/plugins/texteditor/fontsettingspage.cpp b/src/plugins/texteditor/fontsettingspage.cpp
index 67b551496c4..83ab9c6e393 100644
--- a/src/plugins/texteditor/fontsettingspage.cpp
+++ b/src/plugins/texteditor/fontsettingspage.cpp
@@ -512,12 +512,20 @@ void FontSettingsPage::maybeSaveColorScheme()
     if (d_ptr->m_value.colorScheme() == d_ptr->ui.schemeEdit->colorScheme())
         return;
 
-    int ret = QMessageBox::warning(d_ptr->ui.schemeComboBox->window(),
-                                   tr("Color Scheme Changed"),
-                                   tr("The color scheme \"%1\" was modified, do you want to save the changes?")
-                                           .arg(d_ptr->ui.schemeEdit->colorScheme().name()),
-                                   QMessageBox::Discard | QMessageBox::Save, QMessageBox::Save);
-    if (ret == QMessageBox::Save) {
+    QMessageBox *messageBox = new QMessageBox(QMessageBox::Warning,
+                                              tr("Color Scheme Changed"),
+                                              tr("The color scheme \"%1\" was modified, do you want to save the changes?")
+                                                  .arg(d_ptr->ui.schemeEdit->colorScheme().name()),
+                                              QMessageBox::Discard | QMessageBox::Save,
+                                              d_ptr->ui.schemeComboBox->window());
+
+    // Change the text of the discard button
+    QPushButton *discardButton = static_cast<QPushButton*>(messageBox->button(QMessageBox::Discard));
+    discardButton->setText(tr("Discard"));
+    messageBox->addButton(discardButton, QMessageBox::DestructiveRole);
+    messageBox->setDefaultButton(QMessageBox::Save);
+
+    if (messageBox->exec() == QMessageBox::Save) {
         const ColorScheme &scheme = d_ptr->ui.schemeEdit->colorScheme();
         scheme.save(d_ptr->m_value.colorSchemeFileName());
     }
-- 
GitLab