diff options
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/hobprefs.py')
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/hobprefs.py | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/hobprefs.py b/bitbake/lib/bb/ui/crumbs/hobprefs.py index ab2f0d87fe..1e6c78b435 100644 --- a/bitbake/lib/bb/ui/crumbs/hobprefs.py +++ b/bitbake/lib/bb/ui/crumbs/hobprefs.py | |||
@@ -30,11 +30,15 @@ class HobPrefs(gtk.Dialog): | |||
30 | if model: | 30 | if model: |
31 | model.clear() | 31 | model.clear() |
32 | 32 | ||
33 | def output_type_changed_cb(self, combo, handler): | 33 | def output_type_toggled_cb(self, check, handler): |
34 | ot = combo.get_active_text() | 34 | ot = check.get_label() |
35 | if ot != self.curr_output_type: | 35 | enabled = check.get_active() |
36 | self.curr_output_type = ot | 36 | if enabled: |
37 | handler.set_image_output_type(ot) | 37 | self.selected_image_types = handler.add_image_output_type(ot) |
38 | else: | ||
39 | self.selected_image_types = handler.remove_image_output_type(ot) | ||
40 | |||
41 | self.configurator.setLocalConfVar('IMAGE_FSTYPES', "%s" % self.selected_image_types) | ||
38 | 42 | ||
39 | def sdk_machine_combo_changed_cb(self, combo, handler): | 43 | def sdk_machine_combo_changed_cb(self, combo, handler): |
40 | sdk_mach = combo.get_active_text() | 44 | sdk_mach = combo.get_active_text() |
@@ -144,7 +148,7 @@ class HobPrefs(gtk.Dialog): | |||
144 | glib.idle_add(self.handler.reload_data) | 148 | glib.idle_add(self.handler.reload_data) |
145 | 149 | ||
146 | def __init__(self, configurator, handler, curr_sdk_mach, curr_distro, pclass, | 150 | def __init__(self, configurator, handler, curr_sdk_mach, curr_distro, pclass, |
147 | cpu_cnt, pmake, bbthread, image_types): | 151 | cpu_cnt, pmake, bbthread, selected_image_types, all_image_types): |
148 | """ | 152 | """ |
149 | """ | 153 | """ |
150 | gtk.Dialog.__init__(self, "Preferences", None, | 154 | gtk.Dialog.__init__(self, "Preferences", None, |
@@ -162,7 +166,6 @@ class HobPrefs(gtk.Dialog): | |||
162 | self.curr_sdk_mach = curr_sdk_mach | 166 | self.curr_sdk_mach = curr_sdk_mach |
163 | self.curr_distro = curr_distro | 167 | self.curr_distro = curr_distro |
164 | self.curr_package_format = pclass | 168 | self.curr_package_format = pclass |
165 | self.curr_output_type = None | ||
166 | self.cpu_cnt = cpu_cnt | 169 | self.cpu_cnt = cpu_cnt |
167 | self.pmake = pmake | 170 | self.pmake = pmake |
168 | self.bbthread = bbthread | 171 | self.bbthread = bbthread |
@@ -170,6 +173,7 @@ class HobPrefs(gtk.Dialog): | |||
170 | self.distro_handler_id = None | 173 | self.distro_handler_id = None |
171 | self.sdk_machine_handler_id = None | 174 | self.sdk_machine_handler_id = None |
172 | self.package_handler_id = None | 175 | self.package_handler_id = None |
176 | self.selected_image_types = selected_image_types.split(" ") | ||
173 | 177 | ||
174 | left = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL) | 178 | left = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL) |
175 | right = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL) | 179 | right = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL) |
@@ -214,19 +218,25 @@ class HobPrefs(gtk.Dialog): | |||
214 | of the root filesystem and also dictates the package manager used in your image""") | 218 | of the root filesystem and also dictates the package manager used in your image""") |
215 | self.package_combo.show() | 219 | self.package_combo.show() |
216 | hbox.pack_start(self.package_combo, expand=False, fill=False, padding=6) | 220 | hbox.pack_start(self.package_combo, expand=False, fill=False, padding=6) |
217 | # Image output type selector | 221 | if all_image_types: |
218 | label = gtk.Label("Image output type:") | 222 | # Image output type selector |
219 | label.show() | 223 | label = gtk.Label("Image output types:") |
220 | hbox.pack_start(label, expand=False, fill=False, padding=6) | 224 | label.show() |
221 | output_combo = gtk.combo_box_new_text() | 225 | hbox.pack_start(label, expand=False, fill=False, padding=6) |
222 | if image_types: | 226 | chk_cnt = 3 |
223 | for it in image_types.split(" "): | 227 | for it in all_image_types.split(" "): |
224 | output_combo.append_text(it) | 228 | chk_cnt = chk_cnt + 1 |
225 | output_combo.connect("changed", self.output_type_changed_cb, handler) | 229 | if chk_cnt % 6 == 0: |
226 | else: | 230 | hbox = gtk.HBox(False, 12) |
227 | output_combo.set_sensitive(False) | 231 | hbox.show() |
228 | output_combo.show() | 232 | pbox.pack_start(hbox, expand=False, fill=False, padding=6) |
229 | hbox.pack_start(output_combo) | 233 | chk = gtk.CheckButton(it) |
234 | if it in self.selected_image_types: | ||
235 | chk.set_active(True) | ||
236 | chk.set_tooltip_text("Build an %s image" % it) | ||
237 | chk.connect("toggled", self.output_type_toggled_cb, handler) | ||
238 | chk.show() | ||
239 | hbox.pack_start(chk, expand=False, fill=False, padding=3) | ||
230 | # BitBake | 240 | # BitBake |
231 | label = gtk.Label() | 241 | label = gtk.Label() |
232 | label.set_markup("<b>BitBake</b>") | 242 | label.set_markup("<b>BitBake</b>") |