* [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