Make it possible to always show the a11y status
A switch for this is part of the redesign for the universal access control-center panel. https://bugzilla.gnome.org/show_bug.cgi?id=698001
This commit is contained in:
parent
96994721ef
commit
6ce79c62eb
@ -73,6 +73,14 @@ value here is from the GsmPresenceStatus enumeration.</_summary>
|
||||
menuitem in single-user, single-session situations.
|
||||
</_description>
|
||||
</key>
|
||||
<key name="always-show-universal-access" type="b">
|
||||
<default>false</default>
|
||||
<_summary>Always show the Universal Access status.</_summary>
|
||||
<_description>
|
||||
This key overrides the automatic hiding of the Universal
|
||||
Access status icon when no accessibility features are enabled.
|
||||
</_description>
|
||||
</key>
|
||||
<key name="remember-mount-password" type="b">
|
||||
<default>false</default>
|
||||
<_summary>Whether to remember password for mounting encrypted or remote filesystems</_summary>
|
||||
|
@ -26,6 +26,8 @@ const KEY_ICON_THEME = 'icon-theme';
|
||||
const KEY_WM_THEME = 'theme';
|
||||
const KEY_TEXT_SCALING_FACTOR = 'text-scaling-factor';
|
||||
|
||||
const KEY_ALWAYS_SHOW_UNIVERSAL_ACCESS = 'always-show-universal-access';
|
||||
|
||||
const HIGH_CONTRAST_THEME = 'HighContrast';
|
||||
|
||||
const ATIndicator = new Lang.Class({
|
||||
@ -71,12 +73,18 @@ const ATIndicator = new Lang.Class({
|
||||
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
|
||||
this.menu.addSettingsAction(_("Universal Access Settings"), 'gnome-universal-access-panel.desktop');
|
||||
|
||||
global.settings.connect('changed::' + KEY_ALWAYS_SHOW_UNIVERSAL_ACCESS, Lang.bind (this, this._queueSyncMenuVisibility));
|
||||
|
||||
this._syncMenuVisibility();
|
||||
},
|
||||
|
||||
_syncMenuVisibility: function() {
|
||||
this._syncMenuVisibilityIdle = 0;
|
||||
|
||||
if (global.settings.get_boolean(KEY_ALWAYS_SHOW_UNIVERSAL_ACCESS)) {
|
||||
this.actor.visible = true;
|
||||
return false;
|
||||
}
|
||||
let items = this.menu._getMenuItems();
|
||||
|
||||
this.actor.visible = items.some(function(f) { return !!f.state; });
|
||||
|
Loading…
Reference in New Issue
Block a user