[PATCH 2/5] Allow passing an optional button list to showDetailedError.

David Lehman dlehman at redhat.com
Tue Jul 7 22:32:56 UTC 2015


The button list will be unconditionally ignored by the TUI.

(cherry picked from commit 9f6e21284c5a368497d46c08c37e2bee06385993)

Related: rhbz#1236995
Related: rhbz#1198367
---
 pyanaconda/ui/__init__.py     | 3 +++
 pyanaconda/ui/gui/__init__.py | 7 ++++---
 pyanaconda/ui/tui/__init__.py | 2 +-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/pyanaconda/ui/__init__.py b/pyanaconda/ui/__init__.py
index 2686ded..3802bea 100644
--- a/pyanaconda/ui/__init__.py
+++ b/pyanaconda/ui/__init__.py
@@ -122,6 +122,9 @@ class UserInterface(object):
         """
         raise NotImplementedError
 
+    def showDetailedError(self, message, details, buttons=None):
+        raise NotImplementedError
+
     def showYesNoQuestion(self, message):
         """Display a dialog with the given message that presents the user a yes
            or no choice.  This method returns True if the yes choice is selected,
diff --git a/pyanaconda/ui/gui/__init__.py b/pyanaconda/ui/gui/__init__.py
index 42b28fb..9251949 100644
--- a/pyanaconda/ui/gui/__init__.py
+++ b/pyanaconda/ui/gui/__init__.py
@@ -722,15 +722,16 @@ class GraphicalUserInterface(UserInterface):
         sys.exit(1)
 
     @gtk_action_wait
-    def showDetailedError(self, message, details):
+    def showDetailedError(self, message, details, buttons=None):
         from pyanaconda.ui.gui.spokes.lib.detailederror import DetailedErrorDialog
-        dlg = DetailedErrorDialog(None, buttons=[_("_Quit")],
-                                  label=message)
+        buttons = buttons or [_("_Quit")]
+        dlg = DetailedErrorDialog(None, buttons=buttons, label=message)
 
         with self.mainWindow.enlightbox(dlg.window):
             dlg.refresh(details)
             rc = dlg.run()
             dlg.window.destroy()
+            return rc
 
     @gtk_action_wait
     def showYesNoQuestion(self, message):
diff --git a/pyanaconda/ui/tui/__init__.py b/pyanaconda/ui/tui/__init__.py
index 655913a..a45e5f7 100644
--- a/pyanaconda/ui/tui/__init__.py
+++ b/pyanaconda/ui/tui/__init__.py
@@ -262,7 +262,7 @@ class TextUserInterface(ui.UserInterface):
         error_window = ErrorDialog(self._app, message)
         self._app.switch_screen_modal(error_window)
 
-    def showDetailedError(self, message, details):
+    def showDetailedError(self, message, details, buttons=None):
         return self._show_message_in_main_thread(self._showDetailedError, (message, details))
 
     def _showDetailedError(self, message, details):
-- 
2.4.3



More information about the anaconda-patches mailing list