← Back to team overview

apport-hackers team mailing list archive

[Merge] lp:~mgedmin/apport/fix-lp1387328 into lp:apport

 

Marius Gedminas has proposed merging lp:~mgedmin/apport/fix-lp1387328 into lp:apport.

Requested reviews:
  Apport upstream developers (apport-hackers)
Related bugs:
  Bug #1387328 in apport (Ubuntu): "apport-gtk: clicking on the details tree jumps the scroll position to top"
  https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1387328

For more details, see:
https://code.launchpad.net/~mgedmin/apport/fix-lp1387328/+merge/240056
-- 
https://code.launchpad.net/~mgedmin/apport/fix-lp1387328/+merge/240056
Your team Apport upstream developers is requested to review the proposed merge of lp:~mgedmin/apport/fix-lp1387328 into lp:apport.
=== modified file 'gtk/apport-gtk'
--- gtk/apport-gtk	2014-08-18 05:38:10 +0000
+++ gtk/apport-gtk	2014-10-29 20:40:33 +0000
@@ -62,7 +62,7 @@
 
         column = Gtk.TreeViewColumn('Report', Gtk.CellRendererText(), text=0)
         self.w('details_treeview').append_column(column)
-        self.spinner = self.add_spinner_over_treeview(self.w('details_treeview'))
+        self.spinner = self.add_spinner_over_treeview(self.w('details_overlay'))
 
         self.md = None
 
@@ -72,16 +72,11 @@
     # ui_* implementation of abstract UserInterface classes
     #
 
-    def add_spinner_over_treeview(self, treeview):
+    def add_spinner_over_treeview(self, overlay):
         '''Reparents a treeview in a GtkOverlay, then layers a GtkSpinner
         centered on top.'''
         # TODO handle the expose event of the spinner so that we can draw on
         # the treeview's viewport's window instead.
-        parent = treeview.get_parent()
-        parent.remove(treeview)
-        overlay = Gtk.Overlay()
-        parent.add(overlay)
-        overlay.add(treeview)
         spinner = Gtk.Spinner()
         spinner.set_size_request(42, 42)
         align = Gtk.Alignment()

=== modified file 'gtk/apport-gtk.ui'
--- gtk/apport-gtk.ui	2014-08-18 05:38:10 +0000
+++ gtk/apport-gtk.ui	2014-10-29 20:40:33 +0000
@@ -177,19 +177,23 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkScrolledWindow" id="details_scrolledwindow">
-                    <property name="height_request">250</property>
-                    <property name="can_focus">True</property>
-                    <property name="shadow_type">in</property>
+                  <object class="GtkOverlay" id="details_overlay">
                     <child>
-                      <object class="GtkTreeView" id="details_treeview">
-                        <property name="visible">True</property>
+                      <object class="GtkScrolledWindow" id="details_scrolledwindow">
+                        <property name="height_request">250</property>
                         <property name="can_focus">True</property>
-                        <property name="model">details_treestore</property>
-                        <property name="headers_visible">False</property>
-                        <property name="rules_hint">True</property>
-                        <child internal-child="selection">
-                          <object class="GtkTreeSelection" id="treeview-selection2"/>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <object class="GtkTreeView" id="details_treeview">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="model">details_treestore</property>
+                            <property name="headers_visible">False</property>
+                            <property name="rules_hint">True</property>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection2"/>
+                            </child>
+                          </object>
                         </child>
                       </object>
                     </child>