Merge lp:~javier.collado/checkbox/bug411526 into lp:checkbox

Proposed by Javier Collado
Status: Rejected
Rejected by: Marc Tardif
Proposed branch: lp:~javier.collado/checkbox/bug411526
Merge into: lp:checkbox
Diff against target: 40 lines
1 file modified
checkbox_gtk/gtk_interface.py (+15/-2)
To merge this branch: bzr merge lp:~javier.collado/checkbox/bug411526
Reviewer Review Type Date Requested Status
Marc Tardif (community) Disapprove
David Murphy (community) Approve
Review via email: mp+14350@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Javier Collado (javier.collado) wrote :

This branch solves bug 411526 (Suites prompt should support more than 13 check boxes)

The solution is to create a new vbox that contains all the checkbox buttons and wrap it with a viewport and a scrolled window; so that when the list of test suites doesn't fit in the window, it can be scrolled.

All the changes to the widget hierarchy are performed using code instead of changing the glade file since I think is better not to modify it at least until bug#403534 is solved.

Revision history for this message
David Murphy (schwuk) :
review: Approve
Revision history for this message
Marc Tardif (cr3) wrote :

It would be more consistent if the layout were defined in the glade xml file, even though this will eventually be migrated to gtkbuilder. Also, the user experience might become painful if they have to scroll both vertically and horizontally. So, I will disapprove this branch and I have pushed branch lp:~cr3/checkbox/411526 which I will submit for your review in a moment.

Thanks for the patch, it has been instrumental in creating the branch I just pushed!

review: Disapprove
Revision history for this message
Marc Tardif (cr3) wrote :

See comment made above.

review: Disapprove

Unmerged revisions

691. By Javier Collado

ScrolledWindow is created for checkboxes so that they can be scrolled when their size is bigger than the top level window

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'checkbox_gtk/gtk_interface.py'
2--- checkbox_gtk/gtk_interface.py 2009-10-12 15:46:11 +0000
3+++ checkbox_gtk/gtk_interface.py 2009-11-03 11:45:25 +0000
4@@ -263,7 +263,11 @@
5
6 # Set options
7 option_table = {}
8- vbox = self._get_widget("vbox_options")
9+
10+ vbox_options = self._get_widget("vbox_options")
11+
12+ vbox = gtk.VBox()
13+
14 for option in options:
15 label = "_%s" % option.capitalize()
16 radio_button = gtk.CheckButton(label)
17@@ -274,6 +278,15 @@
18 radio_button.set_active(True)
19
20 self._set_hyper_text_view("hyper_text_view_options", text)
21+ scrolled_text = self._get_widget("scrolledwindow_options")
22+ vbox_options.set_child_packing(scrolled_text, False, False, 0, gtk.PACK_START)
23+
24+ scrolled = gtk.ScrolledWindow()
25+ scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
26+ scrolled.add_with_viewport(vbox)
27+
28+ vbox_options.pack_start(scrolled)
29+ scrolled.show_all()
30
31 self._run_dialog()
32
33@@ -282,7 +295,7 @@
34 for option, check_button in option_table.items():
35 if check_button.get_active():
36 results.append(option)
37- vbox.remove(check_button)
38+ scrolled.destroy()
39
40 return results
41

Subscribers

People subscribed via source and target branches