[bitbake-devel] [PATCH 1/2] HOB: HIG compliant message dialogs

cristiana.voicu cristiana.voicu at intel.com
Fri Sep 27 08:19:21 UTC 2013


On 09/25/2013 02:18 PM, Valentin Popa wrote:
> "More" HIG compliant dialogs for HOB.
>
> Signed-off-by: Valentin Popa <valentin.popa at intel.com>
> ---
>   bitbake/lib/bb/ui/crumbs/builder.py                | 99 ++++++++++++----------
>   .../lib/bb/ui/crumbs/hig/advancedsettingsdialog.py |  5 +-
>   .../lib/bb/ui/crumbs/hig/crumbsmessagedialog.py    | 56 ++++--------
>   bitbake/lib/bb/ui/crumbs/hig/deployimagedialog.py  | 12 ++-
>   .../lib/bb/ui/crumbs/hig/layerselectiondialog.py   | 11 +--
>   bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py    |  5 +-
>   .../lib/bb/ui/crumbs/hig/simplesettingsdialog.py   |  4 +-
>   7 files changed, 90 insertions(+), 102 deletions(-)
>
> diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py
> index 86fdbfe..433ff11 100755
> --- a/bitbake/lib/bb/ui/crumbs/builder.py
> +++ b/bitbake/lib/bb/ui/crumbs/builder.py
> @@ -793,8 +793,8 @@ class Builder(gtk.Window):
>                   self.generate_image_async(True)
>   
>       def show_error_dialog(self, msg):
> -        lbl = "<b>Hob found an error</b>\n"
> -        dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR, msg)
> +        lbl = "<b>Hob found an error</b>"
> +        dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_ERROR, msg)
>           button = dialog.add_button("Close", gtk.RESPONSE_OK)
>           HobButton.style_button(button)
>           response = dialog.run()
> @@ -810,10 +810,9 @@ class Builder(gtk.Window):
>           dialog.destroy()
>   
>       def show_network_error_dialog(self):
> -        lbl = "<b>Hob cannot connect to the network</b>\n"
> -        msg = "Please check your network connection. If you are using a proxy server, please make sure it is configured correctly."
> -        lbl = lbl + "%s\n\n" % glib.markup_escape_text(msg)
> -        dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
> +        lbl = "<b>Hob cannot connect to the network</b>"
> +        msg = msg + "Please check your network connection. If you are using a proxy server, please make sure it is configured correctly."
> +        dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_ERROR, msg)
>           button = dialog.add_button("Close", gtk.RESPONSE_OK)
>           HobButton.style_button(button)
>           button = dialog.add_button("Proxy settings", gtk.RESPONSE_CANCEL)
> @@ -1036,7 +1035,7 @@ class Builder(gtk.Window):
>           self.build_failed()
>   
>       def handler_no_provider_cb(self, running_build, msg):
> -        dialog = CrumbsMessageDialog(self, glib.markup_escape_text(msg), gtk.STOCK_DIALOG_INFO)
> +        dialog = CrumbsMessageDialog(self, glib.markup_escape_text(msg), gtk.MESSAGE_INFO)
>           button = dialog.add_button("Close", gtk.RESPONSE_OK)
>           HobButton.style_button(button)
>           dialog.run()
> @@ -1099,9 +1098,10 @@ class Builder(gtk.Window):
>       def build_packages(self):
>           _, all_recipes = self.recipe_model.get_selected_recipes()
>           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 = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
> +            lbl = "<b>No selections made</b>"
> +            msg = "You have not made any selections"
> +            msg = msg + " so there isn't anything to bake at this time."
> +            dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_INFO, msg)
>               button = dialog.add_button("Close", gtk.RESPONSE_OK)
>               HobButton.style_button(button)
>               dialog.run()
> @@ -1112,9 +1112,10 @@ class Builder(gtk.Window):
>       def build_image(self):
>           selected_packages = self.package_model.get_selected_packages()
>           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 = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
> +            lbl = "<b>No selections made</b>"
> +            msg = "You have not made any selections"
> +            msg = msg + " so there isn't anything to bake at this time."
> +            dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_INFO, msg)
>               button = dialog.add_button("Close", gtk.RESPONSE_OK)
>               HobButton.style_button(button)
>               dialog.run()
> @@ -1128,9 +1129,10 @@ class Builder(gtk.Window):
>   
>           # If no base image and no selected packages don't build anything
>           if not (selected_packages or selected_image != self.recipe_model.__custom_image__):
> -            lbl = "<b>No selections made</b>\nYou have not made any selections"
> -            lbl = lbl + " so there isn't anything to bake at this time."
> -            dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
> +            lbl = "<b>No selections made</b>"
> +            msg = "You have not made any selections"
> +            msg = msg + " so there isn't anything to bake at this time."
> +            dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_INFO, msg)
>               button = dialog.add_button("Close", gtk.RESPONSE_OK)
>               HobButton.style_button(button)
>               dialog.run()
> @@ -1214,8 +1216,9 @@ class Builder(gtk.Window):
>           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)
> +                lbl = "<b>No selections made</b>"
> +                msg = "You have not made any selections"
> +                crumbs_dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_INFO, msg)
>                   button = crumbs_dialog.add_button("Close", gtk.RESPONSE_OK)
>                   HobButton.style_button(button)
>                   crumbs_dialog.run()
> @@ -1302,7 +1305,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 = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
> +            dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_INFO)
>               button = dialog.add_button("Close", gtk.RESPONSE_OK)
>               HobButton.style_button(button)
>               dialog.run()
> @@ -1349,7 +1352,7 @@ class Builder(gtk.Window):
>       def runqemu_image(self, image_name, kernel_name):
>           if not image_name or not kernel_name:
>               lbl = "<b>Please select an %s to launch in QEMU.</b>" % ("kernel" if image_name else "image")
> -            dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
> +            dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_INFO)
>               button = dialog.add_button("Close", gtk.RESPONSE_OK)
>               HobButton.style_button(button)
>               dialog.run()
> @@ -1370,14 +1373,15 @@ class Builder(gtk.Window):
>               cmdline += "runqemu " + kernel_path + " " + image_path + "\"\'"
>               subprocess.Popen(shlex.split(cmdline))
>           else:
> -            lbl = "<b>Path error</b>\nOne of your paths is wrong,"
> -            lbl = lbl + " please make sure the following paths exist:\n"
> -            lbl = lbl + "image path:" + image_path + "\n"
> -            lbl = lbl + "kernel path:" + kernel_path + "\n"
> -            lbl = lbl + "source environment path:" + source_env_path + "\n"
> -            lbl = lbl + "tmp path: " + tmp_path + "."
> -            lbl = lbl + "You may be missing either xterm or vte for terminal services."
> -            dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
> +            lbl = "<b>Path error</b>"
> +            msg = "One of your paths is wrong,"
> +            msg = msg + " please make sure the following paths exist:\n"
> +            msg = msg + "image path:" + image_path + "\n"
> +            msg = msg + "kernel path:" + kernel_path + "\n"
> +            msg = msg + "source environment path:" + source_env_path + "\n"
> +            msg = msg + "tmp path: " + tmp_path + "."
> +            msg = msg + "You may be missing either xterm or vte for terminal services."
> +            dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_ERROR, msg)
>               button = dialog.add_button("Close", gtk.RESPONSE_OK)
>               HobButton.style_button(button)
>               dialog.run()
> @@ -1386,9 +1390,10 @@ class Builder(gtk.Window):
>       def show_packages(self, ask=True):
>           _, 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 or just view the existing packages?"
> -            dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
> +            lbl = "<b>Package list may be incomplete!</b>"
> +            msg = "Do you want to build selected recipes"
> +            msg = msg + " to get a full list or just view the existing packages?"
> +            dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_INFO, msg)
>               button = dialog.add_button("View packages", gtk.RESPONSE_NO)
>               HobAltButton.style_button(button)
>               button = dialog.add_button("Build packages", gtk.RESPONSE_YES)
> @@ -1414,26 +1419,28 @@ class Builder(gtk.Window):
>   
>       def stop_build(self):
>           if self.stopping:
> -            lbl = "<b>Force Stop build?</b>\nYou've already selected Stop once,"
> -            lbl = lbl + " would you like to 'Force Stop' the build?\n\n"
> -            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 = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
> +            lbl = "<b>Force Stop build?</b>"
> +            msg = "You've already selected Stop once,"
> +            msg = msg + " would you like to 'Force Stop' the build?\n\n"
> +            msg = msg + "This will stop the build as quickly as possible but may"
> +            msg = msg + " well leave your build directory in an  unusable state"
> +            msg = msg + " that requires manual steps to fix."
> +            dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_WARNING, msg)
>               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'Stop' will stop the build as soon as all in"
> -            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.\n\n"
> -            lbl = lbl + "'Force Stop' will stop the build as quickly as"
> -            lbl = lbl + " possible but may well leave your build directory in an"
> -            lbl = lbl + " unusable state that requires manual steps to fix."
> -            dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
> +            lbl = "<b>Stop build?</b>"
> +            msg = "Are you sure you want to stop this"
> +            msg = msg + " build?\n\n'Stop' will stop the build as soon as all in"
> +            msg = msg + " progress build tasks are finished. However if a"
> +            msg = msg + " lengthy compilation phase is in progress this may take"
> +            msg = msg + " some time.\n\n"
> +            msg = msg + "'Force Stop' will stop the build as quickly as"
> +            msg = msg + " possible but may well leave your build directory in an"
> +            msg = msg + " unusable state that requires manual steps to fix."
> +            dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_WARNING, msg)
>               button = dialog.add_button("Cancel", gtk.RESPONSE_CANCEL)
>               HobAltButton.style_button(button)
>               button = dialog.add_button("Force stop", gtk.RESPONSE_YES)
> diff --git a/bitbake/lib/bb/ui/crumbs/hig/advancedsettingsdialog.py b/bitbake/lib/bb/ui/crumbs/hig/advancedsettingsdialog.py
> index 86a65ae..5b449cd 100644
> --- a/bitbake/lib/bb/ui/crumbs/hig/advancedsettingsdialog.py
> +++ b/bitbake/lib/bb/ui/crumbs/hig/advancedsettingsdialog.py
> @@ -183,8 +183,9 @@ class AdvancedSettingsDialog (CrumbsDialog, SettingsUIHelper):
>           self.set_save_button_state()
>           if self.get_num_checked_image_types() == 0:
>               # Show an error dialog
> -            lbl = "<b>Select an image type</b>\n\nYou need to select at least one image type."
> -            dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
> +            lbl = "<b>Select an image type</b>"
> +            msg = "You need to select at least one image type."
> +            dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_WARNING, msg)
>               button = dialog.add_button("OK", gtk.RESPONSE_OK)
>               HobButton.style_button(button)
>               response = dialog.run()
> diff --git a/bitbake/lib/bb/ui/crumbs/hig/crumbsmessagedialog.py b/bitbake/lib/bb/ui/crumbs/hig/crumbsmessagedialog.py
> index 097ce7b..b9a32ae 100644
> --- a/bitbake/lib/bb/ui/crumbs/hig/crumbsmessagedialog.py
> +++ b/bitbake/lib/bb/ui/crumbs/hig/crumbsmessagedialog.py
> @@ -31,51 +31,28 @@ BitBake GUI's
>   In summary: spacing = 12px, border-width = 6px
>   """
>   
> -class CrumbsMessageDialog(CrumbsDialog):
> +class CrumbsMessageDialog(gtk.MessageDialog):
>       """
>       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, msg=""):
> -        super(CrumbsMessageDialog, self).__init__("", parent, gtk.DIALOG_MODAL)
> +    def __init__(self, parent = None, label="", dialog_type = gtk.MESSAGE_QUESTION, msg=""):
> +        super(CrumbsMessageDialog, self).__init__(None,
> +                                                  gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
> +                                                  dialog_type,
> +                                                  gtk.BUTTONS_NONE,
> +                                                  None)
>   
> -        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)
> +        self.set_skip_taskbar_hint(False)
>   
> -        first_column = gtk.HBox(spacing=12)
> -        first_column.set_property("border-width", 6)
> -        first_column.show()
> -        self.vbox.add(first_column)
> -
> -        self.icon = gtk.Image()
> -        # We have our own Info icon which should be used in preference of the stock icon
> -        self.icon_chk = HobIconChecker()
> -        self.icon.set_from_stock(self.icon_chk.check_stock_icon(icon), gtk.ICON_SIZE_DIALOG)
> -        self.icon.set_property("yalign", 0.00)
> -        self.icon.show()
> -        first_column.pack_start(self.icon, expand=False, fill=True, padding=0)
> +        self.set_markup(label)
>           
> -        if 0 <= len(msg) < 200:
> -            lbl = label + "%s" % glib.markup_escape_text(msg)
> -            self.label_short = gtk.Label()
> -            self.label_short.set_use_markup(True)
> -            self.label_short.set_line_wrap(True)
> -            self.label_short.set_markup(lbl)
> -            self.label_short.set_property("yalign", 0.00)
> -            self.label_short.show()
> -            first_column.add(self.label_short)
> +        if 0 <= len(msg) < 300:
> +            self.format_secondary_markup(msg)
>           else:
> -            second_row = gtk.VBox(spacing=12)
> -            second_row.set_property("border-width", 6)
> -            self.label_long = gtk.Label()
> -            self.label_long.set_use_markup(True)
> -            self.label_long.set_line_wrap(True)
> -            self.label_long.set_markup(label)
> -            self.label_long.set_alignment(0.0, 0.0)
> -            second_row.pack_start(self.label_long, expand=False, fill=False, padding=0)
> -            self.label_long.show()
> +            vbox = self.get_message_area()
> +            vbox.set_border_width(1)
> +            vbox.set_property("spacing", 12)
>               self.textWindow = gtk.ScrolledWindow()
>               self.textWindow.set_shadow_type(gtk.SHADOW_IN)
>               self.textWindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
> @@ -89,7 +66,6 @@ class CrumbsMessageDialog(CrumbsDialog):
>               self.msgView.set_buffer(self.buf)
>               self.textWindow.add(self.msgView)
>               self.msgView.show()
> -            second_row.add(self.textWindow)
> +            vbox.add(self.textWindow)
>               self.textWindow.show()
> -            first_column.add(second_row)
> -            second_row.show()
> +
> diff --git a/bitbake/lib/bb/ui/crumbs/hig/deployimagedialog.py b/bitbake/lib/bb/ui/crumbs/hig/deployimagedialog.py
> index bc1efbb..f64fbd6 100644
> --- a/bitbake/lib/bb/ui/crumbs/hig/deployimagedialog.py
> +++ b/bitbake/lib/bb/ui/crumbs/hig/deployimagedialog.py
> @@ -160,6 +160,7 @@ class DeployImageDialog (CrumbsDialog):
>       def response_cb(self, dialog, response_id):
>           if response_id == gtk.RESPONSE_YES:
>               lbl = ''
> +            msg = ''
>               combo_item = self.usb_combo.get_active_text()
>               if combo_item and combo_item != self.__dummy_usb__ and self.image_path:
>                   cmdline = bb.ui.crumbs.utils.which_terminal()
> @@ -172,15 +173,18 @@ class DeployImageDialog (CrumbsDialog):
>                       if int(tmpfile.readline().strip()) == 0:
>                           lbl = "<b>Deploy image successfully.</b>"
>                       else:
> -                        lbl = "<b>Failed to deploy image.</b>\nPlease check image <b>%s</b> exists and USB device <b>%s</b> is writable." % (self.image_path, combo_item)
> +                        lbl = "<b>Failed to deploy image.</b>"
> +                        msg = "Please check image <b>%s</b> exists and USB device <b>%s</b> is writable." % (self.image_path, combo_item)
>                       tmpfile.close()
>               else:
>                   if not self.image_path:
> -                    lbl = "<b>No selection made.</b>\nYou have not selected an image to deploy."
> +                    lbl = "<b>No selection made.</b>"
> +                    msg = "You have not selected an image to deploy."
>                   else:
> -                    lbl = "<b>No selection made.</b>\nYou have not selected a USB device."
> +                    lbl = "<b>No selection made.</b>"
> +                    msg = "You have not selected a USB device."
>               if len(lbl):
> -                crumbs_dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
> +                crumbs_dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_INFO, msg)
>                   button = crumbs_dialog.add_button("Close", gtk.RESPONSE_OK)
>                   HobButton.style_button(button)
>                   crumbs_dialog.run()
> diff --git a/bitbake/lib/bb/ui/crumbs/hig/layerselectiondialog.py b/bitbake/lib/bb/ui/crumbs/hig/layerselectiondialog.py
> index 783ee73..1d100c5 100644
> --- a/bitbake/lib/bb/ui/crumbs/hig/layerselectiondialog.py
> +++ b/bitbake/lib/bb/ui/crumbs/hig/layerselectiondialog.py
> @@ -92,7 +92,8 @@ class LayerSelectionDialog (CrumbsDialog):
>           path = dialog.get_filename()
>           dialog.destroy()
>   
> -        lbl = "<b>Error</b>\nUnable to load layer <i>%s</i> because " % path
> +        lbl = "<b>Error</b>"
> +        msg = "Unable to load layer <i>%s</i> because " % path
>           if response == gtk.RESPONSE_YES:
>               import os
>               import os.path
> @@ -103,15 +104,15 @@ class LayerSelectionDialog (CrumbsDialog):
>                   it = layer_store.iter_next(it)
>   
>               if not path:
> -                lbl += "it is an invalid path."
> +                msg += "it is an invalid path."
>               elif not os.path.exists(path+"/conf/layer.conf"):
> -                lbl += "there is no layer.conf inside the directory."
> +                msg += "there is no layer.conf inside the directory."
>               elif path in layers:
> -                lbl += "it is already in loaded layers."
> +                msg += "it is already in loaded layers."
>               else:
>                   layer_store.append([path])
>                   return
> -            dialog = CrumbsMessageDialog(parent, lbl)
> +            dialog = CrumbsMessageDialog(parent, lbl, gtk.MESSAGE_ERROR, msg)
>               dialog.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_OK)
>               response = dialog.run()
>               dialog.destroy()
> diff --git a/bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py b/bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py
> index e940cee..4195f70 100644
> --- a/bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py
> +++ b/bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py
> @@ -146,12 +146,11 @@ class SaveImageDialog (CrumbsDialog):
>               self.show_invalid_input_error_dialog()
>   
>       def show_invalid_input_error_dialog(self):
> -        lbl = "<b>Invalid characters in image recipe name</b>\n"
> +        lbl = "<b>Invalid characters in image recipe name</b>"
>           msg = "Image recipe names should be all lowercase and\n"
>           msg += "include only alphanumeric characters. The only\n"
>           msg += "special character you can use is the ASCII hyphen (-)."
> -        lbl = lbl + "\n%s\n" % glib.markup_escape_text(msg)
> -        dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
> +        dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_ERROR, msg)
>           button = dialog.add_button("Close", gtk.RESPONSE_OK)
>           HobButton.style_button(button)
>   
> diff --git a/bitbake/lib/bb/ui/crumbs/hig/simplesettingsdialog.py b/bitbake/lib/bb/ui/crumbs/hig/simplesettingsdialog.py
> index de924b1..5229a3d 100644
> --- a/bitbake/lib/bb/ui/crumbs/hig/simplesettingsdialog.py
> +++ b/bitbake/lib/bb/ui/crumbs/hig/simplesettingsdialog.py
> @@ -214,9 +214,9 @@ class SimpleSettingsDialog (CrumbsDialog, SettingsUIHelper):
>               # Check that all proxy entries have a corresponding port
>               for proxy, port in zip(self.all_proxy_addresses, self.all_proxy_ports):
>                   if proxy.get_text() and not port.get_text():
> -                    lbl = "<b>Enter all port numbers</b>\n\n"
> +                    lbl = "<b>Enter all port numbers</b>"
>                       msg = "Proxy servers require a port number. Please make sure you have entered a port number for each proxy server."
> -                    dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_WARNING, msg)
> +                    dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_WARNING, msg)
>                       button = dialog.add_button("Close", gtk.RESPONSE_OK)
>                       HobButton.style_button(button)
>                       response = dialog.run()
Hi Valentin,
Using gtk.STOCK_DIALOG_.. stuff, Hob looks as per design. I tested your 
patch, but, for example, when you stop a build the message shown uses an 
error image (not a warning one) and all the widgets are placed 
different. It looks better without it. Please send a contrib branch to 
Belen, to know her opinion, because it hase a big impact on design.
Thanks,
Cristiana



More information about the bitbake-devel mailing list