[gnome-shell] status: Put arrow icons next to the separate status indicators
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] status: Put arrow icons next to the separate status indicators
- Date: Tue, 13 Aug 2013 10:51:35 +0000 (UTC)
commit a347f02545f975cc47299d45b3d7fcc2214f82aa
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Thu Jun 6 17:26:42 2013 -0400
status: Put arrow icons next to the separate status indicators
This is to indicate that it has a pulldown menu.
This is a part of the new system status design, see
https://wiki.gnome.org/GnomeShell/Design/Guidelines/SystemStatus/
for design details.
https://bugzilla.gnome.org/show_bug.cgi?id=705845
data/theme/gnome-shell.css | 3 ++-
js/ui/panel.js | 6 +++++-
js/ui/status/accessibility.js | 12 ++++++++++--
js/ui/status/keyboard.js | 7 ++++++-
4 files changed, 23 insertions(+), 5 deletions(-)
---
diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css
index 84768b1..46b5a75 100644
--- a/data/theme/gnome-shell.css
+++ b/data/theme/gnome-shell.css
@@ -614,7 +614,8 @@ StScrollBar StButton#vhandle:active {
-boxpointer-gap: 4px;
}
-.panel-status-button-box {
+.panel-status-button-box,
+.panel-status-menu-box {
spacing: 4px;
}
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 27456f7..342de77 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -208,12 +208,14 @@ const AppMenuButton = new Lang.Class({
Lang.bind(this, this._updateIconBoxClip));
this._container.add_actor(this._iconBox);
- this._hbox = new St.BoxLayout();
+ this._hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
this._container.add_actor(this._hbox);
this._label = new TextShadower();
this._label.actor.y_align = Clutter.ActorAlign.CENTER;
this._hbox.add_actor(this._label.actor);
+ this._arrow = new St.Label({ text: '\u25BE' });
+ this._hbox.add_actor(this._arrow);
this._iconBottomClip = 0;
@@ -500,6 +502,7 @@ const AppMenuButton = new Lang.Class({
if (this._iconBox.child != null)
this._iconBox.child.destroy();
this._iconBox.hide();
+ this._arrow.hide();
this._label.setText('');
if (this._appMenuNotifyId)
@@ -519,6 +522,7 @@ const AppMenuButton = new Lang.Class({
this.setName(targetApp.get_name());
this._syncIcon();
+ this._arrow.show();
this._iconBox.show();
if (targetApp.get_state() == Shell.AppState.STARTING ||
diff --git a/js/ui/status/accessibility.js b/js/ui/status/accessibility.js
index e6be115..149c84a 100644
--- a/js/ui/status/accessibility.js
+++ b/js/ui/status/accessibility.js
@@ -3,6 +3,7 @@
const Gio = imports.gi.Gio;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
+const St = imports.gi.St;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
@@ -30,10 +31,17 @@ const HIGH_CONTRAST_THEME = 'HighContrast';
const ATIndicator = new Lang.Class({
Name: 'ATIndicator',
- Extends: PanelMenu.SystemStatusButton,
+ Extends: PanelMenu.Button,
_init: function() {
- this.parent('preferences-desktop-accessibility-symbolic', _("Accessibility"));
+ this.parent(0.0, _("Accessibility"));
+
+ this._hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
+ this._hbox.add_child(new St.Icon({ style_class: 'system-status-icon',
+ icon_name: 'preferences-desktop-accessibility-symbolic' }));
+ this._hbox.add_child(new St.Label({ text: '\u25BE' }));
+
+ this.actor.add_child(this._hbox);
let highContrast = this._buildHCItem();
this.menu.addMenuItem(highContrast);
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
index 397df8a..ea365c4 100644
--- a/js/ui/status/keyboard.js
+++ b/js/ui/status/keyboard.js
@@ -337,7 +337,12 @@ const InputSourceIndicator = new Lang.Class({
this._container.connect('get-preferred-width', Lang.bind(this, this._containerGetPreferredWidth));
this._container.connect('get-preferred-height', Lang.bind(this, this._containerGetPreferredHeight));
this._container.connect('allocate', Lang.bind(this, this._containerAllocate));
- this.actor.add_actor(this._container);
+
+ this._hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
+ this._hbox.add_child(this._container);
+ this._hbox.add_child(new St.Label({ text: '\u25BE' }));
+
+ this.actor.add(this._hbox, { y_expand: true });
this.actor.add_style_class_name('panel-status-button');
// All valid input sources currently in the gsettings
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]