@@ -15,6 +15,7 @@
1515 */
1616
1717import QtQuick 2.4
18+import QtQuick.Window 2.2
1819import Ubuntu.Settings.Menus 0.1 as Menus
1920import Ubuntu.Settings.Components 0.1
2021import QMenuModel 0.1
@@ -22,6 +23,7 @@ import Utils 0.1 as Utils
2223import Ubuntu.Components.ListItems 1.3 as ListItems
2324import Ubuntu.Components 1.3
2425import Unity.Session 0.1
26+import Unity.Platform 1.0
2527
2628Item {
2729 id: menuFactory
@@ -61,9 +63,11 @@ Item {
6163
6264 "com.canonical.indicator.calendar": calendarMenu,
6365 "com.canonical.indicator.location": timezoneMenu,
64−
65− "indicator.user-menu-item": userMenuItem,
66− "indicator.guest-menu-item": userMenuItem
66+ },
67+ "indicator-session": {
68+ "indicator.user-menu-item": Platform.isPC ? userMenuItem : null,
69+ "indicator.guest-menu-item": Platform.isPC ? userMenuItem : null,
70+ "com.canonical.indicator.switch": Screen.width >= units.gu(90) ? switchMenu : null // Desktop mode switch
6771 },
6872 "indicator-messages" : {
6973 "com.canonical.indicator.button" : messagesButtonMenu
@@ -977,6 +981,14 @@ Item {
977981 }
978982
979983 function load(modelData, context) {
984+ // tweak indicator-session items
985+ if (context === "indicator-session") {
986+ if ((modelData.action === "indicator.logout" || modelData.action === "indicator.suspend" || modelData.action === "indicator.hibernate")
987+ && !Platform.isPC) {
988+ return null; // logout, suspend and hibernate hidden on devices
989+ }
990+ }
991+
980992 if (modelData.type !== undefined && modelData.type !== "") {
981993 var component = undefined;
982994