diff options
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/hig.py')
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/hig.py | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/hig.py b/bitbake/lib/bb/ui/crumbs/hig.py index 89dfe03608..8f4f7cdf04 100644 --- a/bitbake/lib/bb/ui/crumbs/hig.py +++ b/bitbake/lib/bb/ui/crumbs/hig.py | |||
@@ -28,7 +28,7 @@ import re | |||
28 | import subprocess | 28 | import subprocess |
29 | import shlex | 29 | import shlex |
30 | from bb.ui.crumbs.hobcolor import HobColors | 30 | from bb.ui.crumbs.hobcolor import HobColors |
31 | from bb.ui.crumbs.hobwidget import HobWidget | 31 | from bb.ui.crumbs.hobwidget import HobWidget, HobViewTable |
32 | from bb.ui.crumbs.progressbar import HobProgressBar | 32 | from bb.ui.crumbs.progressbar import HobProgressBar |
33 | 33 | ||
34 | """ | 34 | """ |
@@ -561,6 +561,21 @@ class LayerSelectionDialog (gtk.Dialog): | |||
561 | 561 | ||
562 | class ImageSelectionDialog (gtk.Dialog): | 562 | class ImageSelectionDialog (gtk.Dialog): |
563 | 563 | ||
564 | __columns__ = [{ | ||
565 | 'col_name' : 'Image name', | ||
566 | 'col_id' : 0, | ||
567 | 'col_style': 'text', | ||
568 | 'col_min' : 400, | ||
569 | 'col_max' : 400 | ||
570 | }, { | ||
571 | 'col_name' : 'Select', | ||
572 | 'col_id' : 1, | ||
573 | 'col_style': 'radio toggle', | ||
574 | 'col_min' : 160, | ||
575 | 'col_max' : 160 | ||
576 | }] | ||
577 | |||
578 | |||
564 | def __init__(self, image_folder, image_types, title, parent, flags, buttons): | 579 | def __init__(self, image_folder, image_types, title, parent, flags, buttons): |
565 | super(ImageSelectionDialog, self).__init__(title, parent, flags, buttons) | 580 | super(ImageSelectionDialog, self).__init__(title, parent, flags, buttons) |
566 | self.connect("response", self.response_cb) | 581 | self.connect("response", self.response_cb) |
@@ -596,11 +611,25 @@ class ImageSelectionDialog (gtk.Dialog): | |||
596 | open_button.connect("clicked", self.select_path_cb, self, entry) | 611 | open_button.connect("clicked", self.select_path_cb, self, entry) |
597 | table.attach(open_button, 9, 10, 0, 1) | 612 | table.attach(open_button, 9, 10, 0, 1) |
598 | 613 | ||
599 | imgtv_widget, self.imgsel_tv = HobWidget.gen_imgtv_widget(400, 160) | 614 | self.image_table = HobViewTable(self.__columns__) |
600 | self.vbox.pack_start(imgtv_widget, expand=True, fill=True) | 615 | self.image_table.connect("toggled", self.toggled_cb) |
616 | self.vbox.pack_start(self.image_table, expand=True, fill=True) | ||
601 | 617 | ||
602 | self.show_all() | 618 | self.show_all() |
603 | 619 | ||
620 | def toggled_cb(self, table, cell, path, columnid, tree): | ||
621 | model = tree.get_model() | ||
622 | if not model: | ||
623 | return | ||
624 | iter = model.get_iter_first() | ||
625 | while iter: | ||
626 | rowpath = model.get_path(iter) | ||
627 | model[rowpath][columnid] = False | ||
628 | iter = model.iter_next(iter) | ||
629 | |||
630 | model[path][columnid] = True | ||
631 | |||
632 | |||
604 | def select_path_cb(self, action, parent, entry): | 633 | def select_path_cb(self, action, parent, entry): |
605 | dialog = gtk.FileChooserDialog("", parent, | 634 | dialog = gtk.FileChooserDialog("", parent, |
606 | gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, | 635 | gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, |
@@ -627,7 +656,7 @@ class ImageSelectionDialog (gtk.Dialog): | |||
627 | for image in imageset: | 656 | for image in imageset: |
628 | self.image_store.set(self.image_store.append(), 0, image, 1, False) | 657 | self.image_store.set(self.image_store.append(), 0, image, 1, False) |
629 | 658 | ||
630 | self.imgsel_tv.set_model(self.image_store) | 659 | self.image_table.set_model(self.image_store) |
631 | 660 | ||
632 | def response_cb(self, dialog, response_id): | 661 | def response_cb(self, dialog, response_id): |
633 | self.image_names = [] | 662 | self.image_names = [] |