lib/bb/ui/crumbs: apply primary/secondary dialogue button styling

The design calls for primary buttons which are orange and large and
secondary buttons which are subtle with pale blue text. This is so that the
user is drawn towards the primary action and their use of the application
is more guided.

This patch uses HobButton and HobAltButton classes to style all dialogue
buttons accordingly.

Fixes [YOCTO #2125]

(From Poky rev: 1a52fe9f9e79f33686bd92613fc93eb97daacab8)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/bb/ui/crumbs: tweak build status display

Use two lines to display the active task and recipe, per visual design.

(From Poky rev: ea61503fc439e033b341bb7a50bac77c5e88834e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/bb/ui/crumbs/imageconfigurationpage: ensure widgets stay positioned

Tweak the table layout and insert some dummy widgets when the buttons
aren't drawn such that when the buttons do get drawn the existing widgets
don't all jump up.

(From Poky rev: 9edd833e7e36aea6a7350a36a5aad0ef300959c4)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/bb/ui/crumbs/imagedetails: use secondary button style for 'View files'

Use HobAltButton, rather than gtk.LinkButton, for the 'View files'
button.

Use xdg-open to display the folders contents.

(From Poky rev: 22955b47ac485e0d069ddd8301a11658d76bcfee)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: add refresh icon as ui request in building log

add a refresh icon to indicator the running task, for avoid add more heavy to bitbake building process, increased the timer interval counter, and decreased the refresh icon render size.

(From Poky rev: cf76d2cef0905a442e61769560173b2e6a58fb62)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: fixed visually differentiate warnings and errors icon in building log

fixed the bug of 'error' and 'warning' icon is not constaintly with hob ui design

[YOCTO #2097]

(From Poky rev: 5b4f379b5341222e2678043f078b3d33c0556a86)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: change the recipe pasing error dialog icon from 'dialog-info' to 'dialog-error'

[YOCTO #2109]

(From Poky rev: 1fbd6eefc68ec38875968b8513739b732da412b8)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: use hob icon checker to check the gtk icon for make the icon constaintly

Because we have hob icon, so need to make some gtk icon to transfer to hob icon. so use hob icon checker to fixed the gtk icon

[YOCTO #2108]

(From Poky rev: d1d84e5529e0d0752fdcd8d3458ed7595d373115)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: change the implementation way about get config info for building log

Make the building log config information to get from the bitbake parameters directly, and then cancel the old way of filting the building log on running

[YOCTO #2144]

(From Poky rev: b52025a0fe2ca65e4d8549b1b90f5813b0c2e39f)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: fixed some not compatible places for make runningbuild.py can be reused by another application

The runningbuild.py has been shared by different applications, not only hob, so fixed the some not compatibled codes

(From Poky rev: 99fa7388500fa97fe4629456daa50bb5637e51e6)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: allow users to setup the proxies

This patch is to read the proxy variables such as all_proxy, http_proxy, https_proxy, ftp_proxy, GIT_PROXY_HOST, GIT_PROXY_PORT, CVS_PROXY_HOST, and CVS_PROXY_PORT from the bitbake server, show them on the Settings dialog for users to change and set proxies for the build.

(From Poky rev: bbef66e4005def54d70d3720ec131fa7edc22e2a)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bb.build: use relative log links, not absolute

Using symlinks to absolute paths isn't gaining us anything, and can cause
problems in situations such as automated build systems when they try to
resolve the link, depending on the mechanism used to pull the build artifacts
(e.g. nfs).

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
uihelper: Keep track of pids in execution order

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ui/knotty: Add a footer to the build output for interactive terminals as knotty2 UI

On terminals which support it, add summary information to the end of the
build output about the number of tasks currently running and how many tasks
we've run so far.

This provides a summary at a glace of what the current state of the build is
and what the build is currently doing which is lacking in the current UI.

Also disable echo of characters on stdin since this corrupts the disable,
particularly Crtl+C.

The "waiting for X tasks" code can be merged into this code too since
that is only useful on interactive terminals and this improves the
readability of that output too.

Improvements since v0:

* The tasks are ordered in execution order.
* The display is only updated when the list of tasks changes or there
  is output above the footer.
* Running task x oy y and package messages are supressed from the console

This UI can be accessed with "bitbake -u knotty2".

(From Poky rev: e38b4569648f2916c4370871c79e6a6090eb8bc1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: Set one of deployable images or runnable images as the default toggled item

With this patch, even though there are a lot of images built out, a default image
which is either deployable or runnable is toggled by default. So, for users, one
more action to select an image before running qemu or deploying is not needed any more.

Note: If there are more than one runnable or deployable images (such as ext2, ext3,
jffs2 and btrfs), only the first image is toggled by default for run-qemu or
deployment. If the user wants to run or deploy others, he/she needs to toggle them
manually.

[Yocto #2155]

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: add Templates and Settings on image details screen

This patch is to add Templates and Settings tool buttons on the image
details screen, which makes things easier and simplier.

In order to fulfill that, the code splits the functions
show_load_template_dialog() and show_adv_settings_dialog() in builder.py
because they will possibly be called from different screens later.

[Yocto #2163]

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: change some words for build configurations on build details screen

This patch is to change some words of variables to make them consistent with the GUI.

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: change some words on image configuration screen to make them consistent

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: change some words on recipes screen and package screen to make them consistent

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: change some words in settings dialog to make them consistent

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>