* [PATCH 0/6] Hob tweaks
@ 2012-02-25 1:34 Joshua Lock
2012-02-25 1:34 ` [PATCH 1/6] crumbs: Factor common dialogue configuration out Joshua Lock
` (6 more replies)
0 siblings, 7 replies; 10+ messages in thread
From: Joshua Lock @ 2012-02-25 1:34 UTC (permalink / raw)
To: bitbake-devel
Here's a first pass of tweaks for the Hob GUI based on a brief interaction with the
landing page of the GUI. It's by no means a perfect set of changes, my HIG related
tweaks are based on memory and examples in the code that remains from Hob v1.
If nothing else the button ordering will need fixing fairly soonish as regular Linux
Gtk+ desktop users like myself will soon start clicking the wrong buttons due to the
inverted order.
Cheers,
Joshua
CC: Dongxiao Xu <dongxiao.xu@intel.com>
The following changes since commit c7486a09310fe63b1aa1b7b0bb9450f306b6093b:
bitbake/cooker: terminate when errors found in layer configuration (2012-02-24 23:30:16 +0000)
are available in the git repository at:
git://github.com/incandescant/bitbake josh/hob
https://github.com/incandescant/bitbake/tree/josh/hob
Joshua Lock (6):
crumbs: Factor common dialogue configuration out
crumbs/builder: use the name Hob consistently
crumbs: move towards more standard dialogue spacing
crumbs: fix button order in several dialogues
hig: try to avoid setting explicit dialogue sizes
crumbs/hig: tweak UI and layout of LayerSelectionDialog
lib/bb/ui/crumbs/builder.py | 56 +++++++++++-----------
lib/bb/ui/crumbs/hig.py | 102 +++++++++++++++++++---------------------
lib/bb/ui/crumbs/hobwidget.py | 12 ++--
3 files changed, 82 insertions(+), 88 deletions(-)
--
1.7.7.6
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/6] crumbs: Factor common dialogue configuration out
2012-02-25 1:34 [PATCH 0/6] Hob tweaks Joshua Lock
@ 2012-02-25 1:34 ` Joshua Lock
2012-02-25 1:34 ` [PATCH 2/6] crumbs/builder: use the name Hob consistently Joshua Lock
` (5 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Joshua Lock @ 2012-02-25 1:34 UTC (permalink / raw)
To: bitbake-devel
Factor out the base dialogue configuration into CrumbsDialog and create a
new CrumbsMessageDialog which acts as the CrumbsDialog did to handle
dialogues with buttons.
Adopt CrumbsMessageDialog wherever CrumbsDialog was used.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/ui/crumbs/builder.py | 28 ++++++++++++++--------------
lib/bb/ui/crumbs/hig.py | 17 +++++++++++++++--
lib/bb/ui/crumbs/hobwidget.py | 2 +-
3 files changed, 30 insertions(+), 17 deletions(-)
diff --git a/lib/bb/ui/crumbs/builder.py b/lib/bb/ui/crumbs/builder.py
index 0071673..b52ba04 100755
--- a/lib/bb/ui/crumbs/builder.py
+++ b/lib/bb/ui/crumbs/builder.py
@@ -33,7 +33,7 @@ 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.hig import CrumbsDialog, BinbDialog, \
+from bb.ui.crumbs.hig import CrumbsMessageDialog, BinbDialog, \
AdvancedSettingDialog, LayerSelectionDialog, \
DeployImageDialog, ImageSelectionDialog
@@ -234,7 +234,7 @@ class Builder(gtk.Window):
else:
lbl = "<b>Screen dimension mismatched</b>\nfor better usability and visual effects,"
lbl = lbl + " the screen dimension should be 1024x768 or above."
- dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
+ dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
@@ -441,7 +441,7 @@ class Builder(gtk.Window):
def handler_command_failed_cb(self, handler, msg):
lbl = "<b>Error</b>\n"
lbl = lbl + "%s\n\n" % msg
- dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
+ dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
response = dialog.run()
dialog.destroy()
@@ -588,7 +588,7 @@ 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 = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
+ dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_YES, gtk.RESPONSE_YES)
dialog.add_button(gtk.STOCK_NO, gtk.RESPONSE_NO)
dialog.set_default_response(gtk.RESPONSE_NO)
@@ -605,7 +605,7 @@ class Builder(gtk.Window):
if not all_recipes:
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 = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
+ dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
@@ -617,7 +617,7 @@ class Builder(gtk.Window):
if not selected_packages:
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 = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
+ dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
@@ -632,7 +632,7 @@ class Builder(gtk.Window):
if not (selected_packages or selected_image != self.recipe_model.__dummy_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 = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
+ dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
@@ -703,7 +703,7 @@ class Builder(gtk.Window):
if response == gtk.RESPONSE_YES:
if not dialog.image_names:
lbl = "<b>No selections made</b>\nYou have not made any selections"
- crumbs_dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
+ crumbs_dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
crumbs_dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
crumbs_dialog.run()
crumbs_dialog.destroy()
@@ -745,7 +745,7 @@ class Builder(gtk.Window):
def deploy_image(self, image_name):
if not image_name:
lbl = "<b>Please select an image to deploy.</b>"
- dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
+ dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
@@ -766,7 +766,7 @@ class Builder(gtk.Window):
def runqemu_image(self, image_name):
if not image_name:
lbl = "<b>Please select an image to launch in QEMU.</b>"
- dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
+ dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
@@ -806,7 +806,7 @@ class Builder(gtk.Window):
lbl = lbl + "kernel path:" + kernel_path + "\n"
lbl = lbl + "source environment path:" + source_env_path + "\n"
lbl = lbl + "tmp path: " + tmp_path + "."
- dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
+ dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
@@ -816,7 +816,7 @@ class Builder(gtk.Window):
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)?"
- dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
+ dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_YES, gtk.RESPONSE_YES)
dialog.add_button(gtk.STOCK_NO, gtk.RESPONSE_NO)
dialog.set_default_response(gtk.RESPONSE_YES)
@@ -847,7 +847,7 @@ class Builder(gtk.Window):
lbl = lbl + "This will stop the build as quickly as possible but may"
lbl = lbl + " well leave your build directory in an unusable state"
lbl = lbl + " that requires manual steps to fix.\n"
- dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
+ 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)
else:
@@ -859,7 +859,7 @@ class Builder(gtk.Window):
lbl = lbl + " progress build tasks are finished. However if a"
lbl = lbl + " lengthy compilation phase is in progress this may take"
lbl = lbl + " some time."
- dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
+ 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)
diff --git a/lib/bb/ui/crumbs/hig.py b/lib/bb/ui/crumbs/hig.py
index 89dfe03..91edede 100644
--- a/lib/bb/ui/crumbs/hig.py
+++ b/lib/bb/ui/crumbs/hig.py
@@ -45,10 +45,23 @@ class CrumbsDialog(gtk.Dialog):
A GNOME HIG compliant dialog widget.
Add buttons with gtk.Dialog.add_button or gtk.Dialog.add_buttons
"""
+ def __init__(self, title="", parent=None, flags=0, buttons=None):
+ super(CrumbsDialog, self).__init__(title, parent, flags, buttons)
+
+ self.set_property("has-separator", False) # note: deprecated in 2.22
+
+ self.set_border_width(6)
+ self.vbox.set_property("spacing", 12)
+ self.action_area.set_property("spacing", 12)
+ self.action_area.set_property("border-width", 6)
+
+class CrumbsMessageDialog(CrumbsDialog):
+ """
+ A GNOME HIG compliant dialog widget.
+ Add buttons with gtk.Dialog.add_button or gtk.Dialog.add_buttons
+ """
def __init__(self, parent=None, label="", icon=gtk.STOCK_INFO):
super(CrumbsDialog, self).__init__("", parent, gtk.DIALOG_DESTROY_WITH_PARENT)
-
- #self.set_property("has-separator", False) # note: deprecated in 2.22
self.set_border_width(6)
self.vbox.set_property("spacing", 12)
diff --git a/lib/bb/ui/crumbs/hobwidget.py b/lib/bb/ui/crumbs/hobwidget.py
index 890151d..b6cb241 100644
--- a/lib/bb/ui/crumbs/hobwidget.py
+++ b/lib/bb/ui/crumbs/hobwidget.py
@@ -303,7 +303,7 @@ class HobWidget:
@classmethod
def conf_error(cls, parent, lbl):
- dialog = CrumbsDialog(parent, lbl)
+ dialog = CrumbsMessageDialog(parent, lbl)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
response = dialog.run()
dialog.destroy()
--
1.7.7.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/6] crumbs/builder: use the name Hob consistently
2012-02-25 1:34 [PATCH 0/6] Hob tweaks Joshua Lock
2012-02-25 1:34 ` [PATCH 1/6] crumbs: Factor common dialogue configuration out Joshua Lock
@ 2012-02-25 1:34 ` Joshua Lock
2012-02-25 1:34 ` [PATCH 3/6] crumbs: move towards more standard dialogue spacing Joshua Lock
` (4 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Joshua Lock @ 2012-02-25 1:34 UTC (permalink / raw)
To: bitbake-devel
We have mentions of HOB and Hob, the approved name is Hob.
"the name's Hob, BitBake Hob"
- Surly BitBake GUI
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/ui/crumbs/builder.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/bb/ui/crumbs/builder.py b/lib/bb/ui/crumbs/builder.py
index b52ba04..21e5021 100755
--- a/lib/bb/ui/crumbs/builder.py
+++ b/lib/bb/ui/crumbs/builder.py
@@ -222,7 +222,7 @@ class Builder(gtk.Window):
self.switch_page(self.MACHINE_SELECTION)
def create_visual_elements(self):
- self.set_title("HOB -- Image Creator")
+ self.set_title("Hob - Image Creator")
self.set_icon_name("applications-development")
self.set_position(gtk.WIN_POS_CENTER_ALWAYS)
self.set_resizable(True)
@@ -670,7 +670,7 @@ class Builder(gtk.Window):
(gtk.STOCK_OPEN, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
filter = gtk.FileFilter()
- filter.set_name("HOB Files")
+ filter.set_name("Hob Files")
filter.add_pattern("*.hob")
dialog.add_filter(filter)
--
1.7.7.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/6] crumbs: move towards more standard dialogue spacing
2012-02-25 1:34 [PATCH 0/6] Hob tweaks Joshua Lock
2012-02-25 1:34 ` [PATCH 1/6] crumbs: Factor common dialogue configuration out Joshua Lock
2012-02-25 1:34 ` [PATCH 2/6] crumbs/builder: use the name Hob consistently Joshua Lock
@ 2012-02-25 1:34 ` Joshua Lock
2012-02-25 1:34 ` [PATCH 4/6] crumbs: fix button order in several dialogues Joshua Lock
` (3 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Joshua Lock @ 2012-02-25 1:34 UTC (permalink / raw)
To: bitbake-devel
Inherit from the base CrumbsDialog class which implements standard border
and spacing.
Switch all explicitly set dialogue spacings to 6 to converge towards GNOME
HIG.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/ui/crumbs/hig.py | 58 +++++++++++++++++-----------------------
lib/bb/ui/crumbs/hobwidget.py | 6 ++--
2 files changed, 28 insertions(+), 36 deletions(-)
diff --git a/lib/bb/ui/crumbs/hig.py b/lib/bb/ui/crumbs/hig.py
index 91edede..9f10348 100644
--- a/lib/bb/ui/crumbs/hig.py
+++ b/lib/bb/ui/crumbs/hig.py
@@ -116,7 +116,7 @@ class BinbDialog(gtk.Dialog):
#
# AdvancedSettings Dialog
#
-class AdvancedSettingDialog (gtk.Dialog):
+class AdvancedSettingDialog (CrumbsDialog):
def __init__(self, title, configuration, all_image_types,
all_package_formats, all_distros, all_sdk_machines,
@@ -175,8 +175,8 @@ class AdvancedSettingDialog (gtk.Dialog):
self.show_all()
def create_image_types_page(self):
- advanced_vbox = gtk.VBox(False, 15)
- advanced_vbox.set_border_width(20)
+ advanced_vbox = gtk.VBox(False, 6)
+ advanced_vbox.set_border_width(6)
rows = (len(self.image_types)+1)/2
table = gtk.Table(rows + 1, 10, True)
@@ -207,10 +207,10 @@ class AdvancedSettingDialog (gtk.Dialog):
return advanced_vbox
def create_output_page(self):
- advanced_vbox = gtk.VBox(False, 15)
- advanced_vbox.set_border_width(20)
+ advanced_vbox = gtk.VBox(False, 6)
+ advanced_vbox.set_border_width(6)
- sub_vbox = gtk.VBox(False, 5)
+ sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Packaging Format:</span>")
tooltip = "Select package formats that will be used. "
@@ -219,7 +219,7 @@ class AdvancedSettingDialog (gtk.Dialog):
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(pkgfmt_widget, expand=False, fill=False)
- sub_vbox = gtk.VBox(False, 5)
+ sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Image Rootfs Size: (MB)</span>")
tooltip = "Sets the size of your target image.\nThis is the basic size of your target image, unless your selected package size exceeds this value, or you set value to \"Image Extra Size\"."
@@ -227,7 +227,7 @@ class AdvancedSettingDialog (gtk.Dialog):
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(rootfs_size_widget, expand=False, fill=False)
- sub_vbox = gtk.VBox(False, 5)
+ sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Image Extra Size: (MB)</span>")
tooltip = "Sets the extra free space of your target image.\nDefaultly, system will reserve 30% of your image size as your free space. If your image contains zypper, it will bring in 50MB more space. The maximum free space is 1024MB."
@@ -243,7 +243,7 @@ class AdvancedSettingDialog (gtk.Dialog):
self.gplv3_checkbox.set_active(False)
advanced_vbox.pack_start(self.gplv3_checkbox, expand=False, fill=False)
- sub_hbox = gtk.HBox(False, 5)
+ sub_hbox = gtk.HBox(False, 6)
advanced_vbox.pack_start(sub_hbox, expand=False, fill=False)
self.toolchain_checkbox = gtk.CheckButton("Build Toolchain")
self.toolchain_checkbox.set_tooltip_text("Check this box to build the related toolchain with your image")
@@ -257,10 +257,10 @@ class AdvancedSettingDialog (gtk.Dialog):
return advanced_vbox
def create_build_environment_page(self):
- advanced_vbox = gtk.VBox(False, 15)
- advanced_vbox.set_border_width(20)
+ advanced_vbox = gtk.VBox(False, 6)
+ advanced_vbox.set_border_width(6)
- sub_vbox = gtk.VBox(False, 5)
+ sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Select Distro:</span>")
tooltip = "This is the Yocto distribution you would like to use"
@@ -268,7 +268,7 @@ class AdvancedSettingDialog (gtk.Dialog):
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(distro_widget, expand=False, fill=False)
- sub_vbox = gtk.VBox(False, 5)
+ sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">BB_NUMBER_THREADS:</span>")
tooltip = "Sets the number of threads that bitbake tasks can run simultaneously"
@@ -276,7 +276,7 @@ class AdvancedSettingDialog (gtk.Dialog):
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(bbthread_widget, expand=False, fill=False)
- sub_vbox = gtk.VBox(False, 5)
+ sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">PARALLEL_MAKE:</span>")
tooltip = "Sets the make parallism, as known as 'make -j'"
@@ -284,7 +284,7 @@ class AdvancedSettingDialog (gtk.Dialog):
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(pmake_widget, expand=False, fill=False)
- sub_vbox = gtk.VBox(False, 5)
+ sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Set Download Directory:</span>")
tooltip = "Select a folder that caches the upstream project source code"
@@ -292,7 +292,7 @@ class AdvancedSettingDialog (gtk.Dialog):
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(dldir_widget, expand=False, fill=False)
- sub_vbox = gtk.VBox(False, 5)
+ sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Select SSTATE Directory:</span>")
tooltip = "Select a folder that caches your prebuilt results"
@@ -300,7 +300,7 @@ class AdvancedSettingDialog (gtk.Dialog):
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(sstatedir_widget, expand=False, fill=False)
- sub_vbox = gtk.VBox(False, 5)
+ sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Select SSTATE Mirror:</span>")
tooltip = "Select the prebuilt mirror that will fasten your build speed"
@@ -311,10 +311,10 @@ class AdvancedSettingDialog (gtk.Dialog):
return advanced_vbox
def create_others_page(self):
- advanced_vbox = gtk.VBox(False, 15)
- advanced_vbox.set_border_width(20)
+ advanced_vbox = gtk.VBox(False, 6)
+ advanced_vbox.set_border_width(6)
- sub_vbox = gtk.VBox(False, 5)
+ sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=True, fill=True)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Add your own variables:</span>")
tooltip = "This is the key/value pair for your extra settings"
@@ -379,7 +379,7 @@ class AdvancedSettingDialog (gtk.Dialog):
#
# DeployImageDialog
#
-class DeployImageDialog (gtk.Dialog):
+class DeployImageDialog (CrumbsDialog):
__dummy_usb__ = "--select a usb drive--"
@@ -392,7 +392,6 @@ class DeployImageDialog (gtk.Dialog):
self.connect("response", self.response_cb)
def create_visual_elements(self):
- self.set_border_width(20)
self.set_default_size(500, 250)
label = gtk.Label()
@@ -499,7 +498,7 @@ class DeployImageDialog (gtk.Dialog):
#
# LayerSelectionDialog
#
-class LayerSelectionDialog (gtk.Dialog):
+class LayerSelectionDialog (CrumbsDialog):
def __init__(self, title, layers, all_layers, split_model,
parent, flags, buttons):
@@ -519,11 +518,8 @@ class LayerSelectionDialog (gtk.Dialog):
self.connect("response", self.response_cb)
def create_visual_elements(self):
- self.set_border_width(20)
self.set_default_size(400, 250)
-
hbox_top = gtk.HBox()
- self.set_border_width(12)
self.vbox.pack_start(hbox_top, expand=False, fill=False)
if self.split_model:
@@ -572,7 +568,7 @@ class LayerSelectionDialog (gtk.Dialog):
self.layers_changed = (self.layers != layers)
self.layers = layers
-class ImageSelectionDialog (gtk.Dialog):
+class ImageSelectionDialog (CrumbsDialog):
def __init__(self, image_folder, image_types, title, parent, flags, buttons):
super(ImageSelectionDialog, self).__init__(title, parent, flags, buttons)
@@ -589,11 +585,7 @@ class ImageSelectionDialog (gtk.Dialog):
self.fill_image_store()
def create_visual_elements(self):
- self.set_border_width(20)
- self.set_default_size(600, 300)
- self.vbox.set_spacing(10)
-
- hbox = gtk.HBox(False, 10)
+ hbox = gtk.HBox(False, 6)
self.vbox.pack_start(hbox, expand=False, fill=False)
entry = gtk.Entry()
@@ -603,7 +595,7 @@ class ImageSelectionDialog (gtk.Dialog):
hbox.pack_start(table, expand=False, fill=False)
table.attach(entry, 0, 9, 0, 1)
image = gtk.Image()
- image.set_from_stock(gtk.STOCK_OPEN,gtk.ICON_SIZE_BUTTON)
+ image.set_from_stock(gtk.STOCK_OPEN, gtk.ICON_SIZE_BUTTON)
open_button = gtk.Button()
open_button.set_image(image)
open_button.connect("clicked", self.select_path_cb, self, entry)
diff --git a/lib/bb/ui/crumbs/hobwidget.py b/lib/bb/ui/crumbs/hobwidget.py
index b6cb241..ab4169e 100644
--- a/lib/bb/ui/crumbs/hobwidget.py
+++ b/lib/bb/ui/crumbs/hobwidget.py
@@ -356,7 +356,7 @@ class HobWidget:
@classmethod
def gen_layer_widget(cls, split_model, layers, layers_avail, window, tooltip=""):
- hbox = gtk.HBox(False, 10)
+ hbox = gtk.HBox(False, 6)
layer_tv = gtk.TreeView()
layer_tv.set_rules_hint(True)
@@ -409,13 +409,13 @@ class HobWidget:
add_button = gtk.Button()
add_button.set_image(image)
add_button.connect("clicked", cls._add_layer_cb, layer_store, window)
- table_layer.attach(add_button, 0, 5, 1, 2, gtk.EXPAND | gtk.FILL, 0, 0, 0)
+ table_layer.attach(add_button, 0, 5, 1, 2, gtk.EXPAND | gtk.FILL, 0, 0, 6)
image = gtk.Image()
image.set_from_stock(gtk.STOCK_REMOVE,gtk.ICON_SIZE_MENU)
del_button = gtk.Button()
del_button.set_image(image)
del_button.connect("clicked", cls._del_layer_cb, tree_selection, layer_store)
- table_layer.attach(del_button, 5, 10, 1, 2, gtk.EXPAND | gtk.FILL, 0, 0, 0)
+ table_layer.attach(del_button, 5, 10, 1, 2, gtk.EXPAND | gtk.FILL, 0, 0, 6)
layer_tv.set_model(layer_store)
hbox.show_all()
--
1.7.7.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/6] crumbs: fix button order in several dialogues
2012-02-25 1:34 [PATCH 0/6] Hob tweaks Joshua Lock
` (2 preceding siblings ...)
2012-02-25 1:34 ` [PATCH 3/6] crumbs: move towards more standard dialogue spacing Joshua Lock
@ 2012-02-25 1:34 ` Joshua Lock
2012-02-25 1:34 ` [PATCH 5/6] hig: try to avoid setting explicit dialogue sizes Joshua Lock
` (2 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Joshua Lock @ 2012-02-25 1:34 UTC (permalink / raw)
To: bitbake-devel
GNOME HIG and Gtk+ convention is for the buttons to be ordered
<secondary action> <primary action> so that the primary action can be
selected easily by navigating to the bottom right of the dialogue.
We should try and match the convention and the HIG standard so that we
aren't contrasting the rest of the users applications.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/ui/crumbs/builder.py | 24 ++++++++++++------------
lib/bb/ui/crumbs/hig.py | 4 ++--
lib/bb/ui/crumbs/hobwidget.py | 4 ++--
3 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/lib/bb/ui/crumbs/builder.py b/lib/bb/ui/crumbs/builder.py
index 21e5021..260eb32 100755
--- a/lib/bb/ui/crumbs/builder.py
+++ b/lib/bb/ui/crumbs/builder.py
@@ -589,9 +589,9 @@ 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(gtk.STOCK_YES, gtk.RESPONSE_YES)
- dialog.add_button(gtk.STOCK_NO, gtk.RESPONSE_NO)
- dialog.set_default_response(gtk.RESPONSE_NO)
+ dialog.add_button("Keep using Hob", gtk.RESPONSE_NO)
+ dialog.add_button("Exit Hob", gtk.RESPONSE_YES)
+ dialog.set_default_response(gtk.RESPONSE_YES)
response = dialog.run()
dialog.destroy()
if response == gtk.RESPONSE_YES:
@@ -654,8 +654,8 @@ class Builder(gtk.Window):
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.DIALOG_NO_SEPARATOR,
- buttons = (gtk.STOCK_OK, gtk.RESPONSE_YES,
- gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
+ buttons = (gtk.STOCK_CANCEL, gtk.RESPONSE_NO,
+ gtk.STOCK_OK, gtk.RESPONSE_YES))
response = dialog.run()
if response == gtk.RESPONSE_YES:
self.configuration.layers = dialog.layers
@@ -666,9 +666,9 @@ class Builder(gtk.Window):
def show_load_template_dialog(self):
dialog = gtk.FileChooserDialog("Load Template Files", self,
- gtk.FILE_CHOOSER_ACTION_SAVE,
- (gtk.STOCK_OPEN, gtk.RESPONSE_YES,
- gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
+ gtk.FILE_CHOOSER_ACTION_OPEN,
+ (gtk.STOCK_CANCEL, gtk.RESPONSE_NO,
+ gtk.STOCK_OPEN, gtk.RESPONSE_YES))
filter = gtk.FileFilter()
filter.set_name("Hob Files")
filter.add_pattern("*.hob")
@@ -696,8 +696,8 @@ class Builder(gtk.Window):
dialog = ImageSelectionDialog(self.parameters.image_addr, self.parameters.image_types,
"Open My Images", self,
gtk.FILE_CHOOSER_ACTION_SAVE,
- (gtk.STOCK_OPEN, gtk.RESPONSE_YES,
- gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
+ (gtk.STOCK_CANCEL, gtk.RESPONSE_NO,
+ gtk.STOCK_OPEN, gtk.RESPONSE_YES))
response = dialog.run()
if response == gtk.RESPONSE_YES:
@@ -729,8 +729,8 @@ class Builder(gtk.Window):
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.DIALOG_NO_SEPARATOR,
- buttons = ("Save", gtk.RESPONSE_YES,
- gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
+ buttons = (gtk.STOCK_CANCEL, gtk.RESPONSE_NO,
+ "Save", gtk.RESPONSE_YES))
response = dialog.run()
if response == gtk.RESPONSE_YES:
self.configuration = dialog.configuration
diff --git a/lib/bb/ui/crumbs/hig.py b/lib/bb/ui/crumbs/hig.py
index 9f10348..6d9bc5c 100644
--- a/lib/bb/ui/crumbs/hig.py
+++ b/lib/bb/ui/crumbs/hig.py
@@ -609,8 +609,8 @@ class ImageSelectionDialog (CrumbsDialog):
def select_path_cb(self, action, parent, entry):
dialog = gtk.FileChooserDialog("", parent,
gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
- (gtk.STOCK_OK, gtk.RESPONSE_YES,
- gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
+ (gtk.STOCK_CANCEL, gtk.RESPONSE_NO,
+ gtk.STOCK_OPEN, gtk.RESPONSE_YES))
response = dialog.run()
if response == gtk.RESPONSE_YES:
path = dialog.get_filename()
diff --git a/lib/bb/ui/crumbs/hobwidget.py b/lib/bb/ui/crumbs/hobwidget.py
index ab4169e..2faf51f 100644
--- a/lib/bb/ui/crumbs/hobwidget.py
+++ b/lib/bb/ui/crumbs/hobwidget.py
@@ -312,8 +312,8 @@ class HobWidget:
def _add_layer_cb(cls, action, layer_store, parent):
dialog = gtk.FileChooserDialog("Add new layer", parent,
gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
- (gtk.STOCK_OK, gtk.RESPONSE_YES,
- gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
+ (gtk.STOCK_CANCEL, gtk.RESPONSE_NO,
+ gtk.STOCK_OK, gtk.RESPONSE_YES))
label = gtk.Label("Select the layer you wish to add")
label.show()
dialog.set_extra_widget(label)
--
1.7.7.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 5/6] hig: try to avoid setting explicit dialogue sizes
2012-02-25 1:34 [PATCH 0/6] Hob tweaks Joshua Lock
` (3 preceding siblings ...)
2012-02-25 1:34 ` [PATCH 4/6] crumbs: fix button order in several dialogues Joshua Lock
@ 2012-02-25 1:34 ` Joshua Lock
2012-02-25 1:34 ` [PATCH 6/6] crumbs/hig: tweak UI and layout of LayerSelectionDialog Joshua Lock
2012-02-26 6:59 ` [PATCH 0/6] Hob tweaks Wang, Shane
6 siblings, 0 replies; 10+ messages in thread
From: Joshua Lock @ 2012-02-25 1:34 UTC (permalink / raw)
To: bitbake-devel
Gtk+ does a good job of creating dialogues which fit all of the packed
widgets and respect the spacing. Let it do its job.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/ui/crumbs/hig.py | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/lib/bb/ui/crumbs/hig.py b/lib/bb/ui/crumbs/hig.py
index 6d9bc5c..abc4a55 100644
--- a/lib/bb/ui/crumbs/hig.py
+++ b/lib/bb/ui/crumbs/hig.py
@@ -160,8 +160,6 @@ class AdvancedSettingDialog (CrumbsDialog):
self.connect("response", self.response_cb)
def create_visual_elements(self):
- self.set_size_request(500, 500)
-
self.nb = gtk.Notebook()
self.nb.set_show_tabs(True)
self.nb.append_page(self.create_image_types_page(), gtk.Label("Image types"))
@@ -392,8 +390,6 @@ class DeployImageDialog (CrumbsDialog):
self.connect("response", self.response_cb)
def create_visual_elements(self):
- self.set_default_size(500, 250)
-
label = gtk.Label()
label.set_alignment(0.0, 0.5)
markup = "<span font_desc='12'>The image to be written into usb drive:</span>"
@@ -518,7 +514,6 @@ class LayerSelectionDialog (CrumbsDialog):
self.connect("response", self.response_cb)
def create_visual_elements(self):
- self.set_default_size(400, 250)
hbox_top = gtk.HBox()
self.vbox.pack_start(hbox_top, expand=False, fill=False)
@@ -535,6 +530,7 @@ class LayerSelectionDialog (CrumbsDialog):
hbox_top.pack_end(image, expand=False, fill=False)
layer_widget, self.layer_store = HobWidget.gen_layer_widget(self.split_model, self.layers, self.all_layers, self, None)
+ layer_widget.set_size_request(-1, 180)
self.vbox.pack_start(layer_widget, expand=True, fill=True)
@@ -586,6 +582,7 @@ class ImageSelectionDialog (CrumbsDialog):
def create_visual_elements(self):
hbox = gtk.HBox(False, 6)
+
self.vbox.pack_start(hbox, expand=False, fill=False)
entry = gtk.Entry()
--
1.7.7.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 6/6] crumbs/hig: tweak UI and layout of LayerSelectionDialog
2012-02-25 1:34 [PATCH 0/6] Hob tweaks Joshua Lock
` (4 preceding siblings ...)
2012-02-25 1:34 ` [PATCH 5/6] hig: try to avoid setting explicit dialogue sizes Joshua Lock
@ 2012-02-25 1:34 ` Joshua Lock
2012-02-26 6:59 ` [PATCH 0/6] Hob tweaks Wang, Shane
6 siblings, 0 replies; 10+ messages in thread
From: Joshua Lock @ 2012-02-25 1:34 UTC (permalink / raw)
To: bitbake-devel
Several minor tweaks for appearance:
* Try to rework the labels so that the English flows better
* Fix spacing
* Remove the separator - it's not needed
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/ui/crumbs/hig.py | 18 +++++-------------
1 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/lib/bb/ui/crumbs/hig.py b/lib/bb/ui/crumbs/hig.py
index abc4a55..bd611bc 100644
--- a/lib/bb/ui/crumbs/hig.py
+++ b/lib/bb/ui/crumbs/hig.py
@@ -518,9 +518,9 @@ class LayerSelectionDialog (CrumbsDialog):
self.vbox.pack_start(hbox_top, expand=False, fill=False)
if self.split_model:
- label = HobWidget.gen_label_widget("<span weight=\"bold\" font_desc='12'>Select Layers:</span>\n(Available layers under '${COREBASE}/layers/' directory)")
+ label = HobWidget.gen_label_widget("<b>Select Layers:</b>\n(Available layers under '${COREBASE}/layers/' directory)")
else:
- label = HobWidget.gen_label_widget("<span weight=\"bold\" font_desc='12'>Select Layers:</span>")
+ label = HobWidget.gen_label_widget("<b>Select Layers:</b>")
hbox_top.pack_start(label, expand=False, fill=False)
tooltip = "Layer is a collection of bb files and conf files"
@@ -534,17 +534,9 @@ class LayerSelectionDialog (CrumbsDialog):
self.vbox.pack_start(layer_widget, expand=True, fill=True)
- separator = gtk.HSeparator()
- self.vbox.pack_start(separator, False, True, 5)
- separator.show()
-
- hbox_button = gtk.HBox()
- self.vbox.pack_end(hbox_button, expand=False, fill=False)
- hbox_button.show()
-
- label = HobWidget.gen_label_widget("<i>'meta' is Core layer for Yocto images</i>\n"
- "<span weight=\"bold\">Please do not remove it</span>")
- hbox_button.pack_start(label, expand=False, fill=False)
+ label = HobWidget.gen_label_widget("<b>Note:</b> '<i>meta</i>' is the Core layer for Yocto images please do not remove it.")
+ label.show()
+ self.vbox.pack_end(label, expand=False, fill=False)
self.show_all()
--
1.7.7.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 0/6] Hob tweaks
2012-02-25 1:34 [PATCH 0/6] Hob tweaks Joshua Lock
` (5 preceding siblings ...)
2012-02-25 1:34 ` [PATCH 6/6] crumbs/hig: tweak UI and layout of LayerSelectionDialog Joshua Lock
@ 2012-02-26 6:59 ` Wang, Shane
6 siblings, 0 replies; 10+ messages in thread
From: Wang, Shane @ 2012-02-26 6:59 UTC (permalink / raw)
To: Joshua Lock, bitbake-devel@lists.openembedded.org
ACK all 6 patches.
But hold on a second to check in, since we have some fixes locally and I will rebase yours.
--
Shane
Joshua Lock wrote on 2012-02-25:
> Here's a first pass of tweaks for the Hob GUI based on a brief
> interaction with the landing page of the GUI. It's by no means a perfect
> set of changes, my HIG related tweaks are based on memory and examples
> in the code that remains from Hob v1.
>
> If nothing else the button ordering will need fixing fairly soonish as
> regular Linux Gtk+ desktop users like myself will soon start clicking
> the wrong buttons due to the inverted order.
>
> Cheers,
> Joshua
>
> CC: Dongxiao Xu <dongxiao.xu@intel.com>
>
> The following changes since commit
> c7486a09310fe63b1aa1b7b0bb9450f306b6093b:
>
> bitbake/cooker: terminate when errors found in layer configuration
> (2012-02-24 23:30:16 +0000)
>
> are available in the git repository at:
> git://github.com/incandescant/bitbake josh/hob
> https://github.com/incandescant/bitbake/tree/josh/hob
> Joshua Lock (6):
> crumbs: Factor common dialogue configuration out
> crumbs/builder: use the name Hob consistently
> crumbs: move towards more standard dialogue spacing
> crumbs: fix button order in several dialogues
> hig: try to avoid setting explicit dialogue sizes
> crumbs/hig: tweak UI and layout of LayerSelectionDialog
> lib/bb/ui/crumbs/builder.py | 56 +++++++++++-----------
> lib/bb/ui/crumbs/hig.py | 102
> +++++++++++++++++++--------------------- lib/bb/ui/crumbs/hobwidget.py
> | 12 ++-- 3 files changed, 82 insertions(+), 88 deletions(-)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 0/6] Hob tweaks
@ 2012-03-20 0:18 Joshua Lock
2012-03-20 14:34 ` Richard Purdie
0 siblings, 1 reply; 10+ messages in thread
From: Joshua Lock @ 2012-03-20 0:18 UTC (permalink / raw)
To: bitbake-devel
Here's a series of patches to polish the Hob GUI: some minor tweaks to remove
redundant calls and API, a couple of HIG related tweaks to buttons, a change to
the persistenttooltip to try and match the close position of the window manager
(i.e. running under Unity on Ubuntu the close button on the persistent tooltip
will appear on the left) and finally a change to the layer dialogue implementation
so that it more closely matches the interaction design (this is still pending
some designer feedback on visuals and whether to remove some labels but they can
easily be implemented as iterative patches on top of these).
Cheers,
Joshua
The following changes since commit 5a1e62a8cdd4f0253b0dc59046b3b4c3186af461:
bitbake/fetch2: Fix typo which broke use of tarballs (2012-03-16 23:44:08 +0000)
are available in the git repository at:
git://github.com/incandescant/bitbake josh/hob
https://github.com/incandescant/bitbake/tree/josh/hob
git://git.yoctoproject.org/poky-contrib josh/hob
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=josh/hob
Joshua Lock (6):
ui/crumbs/hig: use close rather than OK for dismis button
ui/crumbs: remove unused return value from append_toolbar_button
ui/crumbs/hobpage: no need to force a Toolbar button type
ui/crumbs/persistenttooltip: try to reflect WM close button position
ui/crumbs/builder: remove OK/Cancel buttons on Layer dialog. Use
Close.
ui/crumbs/hig: make the layer selection dialogue more closely match
design
lib/bb/ui/crumbs/builder.py | 3 +-
lib/bb/ui/crumbs/hig.py | 98 +++++++++++++++++++++-------
lib/bb/ui/crumbs/hobpages.py | 6 +-
lib/bb/ui/crumbs/imageconfigurationpage.py | 6 +-
lib/bb/ui/crumbs/imagedetailspage.py | 2 +-
lib/bb/ui/crumbs/persistenttooltip.py | 24 +++++++-
6 files changed, 105 insertions(+), 34 deletions(-)
--
1.7.7.6
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/6] Hob tweaks
2012-03-20 0:18 Joshua Lock
@ 2012-03-20 14:34 ` Richard Purdie
0 siblings, 0 replies; 10+ messages in thread
From: Richard Purdie @ 2012-03-20 14:34 UTC (permalink / raw)
To: Joshua Lock; +Cc: bitbake-devel
On Mon, 2012-03-19 at 17:18 -0700, Joshua Lock wrote:
> Here's a series of patches to polish the Hob GUI: some minor tweaks to remove
> redundant calls and API, a couple of HIG related tweaks to buttons, a change to
> the persistenttooltip to try and match the close position of the window manager
> (i.e. running under Unity on Ubuntu the close button on the persistent tooltip
> will appear on the left) and finally a change to the layer dialogue implementation
> so that it more closely matches the interaction design (this is still pending
> some designer feedback on visuals and whether to remove some labels but they can
> easily be implemented as iterative patches on top of these).
>
> Cheers,
>
> Joshua
>
> The following changes since commit 5a1e62a8cdd4f0253b0dc59046b3b4c3186af461:
>
> bitbake/fetch2: Fix typo which broke use of tarballs (2012-03-16 23:44:08 +0000)
>
> are available in the git repository at:
> git://github.com/incandescant/bitbake josh/hob
> https://github.com/incandescant/bitbake/tree/josh/hob
> git://git.yoctoproject.org/poky-contrib josh/hob
> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=josh/hob
>
> Joshua Lock (6):
> ui/crumbs/hig: use close rather than OK for dismis button
> ui/crumbs: remove unused return value from append_toolbar_button
> ui/crumbs/hobpage: no need to force a Toolbar button type
> ui/crumbs/persistenttooltip: try to reflect WM close button position
> ui/crumbs/builder: remove OK/Cancel buttons on Layer dialog. Use
> Close.
> ui/crumbs/hig: make the layer selection dialogue more closely match
> design
I've merged the first four, the last two seemed to be being discussed...
Cheers,
Richard
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2012-03-20 14:43 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-25 1:34 [PATCH 0/6] Hob tweaks Joshua Lock
2012-02-25 1:34 ` [PATCH 1/6] crumbs: Factor common dialogue configuration out Joshua Lock
2012-02-25 1:34 ` [PATCH 2/6] crumbs/builder: use the name Hob consistently Joshua Lock
2012-02-25 1:34 ` [PATCH 3/6] crumbs: move towards more standard dialogue spacing Joshua Lock
2012-02-25 1:34 ` [PATCH 4/6] crumbs: fix button order in several dialogues Joshua Lock
2012-02-25 1:34 ` [PATCH 5/6] hig: try to avoid setting explicit dialogue sizes Joshua Lock
2012-02-25 1:34 ` [PATCH 6/6] crumbs/hig: tweak UI and layout of LayerSelectionDialog Joshua Lock
2012-02-26 6:59 ` [PATCH 0/6] Hob tweaks Wang, Shane
-- strict thread matches above, loose matches on Subject: below --
2012-03-20 0:18 Joshua Lock
2012-03-20 14:34 ` 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.