Merge lp://qastaging/~3v1n0/unity/switcher-glowing-decorations into lp://qastaging/unity

Proposed by Marco Trevisan (Treviño)
Status: Merged
Approved by: Marco Trevisan (Treviño)
Approved revision: no longer in the source branch.
Merged at revision: 2901
Proposed branch: lp://qastaging/~3v1n0/unity/switcher-glowing-decorations
Merge into: lp://qastaging/unity
Diff against target: 3056 lines (+1103/-457)
26 files modified
launcher/CMakeLists.txt (+0/-1)
launcher/Launcher.cpp (+1/-1)
launcher/StandaloneSwitcher.cpp (+3/-1)
launcher/SwitcherController.cpp (+3/-3)
launcher/SwitcherController.h (+1/-1)
launcher/SwitcherView.cpp (+82/-120)
launcher/SwitcherView.h (+8/-9)
panel/PanelMenuView.cpp (+3/-11)
plugins/unityshell/src/unityshell.cpp (+188/-122)
plugins/unityshell/src/unityshell.h (+10/-3)
plugins/unityshell/src/unityshell_glow.cpp (+3/-3)
tests/CMakeLists.txt (+2/-0)
tests/autopilot/unity/emulators/screen.py (+8/-0)
tests/autopilot/unity/emulators/switcher.py (+11/-1)
tests/autopilot/unity/tests/test_switcher.py (+31/-8)
tests/test_layout_system.cpp (+158/-0)
tests/test_main.cpp (+0/-2)
unity-shared/AbstractIconRenderer.h (+1/-2)
unity-shared/CMakeLists.txt (+1/-0)
unity-shared/LayoutSystem.cpp (+57/-58)
unity-shared/LayoutSystem.h (+19/-22)
unity-shared/PluginAdapter.cpp (+216/-73)
unity-shared/PluginAdapter.h (+8/-1)
unity-shared/StandaloneWindowManager.cpp (+231/-15)
unity-shared/StandaloneWindowManager.h (+45/-0)
unity-shared/WindowManager.h (+13/-0)
To merge this branch: bzr merge lp://qastaging/~3v1n0/unity/switcher-glowing-decorations
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Needs Fixing
Andrea Azzarone (community) Approve
John Lea (community) design Approve
Thomi Richards Pending
Review via email: mp+134019@code.qastaging.launchpad.net

Commit message

UnityWindow: draw fake decorations on spread windows in switcher

Description of the change

Implemented the fake decorations in applications switcher spread, to match design specifications: now the selected window draws a decoration with full-size title and uses real glow.

To do this, I had to refactor a little the unityshell's UnityWindow code to allow to reuse the scale decoration code for both the scale and the switcher. This fixes also a redraw issue in scale, correctly damaging the changed areas.

Some cleanup and refactor of the PluginAdapter code that now has two different functions to check if a window is generally decorated (HasDecorations) and if it is actually decorated (IsDecorated). It also saves the decoration extents values in an Atom for maximized windows, so that we're always able to get the decoration size of a window (all this is needed to draw a correct decoration on maximized windows).

Added new unit tests for the layout system (this required some rework of StandaloneWindowManager), added new and updated autopilot tests.

Result: http://i.imgur.com/SuTo4.png

To post a comment you must log in.
Revision history for this message
Andrea Azzarone (azzar1) wrote :

3026 lines (+1085/-455) 26 files modified

I hate you :)

1893 + typedef std::vector<LayoutWindow::Ptr> List;

You call it List but it's a vector. I really don't like it.

868 + if (launcher->Hidden() || launcher_hide_mode == LAUNCHER_HIDE_NEVER || launcher_hide_mode == LAUNCHER_HIDE_AUTOHIDE)

Does it makes sense? launcher_hide_mode can be LAUNCHER_HIDE_NEVER or LAUNCHER_HIDE_AUTOHIDE so this expression evaluates always true, right?

Bookmark: line 1068 (I'll continue the review later)

Please next time consider to have a different branch for style changes :)

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

> 3026 lines (+1085/-455) 26 files modified
>
> I hate you :)

:-P

> 1893 + typedef std::vector<LayoutWindow::Ptr> List;
>
> You call it List but it's a vector. I really don't like it.

It was already called List, so I kept the name it had... But I can change it to vector if you prefer.

> 868 + if (launcher->Hidden() || launcher_hide_mode == LAUNCHER_HIDE_NEVER
> || launcher_hide_mode == LAUNCHER_HIDE_AUTOHIDE)
>
> Does it makes sense? launcher_hide_mode can be LAUNCHER_HIDE_NEVER or
> LAUNCHER_HIDE_AUTOHIDE so this expression evaluates always true, right?

Yeah, you're right... I just did a replacement of the old variable, but this seems to be wrong, I guess that the logic should just be: continue if (launcher->options()->hide_mode == LAUNCHER_HIDE_AUTOHIDE && launcher->Hidden())... Fixing it.

> Please next time consider to have a different branch for style changes :)

You know, it was all mixed... It was hard to split.

Revision history for this message
John Lea (johnlea) :
review: Approve (design)
Revision history for this message
Andrea Azzarone (azzar1) wrote :

LGTM. Works here.

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.