Merge lp:~lukas-kde/unity8/keyboardIndicator into lp:unity8
| Status: | Merged |
|---|---|
| Approved by: | Michał Sawicz on 2016-08-01 |
| Approved revision: | 2477 |
| Merged at revision: | 2553 |
| Proposed branch: | lp:~lukas-kde/unity8/keyboardIndicator |
| Merge into: | lp:unity8 |
| Diff against target: |
430 lines (+185/-17) 10 files modified
debian/control (+2/-1) plugins/Unity/Indicators/indicatorsmanager.cpp (+3/-5) qml/Components/KeymapSwitcher.qml (+27/-1) qml/Panel/IndicatorItemRow.qml (+13/-2) qml/Panel/Indicators/MenuItemFactory.qml (+65/-0) tests/mocks/Unity/Indicators/IndicatorsModel.qml (+41/-1) tests/qmltests/Panel/tst_IndicatorItemRow.qml (+26/-1) tests/qmltests/Panel/tst_IndicatorsBar.qml (+3/-3) tests/qmltests/Panel/tst_IndicatorsMenu.qml (+4/-3) tests/qmltests/tst_OrientedShell.qml (+1/-0) |
| To merge this branch: | bzr merge lp:~lukas-kde/unity8/keyboardIndicator |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Unity8 CI Bot | continuous-integration | Needs Fixing on 2016-07-31 | |
| Michael Terry | 2016-06-20 | Approve on 2016-07-11 | |
| Daniel d'Andrada (community) | 2016-07-07 | Abstain on 2016-07-11 | |
|
Review via email:
|
|||
Commit Message
Implement frontend support for running keyboard indicator
Description of the Change
Implement necessary support for the keyboard indicator
- add the keymapMenu to the menu item factory
- signal the current and active keymap
- hide/show the indicator appropriately (based on whether the system has a keyboard attached and there are keymaps configured)
* Are there any related MPs required for this MP to build/function as expected? Please list.
In silo 77, https:/
- https:/
- https:/
- https:/
* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A
* If you changed the UI, has there been a design review?
N/A
- 2460. By Lukáš Tinkl on 2016-07-07
-
merge trunk
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2460
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Michael Terry (mterry) wrote : | # |
session-migration and dh-migrations might be a nicer way to do such one time migrations. Not necessarily necessary to switch this MP, but just saying.
| Michael Terry (mterry) wrote : | # |
Wait, also.. Why are we migrating TO gsettings? What about the unity8-greeter case?
And "org.gnome.
| Lukáš Tinkl (lukas-kde) wrote : | # |
> Wait, also.. Why are we migrating TO gsettings? What about the
> unity8-greeter case?
>
> And "org.gnome.
> AccountsService
This is orthogonal to https:/
| Michael Terry (mterry) wrote : | # |
So we could also change indicator-keyboard to read from AS instead of everyone else writing to gsettings.
But changing indicator-keyboard would involve updating unity-control-
So fine. We can write to gsettings and sync to AS. But I don't see where AS syncing is done in indicator-keyboard? It does some reading from AS, but I'm not sure I see it copying from gsettings to AS.
I just want to make sure we don't lose support for the greeter here.
| Lukáš Tinkl (lukas-kde) wrote : | # |
> So we could also change indicator-keyboard to read from AS instead of everyone
> else writing to gsettings.
>
> But changing indicator-keyboard would involve updating unity-control-
> too. And losing compatibility with gnome-control-
> need that anymore).
Yeah, it's in fact another app, unity-settings-
> So fine. We can write to gsettings and sync to AS. But I don't see where AS
> syncing is done in indicator-keyboard? It does some reading from AS, but I'm
> not sure I see it copying from gsettings to AS.
We don't write any settings, we just read it; it's u-s-s that writes it (see here https:/
> I just want to make sure we don't lose support for the greeter here.
We don't, it's fine since u-s-s writes to AS and that's where the greeter will pick it up.
- 2461. By Lukáš Tinkl on 2016-07-08
-
merge trunk
| Michael Terry (mterry) wrote : | # |
19 +void AccountsService
I would like to (A) see a larger comment about why this function exists, just for future coders.
Specifically, why it exists in unity8 at all. A naive watcher would suspect indicator-keyboard could do it's own homework.
OR (B) move this code to ubuntu-
21 + QSettings settings;
22 + if (!settings.
Why use QSettings like this? This might be the first time we're using unity8's default QSettings location. Can we not use GSettings like we do elsewhere in unity8? Or just use dh-migrations.
(I can try to whip up such a script... Give me a bit.)
Still haven't actually tested this. :) Getting to that.
| Michael Terry (mterry) wrote : | # |
OK, I filed https:/
Also... I notice that this MP's use of com.canonical.
Instead, we should hide/show it in our unity8 indicator menu bar as we wish.
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2461
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Michael Terry (mterry) wrote : | # |
I've just tested this on my phone (I tested the versions with my migration changes). Looks great! Good work.
So I'm +1 on this MP if:
- You merge in my migration add-on MPs.
- You switch from using com.canonical.
- And add a test for that new hiding/showing method of the indicator, testing different number of layouts and whether nor not we have a keyboard.
| Michael Terry (mterry) wrote : | # |
(You can reset migration state by clearing your gsettings like "gsettings set org.gnome.
- 2462. By Lukáš Tinkl on 2016-07-11
-
use client-side hiding of the indicator
- 2463. By Lukáš Tinkl on 2016-07-11
- 2464. By Lukáš Tinkl on 2016-07-11
-
add a test to check hiding of the keyboard indicator
- 2465. By Lukáš Tinkl on 2016-07-11
-
remove unused var
| Lukáš Tinkl (lukas-kde) wrote : | # |
> I've just tested this on my phone (I tested the versions with my migration
> changes). Looks great! Good work.
>
> So I'm +1 on this MP if:
> - You merge in my migration add-on MPs.
> - You switch from using com.canonical.
> unity8-internal means of hiding the indicator.
> - And add a test for that new hiding/showing method of the indicator, testing
> different number of layouts and whether nor not we have a keyboard.
I believe I addressed all your comments, let's give it another spin :)
- 2466. By Lukáš Tinkl on 2016-07-11
-
add a cleanup() function
- 2467. By Lukáš Tinkl on 2016-07-11
-
less fragile panel item finding
- 2468. By Lukáš Tinkl on 2016-07-11
-
s/tryCompare/
compare - 2469. By Lukáš Tinkl on 2016-07-11
-
also cleanup the keymaps
| Daniel d'Andrada (dandrader) wrote : | # |
Please confirm that QDBusActionGroup does indeed only work when put inside an Item instead of a QtObject. QDBusActionGroup itself is a plain QObject. So this requirement looks very odd. If it does, there's a bug somewhere that needs reporting.
- 2470. By Lukáš Tinkl on 2016-07-11
-
Recommend indicator-keyboard
- 2471. By Lukáš Tinkl on 2016-07-11
-
turn KeymapSwitcher back into a QtObject
| Lukáš Tinkl (lukas-kde) wrote : | # |
> Please confirm that QDBusActionGroup does indeed only work when put inside an
> Item instead of a QtObject. QDBusActionGroup itself is a plain QObject. So
> this requirement looks very odd. If it does, there's a bug somewhere that
> needs reporting.
Good point, restored it as a QtObject - works fine, dunno why it hadn't worked for me initially. Thanks for pointing out
| Michael Terry (mterry) wrote : | # |
Just tested this and it still works. Thanks for integrating the session-migration stuff and making the other changes. This looks good to me!
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2471
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
- 2472. By Lukáš Tinkl on 2016-07-13
-
fixup failing tests
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2472
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
| Albert Astals Cid (aacid) wrote : | # |
Text conflict in plugins/
1 conflicts encountered.
- 2473. By Lukáš Tinkl on 2016-07-14
-
merge trunk
| Lukáš Tinkl (lukas-kde) wrote : | # |
Merged trunk, resolved conflict and fixed up failing tests
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2473
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2473
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2473
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
FAILURE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
- 2474. By Lukáš Tinkl on 2016-07-29
-
stabilize tests
- 2475. By Lukáš Tinkl on 2016-07-29
-
stabilize++
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2474
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2475
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Lukáš Tinkl (lukas-kde) wrote : | # |
Tests likely failing in CI because of missing icons:
QWARN : qmltestrunner:
- 2476. By Lukáš Tinkl on 2016-07-30
-
try with a generic icon
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2476
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Lukáš Tinkl (lukas-kde) wrote : | # |
All tests passing again, with the (known) exceptions in yakkety
- 2477. By Lukáš Tinkl on 2016-07-31
-
merge trunk
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2477
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/

PASSED: Continuous integration, rev:2459 /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/1660/ /unity8- jenkins. ubuntu. com/job/ build/2202 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= vivid+overlay, testname= qmluitests. sh/1167 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= xenial+ overlay, testname= qmluitests. sh/1167 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= yakkety, testname= qmluitests. sh/1167 /unity8- jenkins. ubuntu. com/job/ build-0- fetch/2230 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 2136 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial+ overlay/ 2136 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= yakkety/ 2136 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 2127 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 2127/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 2127 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 2127/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 2127 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 2127/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 2127 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 2127/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 2127 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 2127/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 2127 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 2127/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 2127 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 2127/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 2127 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 2127/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= yakkety/ 2127 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= yakkety/ 2127/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/1660/ rebuild
https:/