More Hob tweaks
cover More Hob tweaks
Hi all,
Here's some more tweaks for Hob.
The primary/secondary button styling change is similar to the same titled patch I submitted recently only the 'Advanced settings' dialogue retains it's Save/Cancel buttons.
I've also included some layout changes to match design and ensure the widgets are not moved around when re-drawing the layout.
Cheers,
Joshua
The following changes since commit 02d3451b2e0744204a1280f9effe9fd862bb4faf:
Hob: add build status labels in the build details screen to make it more close to the visual design (2012-03-25 12:13:58 +0100)
are available in the git repository at:
git://github.com/incandescant/bitbake josh/hob
https://github.com/incandescant/bitbake/tree/josh/hob
Joshua Lock (4):
lib/bb/ui/crumbs: apply primary/secondary dialogue button styling lib/bb/ui/crumbs: tweak build status display lib/bb/ui/crumbs/imageconfigurationpage: ensure widgets stay
positioned
lib/bb/ui/crumbs/imagedetails: use secondary button style for 'View
files'
lib/bb/ui/crumbs/builddetailspage.py | 9 ++- lib/bb/ui/crumbs/builder.py | 111 +++++++++++++++++---------- lib/bb/ui/crumbs/hig.py | 34 +++++---- lib/bb/ui/crumbs/imageconfigurationpage.py | 20 ++++-- lib/bb/ui/crumbs/imagedetailspage.py | 6 +- 5 files changed, 115 insertions(+), 65 deletions(-)
Signature · 1 line
1.7.7.6
PATCH 1/4 lib/bb/ui/crumbs: apply primary/secondary dialogue button styling
The design calls for primary buttons which are orange and large and secondary buttons which are subtle with pale blue text. This is so that the user is drawn towards the primary action and their use of the application is more guided.
This patch uses HobButton and HobAltButton classes to style all dialogue buttons accordingly.
Fixes [YOCTO #2125]
--- lib/bb/ui/crumbs/builder.py | 108 +++++++++++++++++++++++++++--------------- lib/bb/ui/crumbs/hig.py | 34 ++++++++------ 2 files changed, 89 insertions(+), 53 deletions(-)
lib/bb/ui/crumbs/builder.py +69 -39
@@ -32,7 +32,7 @@ from bb.ui.crumbs.recipeselectionpage import RecipeSelectionPage from bb.ui.crumbs.packageselectionpage import PackageSelectionPage from bb.ui.crumbs.builddetailspage import BuildDetailsPage from bb.ui.crumbs.imagedetailspage import ImageDetailsPage -from bb.ui.crumbs.hobwidget import hwc +from bb.ui.crumbs.hobwidget import hwc, HobButton, HobAltButton from bb.ui.crumbs.hig import CrumbsMessageDialog, ImageSelectionDialog, \ AdvancedSettingDialog, LayerSelectionDialog, \ DeployImageDialog
@@ -444,7 +444,8 @@ class Builder(gtk.Window): lbl = "<b>Error</b>\n" lbl = lbl + "%s\n\n" % msg dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_WARNING) - dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) + button = dialog.add_button("Close", gtk.RESPONSE_OK) + HobButton.style_button(button) response = dialog.run() dialog.destroy() self.handler.clear_busy()
@@ -620,8 +621,10 @@ class Builder(gtk.Window): def destroy_window_cb(self, widget, event): lbl = "<b>Do you really want to exit the Hob image creator?</b>" dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO) - dialog.add_button("Keep using Hob", gtk.RESPONSE_NO) - dialog.add_button("Exit Hob", gtk.RESPONSE_YES) + button = dialog.add_button("Cancel", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Exit Hob", gtk.RESPONSE_YES) + HobButton.style_button(button) dialog.set_default_response(gtk.RESPONSE_YES) response = dialog.run() dialog.destroy()
@@ -637,7 +640,8 @@ class Builder(gtk.Window): 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) - dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) + button = dialog.add_button("Close", gtk.RESPONSE_OK) + HobButton.style_button(button) dialog.run() dialog.destroy() return
@@ -649,7 +653,8 @@ class Builder(gtk.Window): 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) - dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) + button = dialog.add_button("Close", gtk.RESPONSE_OK) + HobButton.style_button(button) dialog.run() dialog.destroy() return
@@ -664,7 +669,8 @@ class Builder(gtk.Window): 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) - dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) + button = dialog.add_button("Close", gtk.RESPONSE_OK) + HobButton.style_button(button) dialog.run() dialog.destroy() return
@@ -684,8 +690,9 @@ class Builder(gtk.Window): parent = self, flags = gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT - | gtk.DIALOG_NO_SEPARATOR, - buttons = (gtk.STOCK_CLOSE, gtk.RESPONSE_YES)) + | gtk.DIALOG_NO_SEPARATOR) + button = dialog.add_button("Close", gtk.RESPONSE_YES) + HobButton.style_button(button) response = dialog.run() if response == gtk.RESPONSE_YES: self.configuration.layers = dialog.layers
@@ -696,9 +703,11 @@ class Builder(gtk.Window): def show_load_template_dialog(self): dialog = gtk.FileChooserDialog("Load Template Files", self, - gtk.FILE_CHOOSER_ACTION_OPEN, - (gtk.STOCK_CANCEL, gtk.RESPONSE_NO, - gtk.STOCK_OPEN, gtk.RESPONSE_YES)) + gtk.FILE_CHOOSER_ACTION_OPEN) + button = dialog.add_button("Cancel", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Open", gtk.RESPONSE_YES) + HobButton.style_button(button) filter = gtk.FileFilter() filter.set_name("Hob Files") filter.add_pattern("*.hob")
@@ -712,9 +721,11 @@ class Builder(gtk.Window): def show_save_template_dialog(self): dialog = gtk.FileChooserDialog("Save Template Files", self, - gtk.FILE_CHOOSER_ACTION_SAVE, - (gtk.STOCK_CANCEL, gtk.RESPONSE_NO, - gtk.STOCK_SAVE, gtk.RESPONSE_YES)) + gtk.FILE_CHOOSER_ACTION_SAVE) + button = dialog.add_button("Cancel", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Save", gtk.RESPONSE_YES) + HobButton.style_button(button) dialog.set_current_name("hob") response = dialog.run() if response == gtk.RESPONSE_YES:
@@ -725,15 +736,18 @@ class Builder(gtk.Window): def show_load_my_images_dialog(self): dialog = ImageSelectionDialog(self.parameters.image_addr, self.parameters.image_types, "Open My Images", self, - gtk.FILE_CHOOSER_ACTION_SAVE, - (gtk.STOCK_CANCEL, gtk.RESPONSE_NO, - gtk.STOCK_OPEN, gtk.RESPONSE_YES)) + gtk.FILE_CHOOSER_ACTION_SAVE) + button = dialog.add_button("Cancel", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Open", gtk.RESPONSE_YES) + HobButton.style_button(button) response = dialog.run() if response == gtk.RESPONSE_YES: if not dialog.image_names: lbl = "<b>No selections made</b>\nYou have not made any selections" crumbs_dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO) - crumbs_dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) + button = crumbs_dialog.add_button("Close", gtk.RESPONSE_OK) + HobButton.style_button(button) crumbs_dialog.run() crumbs_dialog.destroy() dialog.destroy()
@@ -756,9 +770,11 @@ class Builder(gtk.Window): parent = self, flags = gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT - | gtk.DIALOG_NO_SEPARATOR, - buttons = (gtk.STOCK_CANCEL, gtk.RESPONSE_NO, - "Save", gtk.RESPONSE_YES)) + | gtk.DIALOG_NO_SEPARATOR) + button = dialog.add_button("Cancel", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Save", gtk.RESPONSE_YES) + HobButton.style_button(button) response = dialog.run() if response == gtk.RESPONSE_YES: self.configuration = dialog.configuration
@@ -774,7 +790,8 @@ class Builder(gtk.Window): if not image_name: lbl = "<b>Please select an image to deploy.</b>" dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO) - dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) + button = dialog.add_button("Close", gtk.RESPONSE_OK) + HobButton.style_button(button) dialog.run() dialog.destroy() return
@@ -785,9 +802,11 @@ class Builder(gtk.Window): parent = self, flags = gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT - | gtk.DIALOG_NO_SEPARATOR, - buttons = ("Close", gtk.RESPONSE_NO, - "Make usb image", gtk.RESPONSE_YES)) + | gtk.DIALOG_NO_SEPARATOR) + button = dialog.add_button("Close", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Make usb image", gtk.RESPONSE_YES) + HobButton.style_button(button) response = dialog.run() dialog.destroy()
@@ -795,15 +814,18 @@ class Builder(gtk.Window): if not image_name: lbl = "<b>Please select an image to launch in QEMU.</b>" dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO) - dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) + button = dialog.add_button("Close", gtk.RESPONSE_OK) + HobButton.style_button(button) dialog.run() dialog.destroy() return dialog = gtk.FileChooserDialog("Load Kernel Files", self, - gtk.FILE_CHOOSER_ACTION_SAVE, - (gtk.STOCK_CANCEL, gtk.RESPONSE_NO, - gtk.STOCK_OPEN, gtk.RESPONSE_YES)) + gtk.FILE_CHOOSER_ACTION_SAVE) + button = dialog.add_button("Cancel", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Open", gtk.RESPONSE_YES) + HobButton.style_button(button) filter = gtk.FileFilter() filter.set_name("Kernel Files") filter.add_pattern("*.bin")
@@ -835,7 +857,8 @@ class Builder(gtk.Window): lbl = lbl + "source environment path:" + source_env_path + "\n" lbl = lbl + "tmp path: " + tmp_path + "." dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO) - dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) + button = dialog.add_button("Close", gtk.RESPONSE_OK) + HobButton.style_button(button) dialog.run() dialog.destroy()
@@ -843,10 +866,12 @@ class Builder(gtk.Window): _, selected_recipes = self.recipe_model.get_selected_recipes() if selected_recipes and ask: lbl = "<b>Package list may be incomplete!</b>\nDo you want to build selected recipes" - lbl = lbl + " to get a full list (Yes) or just view the existing packages (No)?" + lbl = lbl + " to get a full list or just view the existing packages?" dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO) - dialog.add_button(gtk.STOCK_NO, gtk.RESPONSE_NO) - dialog.add_button(gtk.STOCK_YES, gtk.RESPONSE_YES) + button = dialog.add_button("View packages", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Build packages", gtk.RESPONSE_YES) + HobButton.style_button(button) dialog.set_default_response(gtk.RESPONSE_YES) response = dialog.run() dialog.destroy()
@@ -879,8 +904,10 @@ class Builder(gtk.Window): lbl = lbl + " well leave your build directory in an unusable state" lbl = lbl + " that requires manual steps to fix.\n" dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_WARNING) - dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) - dialog.add_button("Force Stop", gtk.RESPONSE_YES) + button = dialog.add_button("Cancel", gtk.RESPONSE_CANCEL) + HobAltButton.style_button(button) + button = dialog.add_button("Force Stop", gtk.RESPONSE_YES) + HobButton.style_button(button) else: lbl = "<b>Stop build?</b>\n\nAre you sure you want to stop this" lbl = lbl + " build?\n\n'Force Stop' will stop the build as quickly as"
@@ -891,9 +918,12 @@ class Builder(gtk.Window): lbl = lbl + " lengthy compilation phase is in progress this may take" lbl = lbl + " some time." dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_WARNING) - dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) - dialog.add_button("Stop", gtk.RESPONSE_OK) - dialog.add_button("Force Stop", gtk.RESPONSE_YES) + button = dialog.add_button("Cancel", gtk.RESPONSE_CANCEL) + HobAltButton.style_button(button) + button = dialog.add_button("Stop", gtk.RESPONSE_OK) + HobAltButton.style_button(button) + button = dialog.add_button("Force Stop", gtk.RESPONSE_YES) + HobButton.style_button(button) response = dialog.run() dialog.destroy() if response != gtk.RESPONSE_CANCEL:
lib/bb/ui/crumbs/hig.py +20 -14
@@ -28,7 +28,7 @@ import re import subprocess import shlex from bb.ui.crumbs.hobcolor import HobColors -from bb.ui.crumbs.hobwidget import hcc, hic, HobViewTable, HobInfoButton +from bb.ui.crumbs.hobwidget import hcc, hic, HobViewTable, HobInfoButton, HobButton, HobAltButton from bb.ui.crumbs.progressbar import HobProgressBar """
@@ -137,9 +137,11 @@ class AdvancedSettingDialog (CrumbsDialog): def entry_widget_select_path_cb(self, action, parent, entry): dialog = gtk.FileChooserDialog("", parent, - gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, - (gtk.STOCK_CANCEL, gtk.RESPONSE_NO, - gtk.STOCK_OPEN, gtk.RESPONSE_YES)) + gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) + button = dialog.add_button("Cancel", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Open", gtk.RESPONSE_YES) + HobButton.style_button(button) response = dialog.run() if response == gtk.RESPONSE_YES: path = dialog.get_filename()
@@ -307,7 +309,7 @@ class AdvancedSettingDialog (CrumbsDialog): def __init__(self, title, configuration, all_image_types, all_package_formats, all_distros, all_sdk_machines, - max_threads, parent, flags, buttons): + max_threads, parent, flags, buttons=None): super(AdvancedSettingDialog, self).__init__(title, parent, flags, buttons) # class members from other objects
@@ -563,7 +565,7 @@ class DeployImageDialog (CrumbsDialog): __dummy_usb__ = "--select a usb drive--" - def __init__(self, title, image_path, parent, flags, buttons): + def __init__(self, title, image_path, parent, flags, buttons=None): super(DeployImageDialog, self).__init__(title, parent, flags, buttons) self.image_path = image_path
@@ -713,9 +715,11 @@ class LayerSelectionDialog (CrumbsDialog): def layer_widget_add_clicked_cb(self, action, layer_store, parent): dialog = gtk.FileChooserDialog("Add new layer", parent, - gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, - (gtk.STOCK_CANCEL, gtk.RESPONSE_NO, - gtk.STOCK_OPEN, gtk.RESPONSE_YES)) + gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) + button = dialog.add_button("Cancel", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Open", gtk.RESPONSE_YES) + HobButton.style_button(button) label = gtk.Label("Select the layer you wish to add") label.show() dialog.set_extra_widget(label)
@@ -827,7 +831,7 @@ class LayerSelectionDialog (CrumbsDialog): def add_leave_cb(self, button, event): self.im.set_from_file(hic.ICON_INDI_ADD_FILE) - def __init__(self, title, layers, all_layers, parent, flags, buttons): + def __init__(self, title, layers, all_layers, parent, flags, buttons=None): super(LayerSelectionDialog, self).__init__(title, parent, flags, buttons) # class members from other objects
@@ -921,7 +925,7 @@ class ImageSelectionDialog (CrumbsDialog): }] - def __init__(self, image_folder, image_types, title, parent, flags, buttons): + def __init__(self, image_folder, image_types, title, parent, flags, buttons=None): super(ImageSelectionDialog, self).__init__(title, parent, flags, buttons) self.connect("response", self.response_cb)
@@ -975,9 +979,11 @@ class ImageSelectionDialog (CrumbsDialog): def select_path_cb(self, action, parent, entry): dialog = gtk.FileChooserDialog("", parent, - gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, - (gtk.STOCK_CANCEL, gtk.RESPONSE_NO, - gtk.STOCK_OPEN, gtk.RESPONSE_YES)) + gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) + button = dialog.add_button("Cancel", gtk.RESPONSE_NO) + HobAltButton.style_button(button) + button = dialog.add_button("Open", gtk.RESPONSE_YES) + HobButton.style_button(button) response = dialog.run() if response == gtk.RESPONSE_YES: path = dialog.get_filename()
Signature · 1 line
1.7.7.6
PATCH 2/4 lib/bb/ui/crumbs: tweak build status display
In reply to Joshua LockUse two lines to display the active task and recipe, per visual design.
--- lib/bb/ui/crumbs/builddetailspage.py | 9 ++++++--- lib/bb/ui/crumbs/builder.py | 3 +-- 2 files changed, 7 insertions(+), 5 deletions(-)
lib/bb/ui/crumbs/builddetailspage.py +6 -3
@@ -47,7 +47,7 @@ class BuildDetailsPage (HobPage): self.vbox = gtk.VBox(False, 12) self.progress_box = gtk.VBox(False, 12) - self.task_status = gtk.Label() + self.task_status = gtk.Label("\n") # to ensure layout is correct self.task_status.set_alignment(0.0, 0.5) self.progress_box.pack_start(self.task_status, expand=False, fill=False) self.progress_hbox = gtk.HBox(False, 6)
@@ -89,11 +89,14 @@ class BuildDetailsPage (HobPage): self.back_button.connect("clicked", self.back_button_clicked_cb) self.button_box.pack_start(self.back_button, expand=False, fill=False) - def update_build_status(self, tsk_msg): + def update_build_status(self, current, total, task): + recipe_path, recipe_task = task.split(", ") + recipe = os.path.basename(recipe_path).rstrip(".bb") + tsk_msg = "<b>Running task %s of %s:</b> %s\n<b>Recipe:</b> %s" % (current, total, recipe_task, recipe) self.task_status.set_markup(tsk_msg) def reset_build_status(self): - self.task_status.set_markup("") + self.task_status.set_markup("\n") # to ensure layout is correct def show_issues(self): self.num_of_issues += 1
lib/bb/ui/crumbs/builder.py +1 -2
@@ -612,8 +612,7 @@ class Builder(gtk.Window): elif message["eventname"] == "runQueueTaskStarted": fraction = 0.2 + 0.8 * fraction self.build_details_page.update_progress_bar(title + ": ", fraction) - self.build_details_page.update_build_status( - "<span weight=\'bold\'>Running task %s of %s:</span> %s" % (message["current"], message["total"], message["task"])) + self.build_details_page.update_build_status(message["current"], message["total"], message["task"]) def handler_build_failure_cb(self, running_build): self.build_details_page.show_issues()
Signature · 1 line
1.7.7.6
PATCH 3/4 lib/bb/ui/crumbs/imageconfigurationpage: ensure widgets stay positioned
In reply to Joshua LockTweak the table layout and insert some dummy widgets when the buttons aren't drawn such that when the buttons do get drawn the existing widgets don't all jump up.
--- lib/bb/ui/crumbs/imageconfigurationpage.py | 20 ++++++++++++++------ 1 files changed, 14 insertions(+), 6 deletions(-)
lib/bb/ui/crumbs/imageconfigurationpage.py +14 -6
@@ -88,8 +88,16 @@ class ImageConfigurationPage (HobPage): self.pack_start(self.group_align, expand=True, fill=True) self.box_group_area.pack_start(self.gtable, expand=True, fill=True) - if pack_config_build_button == True: + if pack_config_build_button: self.box_group_area.pack_end(self.config_build_button, expand=False, fill=False) + else: + box = gtk.HBox(False, 6) + box.show() + subbox = gtk.HBox(False, 0) + subbox.set_size_request(205, 49) + subbox.show() + box.add(subbox) + self.box_group_area.pack_end(box, False, False) def show_machine(self): self.progress_bar.reset()
@@ -209,14 +217,14 @@ class ImageConfigurationPage (HobPage): def set_config_baseimg_layout(self): self.gtable.attach(self.image_title, 0, 40, 13, 17) - self.gtable.attach(self.image_title_desc, 0, 40, 17, 22) - self.gtable.attach(self.image_combo, 0, 12, 22, 25) - self.gtable.attach(self.image_desc, 14, 38, 22, 27) + self.gtable.attach(self.image_title_desc, 0, 40, 18, 23) + self.gtable.attach(self.image_combo, 0, 12, 24, 27) + self.gtable.attach(self.image_desc, 14, 38, 24, 29) self.gtable.attach(self.image_separator, 0, 40, 35, 36) def set_rcppkg_layout(self): - self.gtable.attach(self.view_recipes_button, 0, 20, 27, 32) - self.gtable.attach(self.view_packages_button, 20, 40, 27, 32) + self.gtable.attach(self.view_recipes_button, 0, 20, 30, 35) + self.gtable.attach(self.view_packages_button, 20, 40, 30, 35) def create_config_build_button(self): # Create the "Build packages" and "Just bake" buttons at the bottom
Signature · 1 line
1.7.7.6
PATCH 4/4 lib/bb/ui/crumbs/imagedetails: use secondary button style for 'View files'
In reply to Joshua LockUse HobAltButton, rather than gtk.LinkButton, for the 'View files' button.
Use xdg-open to display the folders contents.
--- lib/bb/ui/crumbs/imagedetailspage.py | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
lib/bb/ui/crumbs/imagedetailspage.py +5 -1
@@ -185,7 +185,8 @@ class ImageDetailsPage (HobPage): image_table.set_model(self.image_store) image_size = self._size_to_string(os.stat(os.path.join(image_addr, image_names[0])).st_size) image_table.connect("toggled", self.toggled_cb) - view_files_button = gtk.LinkButton("file://%s" % image_addr, "View files") + view_files_button = HobAltButton("View files") + view_files_button.connect("clicked", self.view_files_clicked_cb, image_addr) self.box_group_area.pack_start(self.DetailBox(widget=image_table, button=view_files_button), expand=True, fill=True) # Machine, Base image and Layers
@@ -239,6 +240,9 @@ class ImageDetailsPage (HobPage): self.show_all() + def view_files_clicked_cb(self, button, image_addr): + os.system("xdg-open /%s" % image_addr) + def refresh_package_detail_box(self, image_size): self.package_detail.update_line_widgets("Total image size: ", image_size)
Signature · 1 line
1.7.7.6
ACK.
But I also persist in my opinion for the fix that there would be only one button "Close" for layer dialog;-)
--
Shane
Joshua Lock wrote on 2012-03-27:
Quoted 35 lines
Hi all,
Here's some more tweaks for Hob.
The primary/secondary button styling change is similar to the same titled patch I submitted recently only the 'Advanced settings' dialogue retains it's Save/Cancel buttons.
I've also included some layout changes to match design and ensure the widgets are not moved around when re-drawing the layout.
Cheers,
JoshuaThe following changes since commit
02d3451b2e0744204a1280f9effe9fd862bb4faf:Hob: add build status labels in the build details screen to make it more
close to the visual design (2012-03-25 12:13:58 +0100)are available in the git repository at:
git://github.com/incandescant/bitbakejosh/hob
https://github.com/incandescant/bitbake/tree/josh/hob
Joshua Lock (4):
lib/bb/ui/crumbs: apply primary/secondary dialogue button stylinglib/bb/ui/crumbs: tweak build status displaylib/bb/ui/crumbs/imageconfigurationpage: ensure widgets stay
positionedlib/bb/ui/crumbs/imagedetails: use secondary button style for 'View files'lib/bb/ui/crumbs/builddetailspage.py | 9 ++- lib/bb/ui/crumbs/builder.py | 111 +++++++++++++++++---------- lib/bb/ui/crumbs/hig.py | 34 +++++---- lib/bb/ui/crumbs/imageconfigurationpage.py | 20++++--
lib/bb/ui/crumbs/imagedetailspage.py| 6 +- 5 files
changed, 115 insertions(+), 65 deletions(-)
Quoted 3 lines · Shane
ACK.
But I also persist in my opinion for the fix that there would be only one button "Close" for layer dialog;-)
You mean the using Cancel/Save on the layer dialogue? It seems there's a consensus for that approach and I'm planning on submitting a follow on.
I'm hoping to only submit small patches with minor tweaks now that we're in the stabilisation phase and the dialogue buttons patch was getting large enough that I would like to see it merged asap and not have to churn on it any more.
Thanks for the ack, expect more patches in a few hours.
Cheers,
Joshua
Signature · 3 lines
Joshua '贾詡' Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology CentreJoshua Lock wrote on 2012-03-28:
Quoted 8 lines · Shane
Quoted 3 lines
ACK.
But I also persist in my opinion for the fix that there would be only one
button "Close" for layer dialog;-)
You mean the using Cancel/Save on the layer dialogue? It seems there's a consensus for that approach and I'm planning on submitting a follow on.
Yes. Thank you for explanations. That is OK with me.
Quoted 10 lines
I'm hoping to only submit small patches with minor tweaks now that we're in the stabilisation phase and the dialogue buttons patch was getting large enough that I would like to see it merged asap and not have to churn on it any more.
Thanks for the ack, expect more patches in a few hours.
Cheers,
Joshua
--
Shane