aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
diff options
context:
space:
mode:
authorLiming An <limingx.l.an@intel.com>2012-05-21 22:41:20 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-22 14:56:17 +0100
commit39a9267dee0a0ee4d87ed51d4a0272549c462b02 (patch)
tree225d38aa8b79fc8245dc6d559fcd70db8918ee94 /bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
parent532f96ddcc2e3641db25b08d4ca93ce4d196a984 (diff)
downloadopenembedded-core-contrib-39a9267dee0a0ee4d87ed51d4a0272549c462b02.tar.gz
Hob: add '--select a machine--' and '--select a base image--' to GUI
[YOCTO #2175] (Bitbake rev: 2729729012f035043fedc5098be2ec12b761166d) Signed-off-by: Liming An <limingx.l.an@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py')
-rw-r--r--bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py43
1 files changed, 32 insertions, 11 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py b/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
index c33474bb95..931e55b2ad 100644
--- a/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
+++ b/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
@@ -34,6 +34,9 @@ from bb.ui.crumbs.hobpages import HobPage
#
class ImageConfigurationPage (HobPage):
+ __dummy_machine__ = "--select a machine--"
+ __dummy_image__ = "--select a base image--"
+
def __init__(self, builder):
super(ImageConfigurationPage, self).__init__(builder, "Image configuration")
@@ -260,9 +263,15 @@ class ImageConfigurationPage (HobPage):
def machine_combo_changed_cb(self, machine_combo):
combo_item = machine_combo.get_active_text()
- if not combo_item:
+ if not combo_item or combo_item == self.__dummy_machine__:
return
+ # remove __dummy_machine__ item from the store list after first user selection
+ # because it is no longer valid
+ combo_store = machine_combo.get_model()
+ if len(combo_store) and (combo_store[0][0] == self.__dummy_machine__):
+ machine_combo.remove_text(0)
+
self.builder.configuration.curr_mach = combo_item
if self.machine_combo_changed_by_manual:
self.builder.configuration.clear_selection()
@@ -273,13 +282,13 @@ class ImageConfigurationPage (HobPage):
self.builder.populate_recipe_package_info_async()
def update_machine_combo(self):
- all_machines = self.builder.parameters.all_machines
+ all_machines = [self.__dummy_machine__] + self.builder.parameters.all_machines
model = self.machine_combo.get_model()
model.clear()
for machine in all_machines:
self.machine_combo.append_text(machine)
- self.machine_combo.set_active(-1)
+ self.machine_combo.set_active(0)
def switch_machine_combo(self):
self.machine_combo_changed_by_manual = False
@@ -290,7 +299,11 @@ class ImageConfigurationPage (HobPage):
self.machine_combo.set_active(active)
return
active += 1
- self.machine_combo.set_active(-1)
+
+ if model[0][0] != self.__dummy_machine__:
+ self.machine_combo.insert_text(0, self.__dummy_machine__)
+
+ self.machine_combo.set_active(0)
def update_image_desc(self):
desc = ""
@@ -311,9 +324,15 @@ class ImageConfigurationPage (HobPage):
def image_combo_changed_cb(self, combo):
self.builder.window_sensitive(False)
selected_image = self.image_combo.get_active_text()
- if not selected_image:
+ if not selected_image or (selected_image == self.__dummy_image__):
return
+ # remove __dummy_image__ item from the store list after first user selection
+ # because it is no longer valid
+ combo_store = combo.get_model()
+ if len(combo_store) and (combo_store[0][0] == self.__dummy_image__):
+ combo.remove_text(0)
+
self.builder.customized = False
selected_recipes = []
@@ -344,7 +363,7 @@ class ImageConfigurationPage (HobPage):
# populate image combo
filter = {RecipeListModel.COL_TYPE : ['image']}
image_model = recipe_model.tree_model(filter)
- active = -1
+ active = 0
cnt = 0
white_pattern = []
@@ -361,12 +380,14 @@ class ImageConfigurationPage (HobPage):
self._image_combo_disconnect_signal()
model = self.image_combo.get_model()
model.clear()
+ # Set a indicator text to combo store when first open
+ self.image_combo.append_text(self.__dummy_image__)
# append and set active
while it:
path = image_model.get_path(it)
it = image_model.iter_next(it)
image_name = image_model[path][recipe_model.COL_NAME]
- if image_name == self.builder.recipe_model.__dummy_image__:
+ if image_name == self.builder.recipe_model.__custom_image__:
continue
if black_pattern:
@@ -390,14 +411,14 @@ class ImageConfigurationPage (HobPage):
active = cnt
cnt = cnt + 1
- self.image_combo.append_text(self.builder.recipe_model.__dummy_image__)
- if selected_image == self.builder.recipe_model.__dummy_image__:
+ self.image_combo.append_text(self.builder.recipe_model.__custom_image__)
+ if selected_image == self.builder.recipe_model.__custom_image__:
active = cnt
- self.image_combo.set_active(-1)
+ self.image_combo.set_active(0)
self.image_combo.set_active(active)
- if active != -1:
+ if active != 0:
self.show_baseimg_selected()
self._image_combo_connect_signal()