* [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder
@ 2012-02-23 13:48 Dongxiao Xu
2012-02-23 13:51 ` Xu, Dongxiao
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Dongxiao Xu @ 2012-02-23 13:48 UTC (permalink / raw)
To: bitbake-devel
Hi Richard,
This pull request is a new implementation for Human Oriented Builder, please help to review and pull.
Changes from previous pull requests:
- Re-implemented a lot of code according to Belen's new GUI design.
Note that this pull request depends on the following pull requests:
- hob2-bitbake-changes
- hob2-oecore-changes
Thanks,
Dongxiao
The following changes since commit cec8b6e6c33582be660dd35c6050efc3f28e6baa:
runqueue: fire sceneQueueTaskStarted event when a setscene queue starts (2012-02-23 21:04:49 +0800)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib dxu4/hob2
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dxu4/hob2
Dongxiao Xu (1):
Hob: A new implemetation for Human Oriented Builder
bitbake/lib/bb/ui/crumbs/builddetailspage.py | 110 ++
bitbake/lib/bb/ui/crumbs/builder.py | 873 +++++++++++++++
bitbake/lib/bb/ui/crumbs/hobcolor.py | 35 +
bitbake/lib/bb/ui/crumbs/hoblistmodel.py | 765 ++++++++++++++
bitbake/lib/bb/ui/crumbs/hobpages.py | 87 ++
bitbake/lib/bb/ui/crumbs/hobwidget.py | 805 ++++++++++++++
bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py | 358 +++++++
bitbake/lib/bb/ui/crumbs/imagedetailspage.py | 294 +++++
bitbake/lib/bb/ui/crumbs/packageselectionpage.py | 226 ++++
bitbake/lib/bb/ui/crumbs/progressbar.py | 52 +
bitbake/lib/bb/ui/crumbs/recipeselectionpage.py | 221 ++++
bitbake/lib/bb/ui/crumbs/template.py | 180 ++++
bitbake/lib/bb/ui/icons/images/images_display.png | Bin 0 -> 6898 bytes
bitbake/lib/bb/ui/icons/images/images_hover.png | Bin 0 -> 7051 bytes
bitbake/lib/bb/ui/icons/indicators/alert.png | Bin 0 -> 3954 bytes
.../lib/bb/ui/icons/indicators/confirmation.png | Bin 0 -> 5789 bytes
bitbake/lib/bb/ui/icons/indicators/denied.png | Bin 0 -> 3955 bytes
bitbake/lib/bb/ui/icons/indicators/error.png | Bin 0 -> 6482 bytes
bitbake/lib/bb/ui/icons/indicators/issues.png | Bin 0 -> 4549 bytes
bitbake/lib/bb/ui/icons/indicators/refresh.png | Bin 0 -> 5250 bytes
bitbake/lib/bb/ui/icons/indicators/tick.png | Bin 0 -> 4563 bytes
bitbake/lib/bb/ui/icons/info/info_display.png | Bin 0 -> 4760 bytes
bitbake/lib/bb/ui/icons/info/info_hover.png | Bin 0 -> 4847 bytes
bitbake/lib/bb/ui/icons/layers/layers_display.png | Bin 0 -> 5326 bytes
bitbake/lib/bb/ui/icons/layers/layers_hover.png | Bin 0 -> 5390 bytes
.../lib/bb/ui/icons/packages/packages_display.png | Bin 0 -> 7188 bytes
.../lib/bb/ui/icons/packages/packages_hover.png | Bin 0 -> 7308 bytes
bitbake/lib/bb/ui/icons/recipe/recipe_display.png | Bin 0 -> 4873 bytes
bitbake/lib/bb/ui/icons/recipe/recipe_hover.png | Bin 0 -> 5003 bytes
.../lib/bb/ui/icons/settings/settings_display.png | Bin 0 -> 6076 bytes
.../lib/bb/ui/icons/settings/settings_hover.png | Bin 0 -> 6269 bytes
.../bb/ui/icons/templates/templates_display.png | Bin 0 -> 5651 bytes
.../lib/bb/ui/icons/templates/templates_hover.png | Bin 0 -> 5791 bytes
lib/bb/ui/crumbs/configurator.py | 346 ------
lib/bb/ui/crumbs/hig.py | 589 ++++++++++-
lib/bb/ui/crumbs/hobeventhandler.py | 586 ++++++----
lib/bb/ui/crumbs/hobprefs.py | 335 ------
lib/bb/ui/crumbs/layereditor.py | 153 ---
lib/bb/ui/crumbs/progress.py | 20 -
lib/bb/ui/crumbs/runningbuild.py | 55 +-
lib/bb/ui/crumbs/tasklistmodel.py | 620 -----------
lib/bb/ui/hob.py | 1115 +-------------------
lib/bb/ui/uihelper.py | 42 +
43 files changed, 5065 insertions(+), 2802 deletions(-)
create mode 100755 bitbake/lib/bb/ui/crumbs/builddetailspage.py
create mode 100755 bitbake/lib/bb/ui/crumbs/builder.py
create mode 100644 bitbake/lib/bb/ui/crumbs/hobcolor.py
create mode 100644 bitbake/lib/bb/ui/crumbs/hoblistmodel.py
create mode 100755 bitbake/lib/bb/ui/crumbs/hobpages.py
create mode 100644 bitbake/lib/bb/ui/crumbs/hobwidget.py
create mode 100644 bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
create mode 100755 bitbake/lib/bb/ui/crumbs/imagedetailspage.py
create mode 100755 bitbake/lib/bb/ui/crumbs/packageselectionpage.py
create mode 100644 bitbake/lib/bb/ui/crumbs/progressbar.py
create mode 100755 bitbake/lib/bb/ui/crumbs/recipeselectionpage.py
create mode 100644 bitbake/lib/bb/ui/crumbs/template.py
create mode 100644 bitbake/lib/bb/ui/icons/images/images_display.png
create mode 100644 bitbake/lib/bb/ui/icons/images/images_hover.png
create mode 100644 bitbake/lib/bb/ui/icons/indicators/alert.png
create mode 100644 bitbake/lib/bb/ui/icons/indicators/confirmation.png
create mode 100644 bitbake/lib/bb/ui/icons/indicators/denied.png
create mode 100644 bitbake/lib/bb/ui/icons/indicators/error.png
create mode 100644 bitbake/lib/bb/ui/icons/indicators/issues.png
create mode 100644 bitbake/lib/bb/ui/icons/indicators/refresh.png
create mode 100644 bitbake/lib/bb/ui/icons/indicators/tick.png
create mode 100644 bitbake/lib/bb/ui/icons/info/info_display.png
create mode 100644 bitbake/lib/bb/ui/icons/info/info_hover.png
create mode 100644 bitbake/lib/bb/ui/icons/layers/layers_display.png
create mode 100644 bitbake/lib/bb/ui/icons/layers/layers_hover.png
create mode 100644 bitbake/lib/bb/ui/icons/packages/packages_display.png
create mode 100644 bitbake/lib/bb/ui/icons/packages/packages_hover.png
create mode 100644 bitbake/lib/bb/ui/icons/recipe/recipe_display.png
create mode 100644 bitbake/lib/bb/ui/icons/recipe/recipe_hover.png
create mode 100644 bitbake/lib/bb/ui/icons/settings/settings_display.png
create mode 100644 bitbake/lib/bb/ui/icons/settings/settings_hover.png
create mode 100644 bitbake/lib/bb/ui/icons/templates/templates_display.png
create mode 100644 bitbake/lib/bb/ui/icons/templates/templates_hover.png
delete mode 100644 lib/bb/ui/crumbs/configurator.py
delete mode 100644 lib/bb/ui/crumbs/hobprefs.py
delete mode 100644 lib/bb/ui/crumbs/layereditor.py
delete mode 100644 lib/bb/ui/crumbs/progress.py
delete mode 100644 lib/bb/ui/crumbs/tasklistmodel.py
mode change 100644 => 100755 lib/bb/ui/hob.py
--
1.7.4.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder
2012-02-23 13:48 [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder Dongxiao Xu
@ 2012-02-23 13:51 ` Xu, Dongxiao
2012-02-24 2:42 ` Joshua Lock
2012-02-24 18:17 ` Richard Purdie
2 siblings, 0 replies; 8+ messages in thread
From: Xu, Dongxiao @ 2012-02-23 13:51 UTC (permalink / raw)
To: bitbake-devel
The [patch 1/1] exceeds the mailing list's limit.
Please directly visit
http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=dxu4/hob2&id=e60627675eb47a3605905921b5208f5840a21907
to see the change.
Thanks,
Dongxiao
On Thu, 2012-02-23 at 21:48 +0800, Dongxiao Xu wrote:
> Hi Richard,
>
> This pull request is a new implementation for Human Oriented Builder, please help to review and pull.
>
> Changes from previous pull requests:
> - Re-implemented a lot of code according to Belen's new GUI design.
>
> Note that this pull request depends on the following pull requests:
> - hob2-bitbake-changes
> - hob2-oecore-changes
>
> Thanks,
> Dongxiao
>
>
> The following changes since commit cec8b6e6c33582be660dd35c6050efc3f28e6baa:
>
> runqueue: fire sceneQueueTaskStarted event when a setscene queue starts (2012-02-23 21:04:49 +0800)
>
> are available in the git repository at:
> git://git.pokylinux.org/poky-contrib dxu4/hob2
> http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dxu4/hob2
>
> Dongxiao Xu (1):
> Hob: A new implemetation for Human Oriented Builder
>
> bitbake/lib/bb/ui/crumbs/builddetailspage.py | 110 ++
> bitbake/lib/bb/ui/crumbs/builder.py | 873 +++++++++++++++
> bitbake/lib/bb/ui/crumbs/hobcolor.py | 35 +
> bitbake/lib/bb/ui/crumbs/hoblistmodel.py | 765 ++++++++++++++
> bitbake/lib/bb/ui/crumbs/hobpages.py | 87 ++
> bitbake/lib/bb/ui/crumbs/hobwidget.py | 805 ++++++++++++++
> bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py | 358 +++++++
> bitbake/lib/bb/ui/crumbs/imagedetailspage.py | 294 +++++
> bitbake/lib/bb/ui/crumbs/packageselectionpage.py | 226 ++++
> bitbake/lib/bb/ui/crumbs/progressbar.py | 52 +
> bitbake/lib/bb/ui/crumbs/recipeselectionpage.py | 221 ++++
> bitbake/lib/bb/ui/crumbs/template.py | 180 ++++
> bitbake/lib/bb/ui/icons/images/images_display.png | Bin 0 -> 6898 bytes
> bitbake/lib/bb/ui/icons/images/images_hover.png | Bin 0 -> 7051 bytes
> bitbake/lib/bb/ui/icons/indicators/alert.png | Bin 0 -> 3954 bytes
> .../lib/bb/ui/icons/indicators/confirmation.png | Bin 0 -> 5789 bytes
> bitbake/lib/bb/ui/icons/indicators/denied.png | Bin 0 -> 3955 bytes
> bitbake/lib/bb/ui/icons/indicators/error.png | Bin 0 -> 6482 bytes
> bitbake/lib/bb/ui/icons/indicators/issues.png | Bin 0 -> 4549 bytes
> bitbake/lib/bb/ui/icons/indicators/refresh.png | Bin 0 -> 5250 bytes
> bitbake/lib/bb/ui/icons/indicators/tick.png | Bin 0 -> 4563 bytes
> bitbake/lib/bb/ui/icons/info/info_display.png | Bin 0 -> 4760 bytes
> bitbake/lib/bb/ui/icons/info/info_hover.png | Bin 0 -> 4847 bytes
> bitbake/lib/bb/ui/icons/layers/layers_display.png | Bin 0 -> 5326 bytes
> bitbake/lib/bb/ui/icons/layers/layers_hover.png | Bin 0 -> 5390 bytes
> .../lib/bb/ui/icons/packages/packages_display.png | Bin 0 -> 7188 bytes
> .../lib/bb/ui/icons/packages/packages_hover.png | Bin 0 -> 7308 bytes
> bitbake/lib/bb/ui/icons/recipe/recipe_display.png | Bin 0 -> 4873 bytes
> bitbake/lib/bb/ui/icons/recipe/recipe_hover.png | Bin 0 -> 5003 bytes
> .../lib/bb/ui/icons/settings/settings_display.png | Bin 0 -> 6076 bytes
> .../lib/bb/ui/icons/settings/settings_hover.png | Bin 0 -> 6269 bytes
> .../bb/ui/icons/templates/templates_display.png | Bin 0 -> 5651 bytes
> .../lib/bb/ui/icons/templates/templates_hover.png | Bin 0 -> 5791 bytes
> lib/bb/ui/crumbs/configurator.py | 346 ------
> lib/bb/ui/crumbs/hig.py | 589 ++++++++++-
> lib/bb/ui/crumbs/hobeventhandler.py | 586 ++++++----
> lib/bb/ui/crumbs/hobprefs.py | 335 ------
> lib/bb/ui/crumbs/layereditor.py | 153 ---
> lib/bb/ui/crumbs/progress.py | 20 -
> lib/bb/ui/crumbs/runningbuild.py | 55 +-
> lib/bb/ui/crumbs/tasklistmodel.py | 620 -----------
> lib/bb/ui/hob.py | 1115 +-------------------
> lib/bb/ui/uihelper.py | 42 +
> 43 files changed, 5065 insertions(+), 2802 deletions(-)
> create mode 100755 bitbake/lib/bb/ui/crumbs/builddetailspage.py
> create mode 100755 bitbake/lib/bb/ui/crumbs/builder.py
> create mode 100644 bitbake/lib/bb/ui/crumbs/hobcolor.py
> create mode 100644 bitbake/lib/bb/ui/crumbs/hoblistmodel.py
> create mode 100755 bitbake/lib/bb/ui/crumbs/hobpages.py
> create mode 100644 bitbake/lib/bb/ui/crumbs/hobwidget.py
> create mode 100644 bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
> create mode 100755 bitbake/lib/bb/ui/crumbs/imagedetailspage.py
> create mode 100755 bitbake/lib/bb/ui/crumbs/packageselectionpage.py
> create mode 100644 bitbake/lib/bb/ui/crumbs/progressbar.py
> create mode 100755 bitbake/lib/bb/ui/crumbs/recipeselectionpage.py
> create mode 100644 bitbake/lib/bb/ui/crumbs/template.py
> create mode 100644 bitbake/lib/bb/ui/icons/images/images_display.png
> create mode 100644 bitbake/lib/bb/ui/icons/images/images_hover.png
> create mode 100644 bitbake/lib/bb/ui/icons/indicators/alert.png
> create mode 100644 bitbake/lib/bb/ui/icons/indicators/confirmation.png
> create mode 100644 bitbake/lib/bb/ui/icons/indicators/denied.png
> create mode 100644 bitbake/lib/bb/ui/icons/indicators/error.png
> create mode 100644 bitbake/lib/bb/ui/icons/indicators/issues.png
> create mode 100644 bitbake/lib/bb/ui/icons/indicators/refresh.png
> create mode 100644 bitbake/lib/bb/ui/icons/indicators/tick.png
> create mode 100644 bitbake/lib/bb/ui/icons/info/info_display.png
> create mode 100644 bitbake/lib/bb/ui/icons/info/info_hover.png
> create mode 100644 bitbake/lib/bb/ui/icons/layers/layers_display.png
> create mode 100644 bitbake/lib/bb/ui/icons/layers/layers_hover.png
> create mode 100644 bitbake/lib/bb/ui/icons/packages/packages_display.png
> create mode 100644 bitbake/lib/bb/ui/icons/packages/packages_hover.png
> create mode 100644 bitbake/lib/bb/ui/icons/recipe/recipe_display.png
> create mode 100644 bitbake/lib/bb/ui/icons/recipe/recipe_hover.png
> create mode 100644 bitbake/lib/bb/ui/icons/settings/settings_display.png
> create mode 100644 bitbake/lib/bb/ui/icons/settings/settings_hover.png
> create mode 100644 bitbake/lib/bb/ui/icons/templates/templates_display.png
> create mode 100644 bitbake/lib/bb/ui/icons/templates/templates_hover.png
> delete mode 100644 lib/bb/ui/crumbs/configurator.py
> delete mode 100644 lib/bb/ui/crumbs/hobprefs.py
> delete mode 100644 lib/bb/ui/crumbs/layereditor.py
> delete mode 100644 lib/bb/ui/crumbs/progress.py
> delete mode 100644 lib/bb/ui/crumbs/tasklistmodel.py
> mode change 100644 => 100755 lib/bb/ui/hob.py
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder
2012-02-23 13:48 [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder Dongxiao Xu
2012-02-23 13:51 ` Xu, Dongxiao
@ 2012-02-24 2:42 ` Joshua Lock
2012-02-27 12:26 ` Wang, Shane
2012-02-24 18:17 ` Richard Purdie
2 siblings, 1 reply; 8+ messages in thread
From: Joshua Lock @ 2012-02-24 2:42 UTC (permalink / raw)
To: bitbake-devel
On 23/02/12 05:48, Dongxiao Xu wrote:
> Hi Richard,
>
> This pull request is a new implementation for Human Oriented Builder, please help to review and pull.
Please, let's not call it the Human Oriented Builder. It was always just
Hob, not HOB - are we changing that now?
> Changes from previous pull requests:
> - Re-implemented a lot of code according to Belen's new GUI design.
This is really hard to review as a several thousand line patch... It's
difficult to know where what seems like an odd decision in the code was
made for a sane reason without any git history or code comments to
follow the logic of the development.
The fact that the patch was rejected by the mailing list is a good
indication that we need to separate into smaller logical commits.
I could review coding style, but that is probably pretty useless at this
point and so offer somewhat superficial comments below regarding UI
implementation with Gtk+.
First things first, I can't run the BitBake in the submitted branch:
joshual@shamshir:~/Projects/Yocto/poky/build [master *]
$ ../bitbake/bin/bitbake -u hob
Traceback (most recent call last):
File "../bitbake/bin/bitbake", line 258, in <module>
ret = main()
File "../bitbake/bin/bitbake", line 178, in main
ui_main = get_ui(configuration)
File "../bitbake/bin/bitbake", line 68, in get_ui
module = __import__("bb.ui", fromlist = [interface])
File "../bitbake/lib/bb/ui/hob.py", line 33, in <module>
from bb.ui.crumbs.hoblistmodel import RecipeListModel, PackageListModel
I found and ran a recent poky-contrib branch for Hob, though I've no
idea if it reflects what's in this patch, just so that I had something
to look at and offer feedback on.
The Build environment tab of the settings dialogue doesn't fit in the
allocated space - I had to resize the dialogue to see Save and Cancel
buttons. This is also true of the Others tab though less so.
These buttons don't follow the GNOME HIG in several ways, perhaps this
is intentional?
It's also worth noting that the visual style 'leaks' in the Settings
dialogue and I see standard Gtk light-bulb info icons rather than the
steely i displayed on the main page.
The 'Package list may be incomplete' dialogue is a very nice piece of
functionality but interface-wise I'd expect to see the buttons labelled
along the lines of 'Get full list' 'View existing'.
It seems like the Stop Build tracking isn't consistently reset between
builds so when I was playing around started & stopped a build then
played some more and started another build and tried to stop it I only
had the option to Force Stop or Cancel...
Taking a look at the code the first thing I notice is multiples of 5 for
spacing, why is that? I thought we'd agreed with Belen that we'd follow
the GNOME HIG for consistent visuals amongst Gtk+ apps?
Further, there are still hard-coded colour values. Are these issues on
the "to fix later" list?
I'm not suggesting these hold up merging - just asking the question. I
can play HIG zealot and write a patch once this is merged? I think it's
important we present a professional GUI which matches the visuals of the
host OS.
The buttons that act like tabs for changing between notebook pages (i.e.
on the 'Package Selection' view) took me a long time to figure out as
they look like they are depressed (mid-click) buttons for the inactive
tabs and ready to click buttons for the active tabs - confusing visual.
There's at least one instance of commented out code (a signal handler
connection in builder.py) - we can probably drop those, right?
Setting the size and position of windows on each launch (as in
builder.py) is generally considered to be hostile to users - it should
be sufficient to start with a sane default size and then as the UI
allows the user to resize it we should remember the size for the next
launch.
This UI has come on leaps and bounds and I look forward to seeing this
foundation polished over the coming weeks. Maybe I can even submit some
changes myself.
Hopefully this splash of feedback gives you something to work with...
Cheers,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder
2012-02-23 13:48 [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder Dongxiao Xu
2012-02-23 13:51 ` Xu, Dongxiao
2012-02-24 2:42 ` Joshua Lock
@ 2012-02-24 18:17 ` Richard Purdie
2012-02-27 0:54 ` Xu, Dongxiao
2 siblings, 1 reply; 8+ messages in thread
From: Richard Purdie @ 2012-02-24 18:17 UTC (permalink / raw)
To: Dongxiao Xu; +Cc: bitbake-devel
On Thu, 2012-02-23 at 21:48 +0800, Dongxiao Xu wrote:
> Hi Richard,
>
> This pull request is a new implementation for Human Oriented Builder, please help to review and pull.
>
> Changes from previous pull requests:
> - Re-implemented a lot of code according to Belen's new GUI design.
>
> Note that this pull request depends on the following pull requests:
> - hob2-bitbake-changes
> - hob2-oecore-changes
>
> Thanks,
> Dongxiao
>
>
> The following changes since commit cec8b6e6c33582be660dd35c6050efc3f28e6baa:
>
> runqueue: fire sceneQueueTaskStarted event when a setscene queue starts (2012-02-23 21:04:49 +0800)
>
> are available in the git repository at:
> git://git.pokylinux.org/poky-contrib dxu4/hob2
> http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dxu4/hob2
>
> Dongxiao Xu (1):
> Hob: A new implemetation for Human Oriented Builder
I just merged this branch however there are some things I need to make
clear, particularly why I've done it and why this should never happen
again.
Having everything as one huge monster patch effectively means its
impossible to review. I've taken it since it would probably take weeks
to split into changesets and I'm not sure that would be productive work.
At least if its in master, people can test it out and send
patches/incremental improvements from now on so I have taken it on this
basis. I want to make it clear this is a one time exception and isn't
going to be acceptable in future.
Secondly, I merged the patch but didn't realise it was corrupt, some
files had the prefix "bitbake/" and some did not. I've corrected this
but it caused me quite a bit of confusion.
Joshua's reply in this thread also has some valid questions I'd like to
see answered.
I'd also like to stress the Human Oriented Builder name needs to die
(sorry Dave), I removed it from the commit message.
All the above isn't to say I don't love the progress we're making with
the UI btw, we just also need to keep an eye on the housekeeping stuff
too.
Cheers,
Richard
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder
2012-02-24 18:17 ` Richard Purdie
@ 2012-02-27 0:54 ` Xu, Dongxiao
0 siblings, 0 replies; 8+ messages in thread
From: Xu, Dongxiao @ 2012-02-27 0:54 UTC (permalink / raw)
To: Richard Purdie; +Cc: bitbake-devel
On Fri, 2012-02-24 at 18:17 +0000, Richard Purdie wrote:
> On Thu, 2012-02-23 at 21:48 +0800, Dongxiao Xu wrote:
> > Hi Richard,
> >
> > This pull request is a new implementation for Human Oriented Builder, please help to review and pull.
> >
> > Changes from previous pull requests:
> > - Re-implemented a lot of code according to Belen's new GUI design.
> >
> > Note that this pull request depends on the following pull requests:
> > - hob2-bitbake-changes
> > - hob2-oecore-changes
> >
> > Thanks,
> > Dongxiao
> >
> >
> > The following changes since commit cec8b6e6c33582be660dd35c6050efc3f28e6baa:
> >
> > runqueue: fire sceneQueueTaskStarted event when a setscene queue starts (2012-02-23 21:04:49 +0800)
> >
> > are available in the git repository at:
> > git://git.pokylinux.org/poky-contrib dxu4/hob2
> > http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dxu4/hob2
> >
> > Dongxiao Xu (1):
> > Hob: A new implemetation for Human Oriented Builder
>
> I just merged this branch however there are some things I need to make
> clear, particularly why I've done it and why this should never happen
> again.
>
> Having everything as one huge monster patch effectively means its
> impossible to review. I've taken it since it would probably take weeks
> to split into changesets and I'm not sure that would be productive work.
> At least if its in master, people can test it out and send
> patches/incremental improvements from now on so I have taken it on this
> basis. I want to make it clear this is a one time exception and isn't
> going to be acceptable in future.
>
> Secondly, I merged the patch but didn't realise it was corrupt, some
> files had the prefix "bitbake/" and some did not. I've corrected this
> but it caused me quite a bit of confusion.
>
> Joshua's reply in this thread also has some valid questions I'd like to
> see answered.
>
> I'd also like to stress the Human Oriented Builder name needs to die
> (sorry Dave), I removed it from the commit message.
>
> All the above isn't to say I don't love the progress we're making with
> the UI btw, we just also need to keep an eye on the housekeeping stuff
> too.
Thanks Richard, we will pay more attention to it.
Thanks,
Dongxiao
>
> Cheers,
>
> Richard
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder
2012-02-24 2:42 ` Joshua Lock
@ 2012-02-27 12:26 ` Wang, Shane
2012-02-27 23:15 ` Joshua Lock
0 siblings, 1 reply; 8+ messages in thread
From: Wang, Shane @ 2012-02-27 12:26 UTC (permalink / raw)
To: Joshua Lock, bitbake-devel
Joshua Lock wrote on 2012-02-24:
>
>
> On 23/02/12 05:48, Dongxiao Xu wrote:
>> Hi Richard,
>>
>> This pull request is a new implementation for Human Oriented Builder,
> please help to review and pull.
>
> Please, let's not call it the Human Oriented Builder. It was always just
> Hob, not HOB - are we changing that now?
>
>> Changes from previous pull requests:
>> - Re-implemented a lot of code according to Belen's new GUI design.
>
> This is really hard to review as a several thousand line patch... It's
> difficult to know where what seems like an odd decision in the code was
> made for a sane reason without any git history or code comments to
> follow the logic of the development.
>
> The fact that the patch was rejected by the mailing list is a good
> indication that we need to separate into smaller logical commits.
>
> I could review coding style, but that is probably pretty useless at this
> point and so offer somewhat superficial comments below regarding UI
> implementation with Gtk+.
Sorry for that, it convinces me that a design document is useful.
The problem is because the UI was changed a lot in a short time, even though we compared with our previous version in Jan.
So, next time we will pay more attention to submit incremental patches.
>
> First things first, I can't run the BitBake in the submitted branch:
>
> joshual@shamshir:~/Projects/Yocto/poky/build [master *]
> $ ../bitbake/bin/bitbake -u hob
>
> Traceback (most recent call last):
> File "../bitbake/bin/bitbake", line 258, in <module>
> ret = main() File "../bitbake/bin/bitbake", line 178, in main
> ui_main = get_ui(configuration) File "../bitbake/bin/bitbake", line
> 68, in get_ui module = __import__("bb.ui", fromlist = [interface])
> File "../bitbake/lib/bb/ui/hob.py", line 33, in <module> from
> bb.ui.crumbs.hoblistmodel import RecipeListModel,
> PackageListModel
>
> I found and ran a recent poky-contrib branch for Hob, though I've no
> idea if it reflects what's in this patch, just so that I had something
> to look at and offer feedback on.
>
> The Build environment tab of the settings dialogue doesn't fit in the
> allocated space - I had to resize the dialogue to see Save and Cancel
> buttons. This is also true of the Others tab though less so.
> These buttons don't follow the GNOME HIG in several ways, perhaps this
> is intentional?
We didn't notice the code didn't follow the GNOME HIG, and thank you for your patches to fix it.
>
> It's also worth noting that the visual style 'leaks' in the Settings
> dialogue and I see standard Gtk light-bulb info icons rather than the
> steely i displayed on the main page.
In the settings dialog, we didn't make any specific icon for tool tip.
On Ubuntu, it is a "i". On Fedora 16, it becomes a light-bulb. I am thinking how to make it?
>
> The 'Package list may be incomplete' dialogue is a very nice piece of
> functionality but interface-wise I'd expect to see the buttons labelled
> along the lines of 'Get full list' 'View existing'.
Will consider to make them.
>
> It seems like the Stop Build tracking isn't consistently reset between
> builds so when I was playing around started & stopped a build then
> played some more and started another build and tried to stop it I only
> had the option to Force Stop or Cancel...
OK.
>
> Taking a look at the code the first thing I notice is multiples of 5 for
> spacing, why is that? I thought we'd agreed with Belen that we'd follow
> the GNOME HIG for consistent visuals amongst Gtk+ apps?
OK
> Further, there are still hard-coded colour values. Are these issues on
> the "to fix later" list?
Do you mean the green progress bar and others? For the progress bar, Jessica has a comment that she doesn't want see orange bar which is the default on Ubuntu but want to see a green one which is consistent with the running color in the build details.
For some buttons like "Just bake", we try to make it look the same as Belen's video.
Are you suggesting to set them default?
If not the above, the hard-coded color values should be fixed, we hope to include all color values in hobcolor.py
>
> I'm not suggesting these hold up merging - just asking the question. I
> can play HIG zealot and write a patch once this is merged? I think it's
> important we present a professional GUI which matches the visuals of the
> host OS.
>
> The buttons that act like tabs for changing between notebook pages (i.e.
> on the 'Package Selection' view) took me a long time to figure out as
> they look like they are depressed (mid-click) buttons for the inactive
> tabs and ready to click buttons for the active tabs - confusing visual.
I have the patches to fix it, and am cleaning them up for submission.
>
> There's at least one instance of commented out code (a signal handler
> connection in builder.py) - we can probably drop those, right?
Do you mean to drop the handler instance in builder.py?
If so, how could the builder call the handler's functions?
>
> Setting the size and position of windows on each launch (as in
> builder.py) is generally considered to be hostile to users - it should
> be sufficient to start with a sane default size and then as the UI
> allows the user to resize it we should remember the size for the next
> launch.
OK. But sometimes we should consider the screen dimension. For instance the builder, the main window, I bet on a smaller screen (say, 800X600) the visual components will look ugly. How can I address the problem? For the position of the window, I agree.
>
> This UI has come on leaps and bounds and I look forward to seeing this
> foundation polished over the coming weeks. Maybe I can even submit some
> changes myself.
If you can help on some, that would be great. Thank you, Josh.
>
> Hopefully this splash of feedback gives you something to work with...
>
> Cheers,
> Joshua
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder
2012-02-27 12:26 ` Wang, Shane
@ 2012-02-27 23:15 ` Joshua Lock
2012-02-29 2:04 ` Wang, Shane
0 siblings, 1 reply; 8+ messages in thread
From: Joshua Lock @ 2012-02-27 23:15 UTC (permalink / raw)
To: Wang, Shane; +Cc: bitbake-devel
On 27/02/12 04:26, Wang, Shane wrote:
> Joshua Lock wrote on 2012-02-24:
>
>>
>>
>> On 23/02/12 05:48, Dongxiao Xu wrote:
>>> Hi Richard,
>>>
>>> This pull request is a new implementation for Human Oriented Builder,
>> please help to review and pull.
>>
>> Please, let's not call it the Human Oriented Builder. It was always just
>> Hob, not HOB - are we changing that now?
>>
>>> Changes from previous pull requests:
>>> - Re-implemented a lot of code according to Belen's new GUI design.
>>
>> This is really hard to review as a several thousand line patch... It's
>> difficult to know where what seems like an odd decision in the code was
>> made for a sane reason without any git history or code comments to
>> follow the logic of the development.
>>
>> The fact that the patch was rejected by the mailing list is a good
>> indication that we need to separate into smaller logical commits.
>>
>> I could review coding style, but that is probably pretty useless at this
>> point and so offer somewhat superficial comments below regarding UI
>> implementation with Gtk+.
> Sorry for that, it convinces me that a design document is useful.
> The problem is because the UI was changed a lot in a short time, even though we compared with our previous version in Jan.
> So, next time we will pay more attention to submit incremental patches.
Great.
<snip>
>> It's also worth noting that the visual style 'leaks' in the Settings
>> dialogue and I see standard Gtk light-bulb info icons rather than the
>> steely i displayed on the main page.
> In the settings dialog, we didn't make any specific icon for tool tip.
> On Ubuntu, it is a "i". On Fedora 16, it becomes a light-bulb. I am thinking how to make it?
That's because Ubuntu and Fedora use different stock themes. I think it
makes sense to use the i graphic from the visual design wherever you're
currently using gtk.STOCK_INFO.
>> Further, there are still hard-coded colour values. Are these issues on
>> the "to fix later" list?
> Do you mean the green progress bar and others? For the progress bar, Jessica has a comment that she doesn't want see orange bar which is the default on Ubuntu but want to see a green one which is consistent with the running color in the build details.
> For some buttons like "Just bake", we try to make it look the same as Belen's video.
> Are you suggesting to set them default?
I am, but I guess the design team needs to have the final say here. I
think Belen agreed with me in principle that we should use the colours
from the users theme to start and iterate from there. On my Fedora
machine green progress bars and orange buttons look rather out of place
in a software ecosystem which has a fairly consistent look and feel
between applications. However I care less about the colours than I do
about the button order, per my submitted patches.
> If not the above, the hard-coded color values should be fixed, we hope to include all color values in hobcolor.py
>
>
>>
>> I'm not suggesting these hold up merging - just asking the question. I
>> can play HIG zealot and write a patch once this is merged? I think it's
>> important we present a professional GUI which matches the visuals of the
>> host OS.
>>
>> The buttons that act like tabs for changing between notebook pages (i.e.
>> on the 'Package Selection' view) took me a long time to figure out as
>> they look like they are depressed (mid-click) buttons for the inactive
>> tabs and ready to click buttons for the active tabs - confusing visual.
> I have the patches to fix it, and am cleaning them up for submission.
Excellent!
>>
>> There's at least one instance of commented out code (a signal handler
>> connection in builder.py) - we can probably drop those, right?
> Do you mean to drop the handler instance in builder.py?
> If so, how could the builder call the handler's functions?
There's a commented out line which would connect to a signal handler
where it not commented out at line 201 of builder.py:
http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/bitbake/lib/bb/ui/crumbs/builder.py#n201
We can probably delete that, right?
>>
>> Setting the size and position of windows on each launch (as in
>> builder.py) is generally considered to be hostile to users - it should
>> be sufficient to start with a sane default size and then as the UI
>> allows the user to resize it we should remember the size for the next
>> launch.
> OK. But sometimes we should consider the screen dimension. For instance the builder, the main window, I bet on a smaller screen (say, 800X600) the visual components will look ugly. How can I address the problem? For the position of the window, I agree.
I don't think that telling people their resolution is too low is
especially helpful here. They can probably see that the GUI doesn't fit.
I don't know anyone that runs their system with a lower than supported
resolution, so telling them about something they can't fix doesn't help
them. It just adds insult to injury, so to speak.
Cheers,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder
2012-02-27 23:15 ` Joshua Lock
@ 2012-02-29 2:04 ` Wang, Shane
0 siblings, 0 replies; 8+ messages in thread
From: Wang, Shane @ 2012-02-29 2:04 UTC (permalink / raw)
To: Joshua Lock; +Cc: bitbake-devel
Joshua Lock wrote on 2012-02-28:
>
>
>>> It's also worth noting that the visual style 'leaks' in the Settings
>>> dialogue and I see standard Gtk light-bulb info icons rather than the
>>> steely i displayed on the main page.
>> In the settings dialog, we didn't make any specific icon for tool tip.
>> On Ubuntu, it is a "i". On Fedora 16, it becomes a light-bulb. I am thinking
> how to make it?
>
> That's because Ubuntu and Fedora use different stock themes. I think it
> makes sense to use the i graphic from the visual design wherever you're
> currently using gtk.STOCK_INFO.
OK, will have a try.
>
>>> Further, there are still hard-coded colour values. Are these issues on
>>> the "to fix later" list?
>> Do you mean the green progress bar and others? For the progress bar,
> Jessica has a comment that she doesn't want see orange bar which is the
> default on Ubuntu but want to see a green one which is consistent with the
> running color in the build details.
>> For some buttons like "Just bake", we try to make it look the same as
>> Belen's video. Are you suggesting to set them default?
>
> I am, but I guess the design team needs to have the final say here. I
> think Belen agreed with me in principle that we should use the colours
> from the users theme to start and iterate from there. On my Fedora
> machine green progress bars and orange buttons look rather out of place
> in a software ecosystem which has a fairly consistent look and feel
> between applications. However I care less about the colours than I do
> about the button order, per my submitted patches.
I also agree to use the default colors set by the OS.
>>> There's at least one instance of commented out code (a signal handler
>>> connection in builder.py) - we can probably drop those, right?
>> Do you mean to drop the handler instance in builder.py?
>> If so, how could the builder call the handler's functions?
>
> There's a commented out line which would connect to a signal handler
> where it not commented out at line 201 of builder.py:
> http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/bitbake/lib/bb/ui/cru
> mbs/b uilder.py#n201
>
> We can probably delete that, right?
My fault, my fault, when did it come there;-)
>>> Setting the size and position of windows on each launch (as in
>>> builder.py) is generally considered to be hostile to users - it should
>>> be sufficient to start with a sane default size and then as the UI
>>> allows the user to resize it we should remember the size for the next
>>> launch.
>> OK. But sometimes we should consider the screen dimension. For instance
> the builder, the main window, I bet on a smaller screen (say, 800X600) the
> visual components will look ugly. How can I address the problem? For the
> position of the window, I agree.
>
> I don't think that telling people their resolution is too low is
> especially helpful here. They can probably see that the GUI doesn't fit.
>
> I don't know anyone that runs their system with a lower than supported
> resolution, so telling them about something they can't fix doesn't help
> them. It just adds insult to injury, so to speak.
Understand.
--
Shane
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-02-29 2:17 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-23 13:48 [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder Dongxiao Xu
2012-02-23 13:51 ` Xu, Dongxiao
2012-02-24 2:42 ` Joshua Lock
2012-02-27 12:26 ` Wang, Shane
2012-02-27 23:15 ` Joshua Lock
2012-02-29 2:04 ` Wang, Shane
2012-02-24 18:17 ` Richard Purdie
2012-02-27 0:54 ` Xu, Dongxiao
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.