popupMenu: Hide settings menus outside user session
The control-center contains user-pertinent settings panels. These panels don't make sense to show outside of a user's session, so hide them for session types other than SessionType.USER. https://bugzilla.gnome.org/show_bug.cgi?id=657082
This commit is contained in:
parent
35e99266ba
commit
239a9e4816
@ -97,13 +97,14 @@ DateMenuButton.prototype = {
|
||||
vbox.add(this._calendar.actor);
|
||||
|
||||
item = this.menu.addSettingsAction(_("Date and Time Settings"), 'gnome-datetime-panel.desktop');
|
||||
|
||||
if (item) {
|
||||
let separator = new PopupMenu.PopupSeparatorMenuItem();
|
||||
separator.setColumnWidths(1);
|
||||
vbox.add(separator.actor, {y_align: St.Align.END, expand: true, y_fill: false});
|
||||
|
||||
item.actor.can_focus = false;
|
||||
item.actor.reparent(vbox);
|
||||
}
|
||||
|
||||
if (params.showEvents) {
|
||||
// Add vertical separator
|
||||
|
@ -813,6 +813,10 @@ PopupMenuBase.prototype = {
|
||||
},
|
||||
|
||||
addSettingsAction: function(title, desktopFile) {
|
||||
// Don't allow user settings to get edited unless we're in a user session
|
||||
if (global.session_type != Shell.SessionType.USER)
|
||||
return null;
|
||||
|
||||
let menuItem = this.addAction(title, function() {
|
||||
let app = Shell.AppSystem.get_default().lookup_setting(desktopFile);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user