[gnome-shell] panel: Fix corner highlight
- From: Florian MÃllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] panel: Fix corner highlight
- Date: Wed, 14 Sep 2011 19:27:33 +0000 (UTC)
commit 0518d69b72ecec0153a6a4fcc6cc09ce7f1708b5
Author: Florian MÃllner <fmuellner gnome org>
Date: Sat Sep 10 03:41:39 2011 +0200
panel: Fix corner highlight
The style of the top bar's corners is bound to the style of the
corresponding button; we used to hardcode this association, but
as the login mode does have a different layout, the button is now
determined programmatically.
Unfortunately, some containers take the text direction into account
when ordering their children, while some don't, so the current
code returned the wrong button in RTL locales.
https://bugzilla.gnome.org/show_bug.cgi?id=658983
js/ui/panel.js | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 57c5df4..b64a1b2 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -764,11 +764,21 @@ PanelCorner.prototype = {
},
_boxStyleChanged: function() {
- let button;
+ let side = this._side;
+
+ let rtlAwareContainer = this._box instanceof St.BoxLayout;
+ if (rtlAwareContainer &&
+ this._box.get_direction() == St.TextDirection.RTL) {
+ if (this._side == St.Side.LEFT)
+ side = St.Side.RIGHT;
+ else if (this._side == St.Side.RIGHT)
+ side = St.Side.LEFT;
+ }
- if (this._side == St.Side.LEFT)
+ let button;
+ if (side == St.Side.LEFT)
button = this._findLeftmostButton(this._box);
- else if (this._side == St.Side.RIGHT)
+ else if (side == St.Side.RIGHT)
button = this._findRightmostButton(this._box);
if (button) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]