From: Joshua Lock <josh@linux.intel.com>
To: bitbake-devel@lists.openembedded.org
Subject: Re: [PATCH 10/11] Hob: Add stop button for parsing progress
Date: Wed, 14 Mar 2012 12:37:31 -0700 [thread overview]
Message-ID: <4F60F37B.3080602@linux.intel.com> (raw)
In-Reply-To: <b336abc11268177d4030f526384819717b43d2ce.1331716896.git.dongxiao.xu@intel.com>
On 14/03/12 02:26, Dongxiao Xu wrote:
> Add a Stop button to allow user to quit the parsing process.
>
> Signed-off-by: Dongxiao Xu<dongxiao.xu@intel.com>
I'm upset to see using 5 for padding after having raised the issue so
many times... I don't think it's a good enough reason to bounce this
functionality when the padding is all over app-wide though.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
> ---
> lib/bb/ui/crumbs/builder.py | 22 +++++++++++++++++++++-
> lib/bb/ui/crumbs/hobeventhandler.py | 3 +++
> lib/bb/ui/crumbs/imageconfigurationpage.py | 14 +++++++++++++-
> 3 files changed, 37 insertions(+), 2 deletions(-)
>
> diff --git a/lib/bb/ui/crumbs/builder.py b/lib/bb/ui/crumbs/builder.py
> index 1363475..1d255ac 100755
> --- a/lib/bb/ui/crumbs/builder.py
> +++ b/lib/bb/ui/crumbs/builder.py
> @@ -443,7 +443,20 @@ class Builder(gtk.Window):
> self.switch_page(self.MACHINE_SELECTION)
>
> def window_sensitive(self, sensitive):
> - self.set_sensitive(sensitive)
> + self.image_configuration_page.machine_combo.set_sensitive(sensitive)
> + self.image_configuration_page.image_combo.set_sensitive(sensitive)
> + self.image_configuration_page.layer_button.set_sensitive(sensitive)
> + self.image_configuration_page.layer_info_icon.set_sensitive(sensitive)
> + self.image_configuration_page.toolbar.set_sensitive(sensitive)
> + self.image_configuration_page.view_recipes_button.set_sensitive(sensitive)
> + self.image_configuration_page.view_packages_button.set_sensitive(sensitive)
> + self.image_configuration_page.config_build_button.set_sensitive(sensitive)
> +
> + self.recipe_details_page.set_sensitive(sensitive)
> + self.package_details_page.set_sensitive(sensitive)
> + self.build_details_page.set_sensitive(sensitive)
> + self.image_details_page.set_sensitive(sensitive)
> +
> if sensitive:
> self.get_root_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.LEFT_PTR))
> else:
> @@ -482,6 +495,10 @@ class Builder(gtk.Window):
> fraction = 0
> if message["eventname"] == "TreeDataPreparationStarted":
> fraction = 0.6 + fraction
> + self.image_configuration_page.stop_button.set_sensitive(False)
> + else:
> + self.image_configuration_page.stop_button.set_sensitive(True)
> +
> self.image_configuration_page.update_progress_bar(message["title"], fraction)
>
> def handler_parsing_cb(self, handler, message):
> @@ -836,6 +853,9 @@ class Builder(gtk.Window):
> def show_configuration(self):
> self.switch_page(self.BASEIMG_SELECTED)
>
> + def stop_parse(self):
> + self.handler.cancel_parse()
> +
> def stop_build(self):
> if self.stopping:
> lbl = "<b>Force Stop build?</b>\nYou've already selected Stop once,"
> diff --git a/lib/bb/ui/crumbs/hobeventhandler.py b/lib/bb/ui/crumbs/hobeventhandler.py
> index cd25754..790e2ef 100644
> --- a/lib/bb/ui/crumbs/hobeventhandler.py
> +++ b/lib/bb/ui/crumbs/hobeventhandler.py
> @@ -371,6 +371,9 @@ class HobHandler(gobject.GObject):
> self.commands_async = []
> self.building = False
>
> + def cancel_parse(self):
> + self.server.runCommand(["stateStop"])
> +
> def cancel_build(self, force=False):
> if force:
> # Force the cooker to stop as quickly as possible
> diff --git a/lib/bb/ui/crumbs/imageconfigurationpage.py b/lib/bb/ui/crumbs/imageconfigurationpage.py
> index f386281..2af9054 100644
> --- a/lib/bb/ui/crumbs/imageconfigurationpage.py
> +++ b/lib/bb/ui/crumbs/imageconfigurationpage.py
> @@ -150,7 +150,13 @@ class ImageConfigurationPage (HobPage):
> markup += "poky-ref-manual.html#usingpoky-changes-layers\">reference manual</a>."
> self.layer_info_icon = HobInfoButton(markup, self.get_parent())
>
> + self.progress_box = gtk.HBox(False, 5)
> self.progress_bar = HobProgressBar()
> + self.progress_box.pack_start(self.progress_bar, expand=True, fill=True)
> + self.stop_button = gtk.LinkButton("Stop the parsing process", "Stop")
> + self.stop_button.connect("clicked", self.stop_button_clicked_cb)
> + self.progress_box.pack_end(self.stop_button, expand=False, fill=False)
> +
> self.machine_separator = gtk.HSeparator()
>
> def set_config_machine_layout(self, show_progress_bar = False):
> @@ -160,7 +166,7 @@ class ImageConfigurationPage (HobPage):
> self.gtable.attach(self.layer_button, 12, 36, 6, 10)
> self.gtable.attach(self.layer_info_icon, 36, 40, 6, 9)
> if show_progress_bar == True:
> - self.gtable.attach(self.progress_bar, 0, 40, 13, 17)
> + self.gtable.attach(self.progress_box, 0, 40, 13, 17)
> self.gtable.attach(self.machine_separator, 0, 40, 12, 13)
>
> def create_config_baseimg(self):
> @@ -242,8 +248,14 @@ class ImageConfigurationPage (HobPage):
>
> return button_box
>
> + def stop_button_clicked_cb(self, button):
> + self.builder.stop_parse()
> +
> def machine_combo_changed_cb(self, machine_combo):
> combo_item = machine_combo.get_active_text()
> + if not combo_item:
> + return
> +
> self.builder.configuration.curr_mach = combo_item
> # Do reparse recipes
> self.builder.switch_page(self.builder.RCPPKGINFO_POPULATING)
--
Joshua '贾詡' Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre
next prev parent reply other threads:[~2012-03-14 19:47 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-14 9:26 [PATCH 00/11][PULL] Hob: Functionality and GUI fixes Dongxiao Xu
2012-03-14 9:26 ` [PATCH 01/11] Hob: add "Close" button to "BinbDialog" Dongxiao Xu
2012-03-14 19:38 ` Joshua Lock
2012-03-14 9:26 ` [PATCH 02/11] Hob: Disable the handling of "NoProvider" event Dongxiao Xu
2012-03-14 19:37 ` Joshua Lock
2012-03-15 8:31 ` Xu, Dongxiao
2012-03-15 22:35 ` Joshua Lock
2012-03-14 9:26 ` [PATCH 03/11] cooker: add package rdepends and rrecommends info Dongxiao Xu
2012-03-14 19:37 ` Joshua Lock
2012-03-14 9:26 ` [PATCH 04/11] Hob: Fix the image installation dependency Dongxiao Xu
2012-03-14 19:37 ` Joshua Lock
2012-03-15 6:02 ` Xu, Dongxiao
2012-03-15 17:47 ` Joshua Lock
2012-03-14 9:26 ` [PATCH 05/11] Hob: Remove the reset button in recipe/package selection page Dongxiao Xu
2012-03-14 19:37 ` Joshua Lock
2012-03-14 9:26 ` [PATCH 06/11] Hob: Remove the indication in machine/base image combobox Dongxiao Xu
2012-03-14 19:37 ` Joshua Lock
2012-03-14 9:26 ` [PATCH 07/11] Hob: Remove the recipe/package populated signal Dongxiao Xu
2012-03-14 19:37 ` Joshua Lock
2012-03-14 9:26 ` [PATCH 08/11] Hob: Show recipe/package editing button after base image is selected Dongxiao Xu
2012-03-14 19:37 ` Joshua Lock
2012-03-14 9:26 ` [PATCH 09/11] Hob: Emit command-failed signal even if error msg is None Dongxiao Xu
2012-03-14 19:37 ` Joshua Lock
2012-03-14 9:26 ` [PATCH 10/11] Hob: Add stop button for parsing progress Dongxiao Xu
2012-03-14 19:37 ` Joshua Lock [this message]
2012-03-15 0:44 ` Xu, Dongxiao
2012-03-14 9:26 ` [PATCH 11/11] Hob: improve recipe/package selection performance Dongxiao Xu
2012-03-14 19:37 ` Joshua Lock
2012-03-14 23:54 ` Xu, Dongxiao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F60F37B.3080602@linux.intel.com \
--to=josh@linux.intel.com \
--cc=bitbake-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox