[gnome-shell] osdWindow: Use float values as input for osdWindow
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] osdWindow: Use float values as input for osdWindow
- Date: Sun, 28 Jul 2019 15:36:48 +0000 (UTC)
commit cb0d28770ff2fc62a06a543c711cb0e24c81670a
Author: verdre <verdre v0yd nl>
Date: Sat Feb 2 17:50:04 2019 +0100
osdWindow: Use float values as input for osdWindow
Using the same type/interval as BarLevel means we can cut out the intermediate
LevelBar class in a follow-up cleanup.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/385
js/ui/osdWindow.js | 10 +++++-----
js/ui/shellDBus.js | 6 ++++++
js/ui/status/volume.js | 10 +++++-----
3 files changed, 16 insertions(+), 10 deletions(-)
---
diff --git a/js/ui/osdWindow.js b/js/ui/osdWindow.js
index 2d92d7cbb..9262f28d4 100644
--- a/js/ui/osdWindow.js
+++ b/js/ui/osdWindow.js
@@ -18,7 +18,7 @@ var LevelBar = class extends BarLevel.BarLevel {
super(0, { styleClass: 'level' });
this._level = 0;
- this._maxLevel = 100;
+ this._maxLevel = 1;
this.actor.accessible_name = _("Volume");
@@ -32,7 +32,7 @@ var LevelBar = class extends BarLevel.BarLevel {
set level(value) {
this._level = Math.max(0, Math.min(value, this._maxLevel));
- this.value = this._level / 100;
+ this.value = this._level;
}
get maxLevel() {
@@ -40,9 +40,9 @@ var LevelBar = class extends BarLevel.BarLevel {
}
set maxLevel(value) {
- this._maxLevel = Math.max(100, value);
+ this._maxLevel = Math.max(1, value);
- this.maximum_level = this._maxLevel / 100;
+ this.maximum_level = this._maxLevel;
}
};
@@ -152,7 +152,7 @@ var OsdWindow = class {
}
}
- setMaxLevel(maxLevel = 100) {
+ setMaxLevel(maxLevel = 1) {
this._level.maxLevel = maxLevel;
}
diff --git a/js/ui/shellDBus.js b/js/ui/shellDBus.js
index e750c207f..a287a3fb6 100644
--- a/js/ui/shellDBus.js
+++ b/js/ui/shellDBus.js
@@ -94,6 +94,12 @@ var GnomeShell = class {
if (serializedIcon)
icon = Gio.Icon.new_for_string(serializedIcon);
+ // Translate from percentages in the D-Bus API to floats
+ if (!isNaN(level))
+ level /= 100;
+ if (!isNaN(maxLevel))
+ maxLevel /= 100;
+
Main.osdWindowManager.show(monitorIndex, icon, label, level, maxLevel);
}
diff --git a/js/ui/status/volume.js b/js/ui/status/volume.js
index 03be7b96c..4f0270f9b 100644
--- a/js/ui/status/volume.js
+++ b/js/ui/status/volume.js
@@ -139,7 +139,7 @@ var StreamSlider = class {
this._allowAmplified = this._soundSettings.get_boolean(ALLOW_AMPLIFIED_VOLUME_KEY);
this._slider.maximum_level = this._allowAmplified
- ? this.getMaxLevel() / 100 : 1;
+ ? this.getMaxLevel() : 1;
if (this._stream)
this._updateVolume();
@@ -173,7 +173,7 @@ var StreamSlider = class {
if (!this._stream)
return null;
- return 100 * this._stream.volume / this._control.get_vol_max_norm();
+ return this._stream.volume / this._control.get_vol_max_norm();
}
getMaxLevel() {
@@ -181,7 +181,7 @@ var StreamSlider = class {
if (this._allowAmplified)
maxVolume = this._control.get_vol_max_amplified();
- return 100 * maxVolume / this._control.get_vol_max_norm();
+ return maxVolume / this._control.get_vol_max_norm();
}
};
Signals.addSignalMethods(StreamSlider.prototype);
@@ -363,8 +363,8 @@ var Indicator = class extends PanelMenu.SystemIndicator {
return result;
let gicon = new Gio.ThemedIcon({ name: this._volumeMenu.getIcon() });
- let level = parseInt(this._volumeMenu.getLevel());
- let maxLevel = parseInt(this._volumeMenu.getMaxLevel());
+ let level = this._volumeMenu.getLevel();
+ let maxLevel = this._volumeMenu.getMaxLevel();
Main.osdWindowManager.show(-1, gicon, null, level, maxLevel);
return result;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]