* [PATCH 0/5] Hob: bug-fixes
@ 2012-05-21 14:41 Liming An
2012-05-21 14:41 ` [PATCH 1/5] Hob: add '--select a machine--' and '--select a base image--' to GUI Liming An
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Liming An @ 2012-05-21 14:41 UTC (permalink / raw)
To: bitbake-devel
The following changes since commit 2219caa312822cf756b88b07dd70a014404e9cb0:
tune-mips64.inc: Add new tune file for mips64 big-endian (2012-05-21 09:59:04 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib limx/hob-bug-fixes-continue
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=limx/hob-bug-fixes-continue
Liming An (5):
Hob: add '--select a machine--' and '--select a base image--' to GUI
Hob: change the build failure scenario as ui design
Hob: fixed the issue about bug 'running image' workflow and related
view
Hob: fixed the line width of base image description view
Hob: fixed the issue about the 'run image' page should have the
primary bug
bitbake/lib/bb/ui/crumbs/builddetailspage.py | 99 +++++++++++++++++++-
bitbake/lib/bb/ui/crumbs/builder.py | 14 ++-
bitbake/lib/bb/ui/crumbs/hoblistmodel.py | 6 +-
bitbake/lib/bb/ui/crumbs/hobwidget.py | 7 ++
bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py | 45 +++++++---
bitbake/lib/bb/ui/crumbs/imagedetailspage.py | 87 ++++++++++++------
bitbake/lib/bb/ui/crumbs/recipeselectionpage.py | 2 +-
7 files changed, 213 insertions(+), 47 deletions(-)
--
1.7.5.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/5] Hob: add '--select a machine--' and '--select a base image--' to GUI
2012-05-21 14:41 [PATCH 0/5] Hob: bug-fixes Liming An
@ 2012-05-21 14:41 ` Liming An
2012-05-21 14:41 ` [PATCH 2/5] Hob: change the build failure scenario as ui design Liming An
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Liming An @ 2012-05-21 14:41 UTC (permalink / raw)
To: bitbake-devel
[YOCTO #2175]
Signed-off-by: Liming An <limingx.l.an@intel.com>
---
bitbake/lib/bb/ui/crumbs/builder.py | 6 +-
bitbake/lib/bb/ui/crumbs/hoblistmodel.py | 6 +-
bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py | 43 +++++++++++++++-----
bitbake/lib/bb/ui/crumbs/recipeselectionpage.py | 2 +-
4 files changed, 39 insertions(+), 18 deletions(-)
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py
index 42d0f2c..eb60b89 100755
--- a/bitbake/lib/bb/ui/crumbs/builder.py
+++ b/bitbake/lib/bb/ui/crumbs/builder.py
@@ -438,7 +438,7 @@ class Builder(gtk.Window):
toolchain_packages = []
if self.configuration.toolchain_build:
toolchain_packages = self.package_model.get_selected_packages_toolchain()
- if self.configuration.selected_image == self.recipe_model.__dummy_image__:
+ if self.configuration.selected_image == self.recipe_model.__custom_image__:
packages = self.package_model.get_selected_packages()
image = self.hob_image
else:
@@ -752,7 +752,7 @@ class Builder(gtk.Window):
fraction = 1.0
self.parameters.image_names = []
selected_image = self.recipe_model.get_selected_image()
- if selected_image == self.recipe_model.__dummy_image__:
+ if selected_image == self.recipe_model.__custom_image__:
linkname = 'hob-image-' + self.configuration.curr_mach
else:
linkname = selected_image + '-' + self.configuration.curr_mach
@@ -890,7 +890,7 @@ class Builder(gtk.Window):
selected_packages = self.package_model.get_selected_packages() or []
# If no base image and no selected packages don't build anything
- if not (selected_packages or selected_image != self.recipe_model.__dummy_image__):
+ if not (selected_packages or selected_image != self.recipe_model.__custom_image__):
lbl = "<b>No selections made</b>\nYou have not made any selections"
lbl = lbl + " so there isn't anything to bake at this time."
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
diff --git a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py
index 0b54f91..37cee78 100644
--- a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py
+++ b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py
@@ -456,7 +456,7 @@ class RecipeListModel(gtk.ListStore):
"""
(COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_INSTALL, COL_PN, COL_FADE_INC) = range(12)
- __dummy_image__ = "Create your own image"
+ __custom_image__ = "Create your own image"
__gsignals__ = {
"recipe-selection-changed" : (gobject.SIGNAL_RUN_LAST,
@@ -565,14 +565,14 @@ class RecipeListModel(gtk.ListStore):
self.clear()
# dummy image for prompt
- self.set(self.append(), self.COL_NAME, self.__dummy_image__,
+ self.set(self.append(), self.COL_NAME, self.__custom_image__,
self.COL_DESC, "Use the 'View recipes' and 'View packages' " \
"options to select what you want to include " \
"in your image.",
self.COL_LIC, "", self.COL_GROUP, "",
self.COL_DEPS, "", self.COL_BINB, "",
self.COL_TYPE, "image", self.COL_INC, False,
- self.COL_IMG, False, self.COL_INSTALL, "", self.COL_PN, self.__dummy_image__)
+ self.COL_IMG, False, self.COL_INSTALL, "", self.COL_PN, self.__custom_image__)
for item in event_model["pn"]:
name = item
diff --git a/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py b/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
index 95d48b9..d17ea8f 100644
--- a/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
+++ b/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
@@ -33,6 +33,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")
@@ -259,9 +262,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()
@@ -272,13 +281,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
@@ -289,7 +298,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, selected_image):
desc = ""
@@ -309,9 +322,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 = []
@@ -342,32 +361,34 @@ class ImageConfigurationPage (HobPage):
# populate image combo
filter = {RecipeListModel.COL_TYPE : ['image']}
image_model = recipe_model.tree_model(filter)
- active = -1
+ active = 0
cnt = 0
it = image_model.get_iter_first()
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
self.image_combo.append_text(image_name)
if image_name == selected_image:
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()
diff --git a/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py b/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py
index 7c1ecdd..ece37e0 100755
--- a/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py
+++ b/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py
@@ -222,7 +222,7 @@ class RecipeSelectionPage (HobPage):
self.refresh_selection()
if not self.builder.customized:
self.builder.customized = True
- self.builder.configuration.selected_image = self.recipe_model.__dummy_image__
+ self.builder.configuration.selected_image = self.recipe_model.__custom_image__
self.builder.rcppkglist_populated()
self.builder.window_sensitive(True)
--
1.7.5.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/5] Hob: change the build failure scenario as ui design
2012-05-21 14:41 [PATCH 0/5] Hob: bug-fixes Liming An
2012-05-21 14:41 ` [PATCH 1/5] Hob: add '--select a machine--' and '--select a base image--' to GUI Liming An
@ 2012-05-21 14:41 ` Liming An
2012-05-21 14:41 ` [PATCH 3/5] Hob: fixed the issue about bug 'running image' workflow and related view Liming An
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Liming An @ 2012-05-21 14:41 UTC (permalink / raw)
To: bitbake-devel
change the top bar display in build 'issue' page
[YOCTO #2183]
Signed-off-by: Liming An <limingx.l.an@intel.com>
---
bitbake/lib/bb/ui/crumbs/builddetailspage.py | 99 +++++++++++++++++++++++++-
bitbake/lib/bb/ui/crumbs/builder.py | 8 ++
bitbake/lib/bb/ui/crumbs/hobwidget.py | 7 ++
3 files changed, 113 insertions(+), 1 deletions(-)
diff --git a/bitbake/lib/bb/ui/crumbs/builddetailspage.py b/bitbake/lib/bb/ui/crumbs/builddetailspage.py
index c2d5abc..0052b01 100755
--- a/bitbake/lib/bb/ui/crumbs/builddetailspage.py
+++ b/bitbake/lib/bb/ui/crumbs/builddetailspage.py
@@ -24,10 +24,11 @@ import gtk
import pango
import gobject
from bb.ui.crumbs.progressbar import HobProgressBar
-from bb.ui.crumbs.hobwidget import hic, HobNotebook, HobAltButton, HobWarpCellRendererText
+from bb.ui.crumbs.hobwidget import hic, HobNotebook, HobAltButton, HobWarpCellRendererText, HobButton
from bb.ui.crumbs.runningbuild import RunningBuildTreeView
from bb.ui.crumbs.runningbuild import BuildFailureTreeView
from bb.ui.crumbs.hobpages import HobPage
+from bb.ui.crumbs.hobcolor import HobColors
class BuildConfigurationTreeView(gtk.TreeView):
def __init__ (self):
@@ -198,6 +199,87 @@ class BuildDetailsPage (HobPage):
for child in children:
self.remove(child)
+ def update_failures_sum_display(self):
+ num = 0
+ it = self.failure_model.get_iter_first()
+ while it:
+ color = self.failure_model.get_value(it, self.builder.handler.build.model.COL_COLOR)
+ if color == HobColors.ERROR:
+ num += 1
+ it = self.failure_model.iter_next(it)
+
+ return num
+
+ def add_build_fail_top_bar(self, actions):
+ mainly_action = "Edit %s" % actions
+ if 'image' in actions:
+ next_action = ""
+ else:
+ next_action = "Create new image"
+
+ #set to issue page
+ self.notebook.set_page("Issues")
+
+ color = HobColors.ERROR
+ build_fail_top = gtk.EventBox()
+ build_fail_top.set_size_request(-1, 260)
+ build_fail_top.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(color))
+
+ build_fail_tab = gtk.Table(7, 40, True)
+ build_fail_top.add(build_fail_tab)
+
+ icon = gtk.Image()
+ icon_pix_buffer = gtk.gdk.pixbuf_new_from_file(hic.ICON_INDI_ERROR_FILE)
+ icon.set_from_pixbuf(icon_pix_buffer)
+ build_fail_tab.attach(icon, 1, 4, 0, 3)
+
+ label = gtk.Label()
+ label.set_alignment(0.0, 0.5)
+ label.set_markup("<span size='x-large'>%s</span>" % self.title)
+ build_fail_tab.attach(label, 4, 20, 0, 3)
+
+ label = gtk.Label()
+ label.set_alignment(0.0, 0.5)
+ num_of_fails = self.update_failures_sum_display()
+ current_fail, recipe_task_status = self.task_status.get_text().split('\n')
+ label.set_markup(" %d tasks failed, %s, %s" % (num_of_fails, current_fail, recipe_task_status))
+ build_fail_tab.attach(label, 4, 40, 2, 4)
+
+ # create button 'Edit packages'
+ action_button = HobButton(mainly_action)
+ action_button.set_size_request(-1, 49)
+ action_button.connect('clicked', self.failure_main_action_button_clicked_cb, mainly_action)
+ build_fail_tab.attach(action_button, 4, 16, 4, 6)
+
+ if next_action:
+ next_button = HobAltButton(next_action)
+ next_button.set_alignment(0.0, 0.5)
+ next_button.connect('clicked', self.failure_next_action_button_clicked_cb, next_action)
+ build_fail_tab.attach(next_button, 17, 24, 4, 5)
+
+ file_bug_button = HobAltButton('File a bug')
+ file_bug_button.set_alignment(0.0, 0.5)
+ file_bug_button.connect('clicked', self.failure_file_bug_activate_link_cb)
+ build_fail_tab.attach(file_bug_button, 17, 24, 4 + abs(next_action != ""), 6)
+
+ return build_fail_top
+
+ def show_fail_page(self, title, action_names):
+ self._remove_all_widget()
+ self.title = "Hob cannot build your %s" % title
+
+ self.build_fail_bar = self.add_build_fail_top_bar(action_names)
+ self.pack_start(self.build_fail_bar)
+ self.pack_start(self.group_align, expand=True, fill=True)
+
+ self.box_group_area.pack_start(self.vbox, expand=True, fill=True)
+
+ self.vbox.pack_start(self.notebook, expand=True, fill=True)
+
+ self.box_group_area.pack_end(self.button_box, expand=False, fill=False)
+ self.show_all()
+ self.back_button.hide()
+
def show_page(self, step):
self._remove_all_widget()
if step == self.builder.PACKAGE_GENERATING or step == self.builder.FAST_IMAGE_GENERATING:
@@ -251,3 +333,18 @@ class BuildDetailsPage (HobPage):
def show_configurations(self, configurations, params):
self.config_tv.show(configurations, params)
+
+ def failure_main_action_button_clicked_cb(self, button, action):
+ if "Edit recipes" in action:
+ self.builder.show_recipes()
+ elif "Edit packages" in action:
+ self.builder.show_packages()
+ elif "Edit image configuration" in action:
+ self.builder.show_configuration()
+
+ def failure_next_action_button_clicked_cb(self, button, action):
+ if "Create new image" in action:
+ self.builder.initiate_new_build_async()
+
+ def failure_file_bug_activate_link_cb(self, button):
+ button.child.emit('activate-link', "http://bugzilla.yoctoproject.org")
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py
index eb60b89..d10ced6 100755
--- a/bitbake/lib/bb/ui/crumbs/builder.py
+++ b/bitbake/lib/bb/ui/crumbs/builder.py
@@ -778,12 +778,20 @@ class Builder(gtk.Window):
message = "Build stopped: "
fraction = self.build_details_page.progress_bar.get_fraction()
else:
+ fail_to_next_edit = ""
if self.current_step == self.FAST_IMAGE_GENERATING:
+ fail_to_next_edit = "image configuration"
fraction = 0.9
elif self.current_step == self.IMAGE_GENERATING:
+ if self.previous_step == self.FAST_IMAGE_GENERATING:
+ fail_to_next_edit = "image configuration"
+ else:
+ fail_to_next_edit = "packages"
fraction = 1.0
elif self.current_step == self.PACKAGE_GENERATING:
+ fail_to_next_edit = "recipes"
fraction = 1.0
+ self.build_details_page.show_fail_page(fail_to_next_edit.split(' ')[0], fail_to_next_edit)
status = "fail"
message = "Build failed: "
self.build_details_page.update_progress_bar(message, fraction, status)
diff --git a/bitbake/lib/bb/ui/crumbs/hobwidget.py b/bitbake/lib/bb/ui/crumbs/hobwidget.py
index f5997e5..f8e97ad 100644
--- a/bitbake/lib/bb/ui/crumbs/hobwidget.py
+++ b/bitbake/lib/bb/ui/crumbs/hobwidget.py
@@ -566,6 +566,13 @@ class HobNotebook(gtk.Notebook):
def set_search_entry_clear_cb(self, search, icon_pos, event):
self.reset_entry(search)
+ def set_page(self, title):
+ for child in self.tabbar.children:
+ if child["title"] == title:
+ self.tabbar.current_child = child
+ self.tabbar.grab_focus()
+ self.notebook.set_current_page(child["toggled_page"])
+
class HobWarpCellRendererText(gtk.CellRendererText):
def __init__(self, col_number):
gtk.CellRendererText.__init__(self)
--
1.7.5.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/5] Hob: fixed the issue about bug 'running image' workflow and related view
2012-05-21 14:41 [PATCH 0/5] Hob: bug-fixes Liming An
2012-05-21 14:41 ` [PATCH 1/5] Hob: add '--select a machine--' and '--select a base image--' to GUI Liming An
2012-05-21 14:41 ` [PATCH 2/5] Hob: change the build failure scenario as ui design Liming An
@ 2012-05-21 14:41 ` Liming An
2012-05-21 14:41 ` [PATCH 4/5] Hob: fixed the line width of base image description view Liming An
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Liming An @ 2012-05-21 14:41 UTC (permalink / raw)
To: bitbake-devel
[YOCTO #2155]
Signed-off-by: Liming An <limingx.l.an@intel.com>
---
bitbake/lib/bb/ui/crumbs/imagedetailspage.py | 75 ++++++++++++++++++--------
1 files changed, 53 insertions(+), 22 deletions(-)
diff --git a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
index 1cfef80..f517544 100755
--- a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
+++ b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
@@ -32,23 +32,23 @@ from bb.ui.crumbs.hobpages import HobPage
class ImageDetailsPage (HobPage):
__columns__ = [{
- 'col_name' : 'Selected',
- 'col_id' : 2,
- 'col_style': 'radio toggle',
- 'col_min' : 100,
- 'col_max' : 100
- },{
'col_name' : 'Image name',
'col_id' : 0,
'col_style': 'text',
'col_min' : 500,
'col_max' : 500
- }, {
+ },{
'col_name' : 'Image size',
'col_id' : 1,
'col_style': 'text',
'col_min' : 100,
'col_max' : 100
+ },{
+ 'col_name' : 'Select',
+ 'col_id' : 2,
+ 'col_style': 'radio toggle',
+ 'col_min' : 100,
+ 'col_max' : 100
}]
class DetailBox (gtk.EventBox):
@@ -201,46 +201,42 @@ class ImageDetailsPage (HobPage):
self.buttonlist = ["Build new image", "Run image", "Deploy image"]
# Name
- varlist = [""]
- vallist = ["Listed generated image and package files."]
- t = ''
self.image_store.clear()
default_toggled = False
default_image_size = 0
+ num_toggled = 0
i = 0
for image_name in image_names:
image_size = HobPage._size_to_string(os.stat(os.path.join(image_addr, image_name)).st_size)
+ is_toggled = (self.test_type_runnable(image_name) and self.test_mach_runnable(image_name)) \
+ or self.test_deployable(image_name)
+
if not default_toggled:
- default_toggled = (self.test_type_runnable(image_name) and self.test_mach_runnable(image_name)) \
- or self.test_deployable(image_name)
+ default_toggled = is_toggled
if i == (len(image_names) - 1):
default_toggled = True
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, default_toggled)
if default_toggled:
default_image_size = image_size
self.create_bottom_buttons(self.buttonlist, image_name)
- if 'qemu' in image_name:
- t = ' (Selected QEMU items to be as runnable image)'
- else:
- t = ' (Selected Targeted item to be deploy)'
else:
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, False)
i = i + 1
+ num_toggled += is_toggled
- if build_succeeded:
- varlist = ["Name: ", "Directory: ", ". "]
+ if build_succeeded and (num_toggled < 2):
+ varlist = ["Name: ", "Directory: "]
vallist = []
vallist.append(image_name.split('.')[0])
vallist.append(image_addr)
- vallist.append(t)
image_table = None
else:
+ varlist = None
+ vallist = None
image_table = HobViewTable(self.__columns__)
image_table.set_model(self.image_store)
image_table.connect("row-activated", self.row_activated_cb)
- if default_image_size and ('qemu' in image_name):
- t = '\n(Selected QEMU items to be as runnable image, so you need to select prompted kernel to run)'
- vallist[0] += t
+ image_table.connect_group_selection(self.table_selected_cb)
view_files_button = HobAltButton("View files")
view_files_button.connect("clicked", self.view_files_clicked_cb, image_addr)
@@ -328,6 +324,41 @@ class ImageDetailsPage (HobPage):
break
return deployable
+ def table_selected_cb(self, selection):
+ model, paths = selection.get_selected_rows()
+ if (not model) or (not paths):
+ return
+
+ path = paths[0]
+ columnid = 2
+ iter = model.get_iter_first()
+ while iter:
+ rowpath = model.get_path(iter)
+ model[rowpath][columnid] = False
+ iter = model.iter_next(iter)
+
+ model[path][columnid] = True
+ self.refresh_package_detail_box(model[path][1])
+
+ image_name = model[path][0]
+
+ # remove
+ for button_id, button in self.button_ids.items():
+ button.disconnect(button_id)
+ self._remove_all_widget()
+ # repack
+ self.pack_start(self.details_top_buttons, expand=False, fill=False)
+ self.pack_start(self.group_align, expand=True, fill=True)
+ if self.build_result:
+ self.box_group_area.pack_start(self.build_result, expand=False, fill=False)
+ self.box_group_area.pack_start(self.image_detail, expand=True, fill=True)
+ if self.setting_detail:
+ self.box_group_area.pack_start(self.setting_detail, expand=False, fill=False)
+ self.box_group_area.pack_start(self.package_detail, expand=False, fill=False)
+ self.create_bottom_buttons(self.buttonlist, image_name)
+ self.box_group_area.pack_end(self.details_bottom_buttons, expand=False, fill=False)
+ self.show_all()
+
def row_activated_cb(self, table, model, path):
if not model:
return
--
1.7.5.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/5] Hob: fixed the line width of base image description view
2012-05-21 14:41 [PATCH 0/5] Hob: bug-fixes Liming An
` (2 preceding siblings ...)
2012-05-21 14:41 ` [PATCH 3/5] Hob: fixed the issue about bug 'running image' workflow and related view Liming An
@ 2012-05-21 14:41 ` Liming An
2012-05-21 14:41 ` [PATCH 5/5] Hob: fixed the issue about the 'run image' page should have the primary bug Liming An
2012-05-23 10:25 ` [PATCH 0/5] Hob: bug-fixes Richard Purdie
5 siblings, 0 replies; 8+ messages in thread
From: Liming An @ 2012-05-21 14:41 UTC (permalink / raw)
To: bitbake-devel
As ui design, adjusted the line width for each base image description
[YOCTO 2310]
Signed-off-by: Liming An <limingx.l.an@intel.com>
---
bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py b/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
index d17ea8f..391cdc2 100644
--- a/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
+++ b/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
@@ -202,7 +202,7 @@ class ImageConfigurationPage (HobPage):
self.image_desc = gtk.Label()
self.image_desc.set_alignment(0.0, 0.5)
- self.image_desc.set_size_request(400, -1)
+ self.image_desc.set_size_request(360, -1)
self.image_desc.set_justify(gtk.JUSTIFY_LEFT)
self.image_desc.set_line_wrap(True)
--
1.7.5.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5/5] Hob: fixed the issue about the 'run image' page should have the primary bug
2012-05-21 14:41 [PATCH 0/5] Hob: bug-fixes Liming An
` (3 preceding siblings ...)
2012-05-21 14:41 ` [PATCH 4/5] Hob: fixed the line width of base image description view Liming An
@ 2012-05-21 14:41 ` Liming An
2012-05-23 6:09 ` Wang, Shane
2012-05-23 10:25 ` [PATCH 0/5] Hob: bug-fixes Richard Purdie
5 siblings, 1 reply; 8+ messages in thread
From: Liming An @ 2012-05-21 14:41 UTC (permalink / raw)
To: bitbake-devel
issues: when build a image for atom-pc, the output does not include live
image, and 'Save as template' should become the primary action on the screen
[YOCTO 2326]
Signed-off-by: Liming An <limingx.l.an@intel.com>
---
bitbake/lib/bb/ui/crumbs/imagedetailspage.py | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
index f517544..1538376 100755
--- a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
+++ b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
@@ -202,7 +202,7 @@ class ImageDetailsPage (HobPage):
# Name
self.image_store.clear()
- default_toggled = False
+ default_toggled = ""
default_image_size = 0
num_toggled = 0
i = 0
@@ -212,18 +212,20 @@ class ImageDetailsPage (HobPage):
or self.test_deployable(image_name)
if not default_toggled:
- default_toggled = is_toggled
if i == (len(image_names) - 1):
- default_toggled = True
- self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, default_toggled)
- if default_toggled:
+ is_toggled = True
+ self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, is_toggled)
+ if is_toggled:
default_image_size = image_size
- self.create_bottom_buttons(self.buttonlist, image_name)
+ default_toggled = image_name
+
else:
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, False)
i = i + 1
num_toggled += is_toggled
+ self.create_bottom_buttons(self.buttonlist, default_toggled)
+
if build_succeeded and (num_toggled < 2):
varlist = ["Name: ", "Directory: "]
vallist = []
--
1.7.5.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 5/5] Hob: fixed the issue about the 'run image' page should have the primary bug
2012-05-21 14:41 ` [PATCH 5/5] Hob: fixed the issue about the 'run image' page should have the primary bug Liming An
@ 2012-05-23 6:09 ` Wang, Shane
0 siblings, 0 replies; 8+ messages in thread
From: Wang, Shane @ 2012-05-23 6:09 UTC (permalink / raw)
To: An, LimingX L, bitbake-devel@lists.openembedded.org
As we discussed today, the primary button should be orange as well.
--
Shane
Liming An wrote on 2012-05-21:
> issues: when build a image for atom-pc, the output does not include live
> image, and 'Save as template' should become the primary action on the
> screen
>
> [YOCTO 2326]
>
> Signed-off-by: Liming An <limingx.l.an@intel.com>
> ---
> bitbake/lib/bb/ui/crumbs/imagedetailspage.py | 14 ++++++++------
> 1 files changed, 8 insertions(+), 6 deletions(-)
> diff --git a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
> b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py index f517544..1538376
> 100755 --- a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py +++
> b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py @@ -202,7 +202,7 @@ class
> ImageDetailsPage (HobPage):
>
> # Name
> self.image_store.clear()
> - default_toggled = False
> + default_toggled = ""
> default_image_size = 0
> num_toggled = 0
> i = 0
> @@ -212,18 +212,20 @@ class ImageDetailsPage (HobPage):
> or self.test_deployable(image_name)
> if not default_toggled:
> - default_toggled = is_toggled
> if i == (len(image_names) - 1):
> - default_toggled = True
> - self.image_store.set(self.image_store.append(), 0,
> image_name, 1, image_size, 2, default_toggled)
> - if default_toggled:
> + is_toggled = True
> + self.image_store.set(self.image_store.append(), 0,
> image_name, 1, image_size, 2, is_toggled)
> + if is_toggled:
> default_image_size = image_size
> - self.create_bottom_buttons(self.buttonlist,
> image_name) + default_toggled = image_name +
> else:
> self.image_store.set(self.image_store.append(), 0,
> image_name, 1, image_size, 2, False)
> i = i + 1
> num_toggled += is_toggled
> + self.create_bottom_buttons(self.buttonlist, default_toggled)
> +
> if build_succeeded and (num_toggled < 2):
> varlist = ["Name: ", "Directory: "]
> vallist = []
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/5] Hob: bug-fixes
2012-05-21 14:41 [PATCH 0/5] Hob: bug-fixes Liming An
` (4 preceding siblings ...)
2012-05-21 14:41 ` [PATCH 5/5] Hob: fixed the issue about the 'run image' page should have the primary bug Liming An
@ 2012-05-23 10:25 ` Richard Purdie
5 siblings, 0 replies; 8+ messages in thread
From: Richard Purdie @ 2012-05-23 10:25 UTC (permalink / raw)
To: Liming An; +Cc: bitbake-devel
On Mon, 2012-05-21 at 22:41 +0800, Liming An wrote:
> The following changes since commit 2219caa312822cf756b88b07dd70a014404e9cb0:
>
> tune-mips64.inc: Add new tune file for mips64 big-endian (2012-05-21 09:59:04 +0100)
>
> are available in the git repository at:
> git://git.pokylinux.org/poky-contrib limx/hob-bug-fixes-continue
> http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=limx/hob-bug-fixes-continue
>
> Liming An (5):
> Hob: add '--select a machine--' and '--select a base image--' to GUI
> Hob: change the build failure scenario as ui design
> Hob: fixed the issue about bug 'running image' workflow and related
> view
> Hob: fixed the line width of base image description view
> Hob: fixed the issue about the 'run image' page should have the
> primary bug
Merged to master, thanks.
I'm assuming the question from Shane will be addressed in a follow up
patch.
Cheers,
Richard
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-05-23 10:36 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-21 14:41 [PATCH 0/5] Hob: bug-fixes Liming An
2012-05-21 14:41 ` [PATCH 1/5] Hob: add '--select a machine--' and '--select a base image--' to GUI Liming An
2012-05-21 14:41 ` [PATCH 2/5] Hob: change the build failure scenario as ui design Liming An
2012-05-21 14:41 ` [PATCH 3/5] Hob: fixed the issue about bug 'running image' workflow and related view Liming An
2012-05-21 14:41 ` [PATCH 4/5] Hob: fixed the line width of base image description view Liming An
2012-05-21 14:41 ` [PATCH 5/5] Hob: fixed the issue about the 'run image' page should have the primary bug Liming An
2012-05-23 6:09 ` Wang, Shane
2012-05-23 10:25 ` [PATCH 0/5] Hob: bug-fixes Richard Purdie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.