← Back to team overview

apport-hackers team mailing list archive

[Merge] lp:~ev/apport/whoopsie into lp:apport

 

Evan Dandrea has proposed merging lp:~ev/apport/whoopsie into lp:apport.

Requested reviews:
  Apport upstream developers (apport-hackers)

For more details, see:
https://code.launchpad.net/~ev/apport/whoopsie/+merge/97711
-- 
https://code.launchpad.net/~ev/apport/whoopsie/+merge/97711
Your team Apport upstream developers is requested to review the proposed merge of lp:~ev/apport/whoopsie into lp:apport.
=== modified file 'gtk/apport-gtk'
--- gtk/apport-gtk	2012-03-08 16:43:32 +0000
+++ gtk/apport-gtk	2012-03-15 17:55:33 +0000
@@ -83,14 +83,19 @@
         spinner.hide()
         return spinner
 
-    def ui_update_view(self):
+    def ui_update_view(self, shown_keys=None):
+        if shown_keys:
+            keys = set(self.report.keys()) & set(shown_keys)
+        else:
+            keys = self.report.keys()
         # show the most interesting items on top
-        keys = sorted(self.report)
+        keys = sorted(keys)
         for k in ('Traceback', 'StackTrace', 'Title', 'ProblemType', 'Package', 'ExecutablePath'):
             if k in keys:
                 keys.remove(k)
                 keys.insert(0, k)
 
+        self.tree_model.clear()
         for key in keys:
             keyiter = self.tree_model.insert_before(None, None)
             self.tree_model.set_value(keyiter, 0, key)
@@ -472,6 +477,7 @@
             widget.set_label(_('Hide Details'))
             if not self.collect_called:
                 self.collect_called = True
+                self.ui_update_view(['ExecutablePath'])
                 GLib.idle_add(lambda: self.collect_info(on_finished=self.ui_update_view))
         return True
 

=== modified file 'kde/apport-kde'
--- kde/apport-kde	2012-03-07 17:20:26 +0000
+++ kde/apport-kde	2012-03-15 17:55:33 +0000
@@ -249,6 +249,7 @@
     def showtree(self, visible):
         self.treeview.setVisible(visible)
         if visible and not self.collect_called:
+            self.ui.ui_update_view(self, ['ExecutablePath'])
             QTimer.singleShot(0, lambda: self.ui.collect_info(on_finished=self.collect_done))
             self.collect_called = True
         if visible:
@@ -284,10 +285,15 @@
     # ui_* implementation of abstract UserInterface classes
     #
 
-    def ui_update_view(self, dialog):
+    def ui_update_view(self, dialog, shown_keys=None):
         # report contents
         details = dialog.findChild(QTreeWidget, 'details')
-        for key in sorted(self.report):
+        if shown_keys:
+            keys = set(self.report.keys()) & set(shown_keys)
+        else:
+            keys = self.report.keys()
+        details.clear()
+        for key in sorted(keys):
             keyitem = QTreeWidgetItem([key])
             details.addTopLevelItem(keyitem)