[gnome-shell] Magnifier: Restore crosshairs
- From: Magdalen Berns <mberns src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Magnifier: Restore crosshairs
- Date: Sat, 8 Feb 2014 23:53:46 +0000 (UTC)
commit 8d8d1cfdd620fb1328d274c484b6aa338a15c19c
Author: Magdalen Berns <m berns thismagpie com>
Date: Sat Feb 8 23:47:40 2014 +0000
Magnifier: Restore crosshairs
This patch is to restore broken crosshairs so they may be used
once more
https://bugzilla.gnome.org/show_bug.cgi?id=723709
magnifier.js
js/ui/magnifier.js | 131 ++++++++++++++++++++++------------------------------
1 files changed, 56 insertions(+), 75 deletions(-)
---
diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js
index 2a6ac38..96c12b2 100644
--- a/js/ui/magnifier.js
+++ b/js/ui/magnifier.js
@@ -57,20 +57,6 @@ const Magnifier = new Lang.Class({
// Magnifier is a manager of ZoomRegions.
this._zoomRegions = [];
- // Export to dbus.
- magDBusService = new MagnifierDBus.ShellMagnifier();
-
- let showAtLaunch = this._settingsInit();
- this.setActive(showAtLaunch);
- },
-
- _initialize: function() {
- if (this._initialized)
- return;
- this._initialized = true;
-
- this._settingsInitLate();
-
// Create small clutter tree for the magnified mouse.
let cursorTracker = Meta.CursorTracker.get_for_screen(global.screen);
this._mouseSprite = new Clutter.Texture();
@@ -86,11 +72,15 @@ const Magnifier = new Lang.Class({
let aZoomRegion = new ZoomRegion(this, this._cursorRoot);
this._zoomRegions.push(aZoomRegion);
- this._settingsInitRegion(aZoomRegion);
+ let showAtLaunch = this._settingsInit(aZoomRegion);
aZoomRegion.scrollContentsTo(this.xMouse, this.yMouse);
cursorTracker.connect('cursor-changed', Lang.bind(this, this._updateMouseSprite));
this._cursorTracker = cursorTracker;
+
+ // Export to dbus.
+ magDBusService = new MagnifierDBus.ShellMagnifier();
+ this.setActive(showAtLaunch);
},
/**
@@ -115,12 +105,6 @@ const Magnifier = new Lang.Class({
* @activate: Boolean to activate or de-activate the magnifier.
*/
setActive: function(activate) {
- if (activate == this.isActive())
- return;
-
- if (activate)
- this._initialize();
-
this._zoomRegions.forEach (function(zoomRegion, index, array) {
zoomRegion.setActive(activate);
});
@@ -452,68 +436,64 @@ const Magnifier = new Lang.Class({
this._mouseSprite.set_anchor_point(xHot, yHot);
},
- _settingsInitRegion: function(zoomRegion) {
- // Mag factor is accurate to two decimal places.
- let aPref = parseFloat(this._settings.get_double(MAG_FACTOR_KEY).toFixed(2));
- if (aPref != 0.0)
- zoomRegion.setMagFactor(aPref, aPref);
-
- aPref = this._settings.get_enum(SCREEN_POSITION_KEY);
- if (aPref)
- zoomRegion.setScreenPosition(aPref);
-
- zoomRegion.setLensMode(this._settings.get_boolean(LENS_MODE_KEY));
- zoomRegion.setClampScrollingAtEdges(!this._settings.get_boolean(CLAMP_MODE_KEY));
-
- aPref = this._settings.get_enum(MOUSE_TRACKING_KEY);
- if (aPref)
- zoomRegion.setMouseTrackingMode(aPref);
-
- aPref = this._settings.get_enum(FOCUS_TRACKING_KEY);
- if (aPref)
- zoomRegion.setFocusTrackingMode(aPref);
-
- aPref = this._settings.get_enum(CARET_TRACKING_KEY);
- if (aPref)
- zoomRegion.setCaretTrackingMode(aPref);
-
- aPref = this._settings.get_boolean(INVERT_LIGHTNESS_KEY);
- if (aPref)
- zoomRegion.setInvertLightness(aPref);
-
- aPref = this._settings.get_double(COLOR_SATURATION_KEY);
- if (aPref)
- zoomRegion.setColorSaturation(aPref);
-
- let bc = {};
- bc.r = this._settings.get_double(BRIGHT_RED_KEY);
- bc.g = this._settings.get_double(BRIGHT_GREEN_KEY);
- bc.b = this._settings.get_double(BRIGHT_BLUE_KEY);
- zoomRegion.setBrightness(bc);
-
- bc.r = this._settings.get_double(CONTRAST_RED_KEY);
- bc.g = this._settings.get_double(CONTRAST_GREEN_KEY);
- bc.b = this._settings.get_double(CONTRAST_BLUE_KEY);
- zoomRegion.setContrast(bc);
- },
-
- _settingsInit: function() {
+ _settingsInit: function(zoomRegion) {
this._appSettings = new Gio.Settings({ schema: APPLICATIONS_SCHEMA });
this._settings = new Gio.Settings({ schema: MAGNIFIER_SCHEMA });
- this._appSettings.connect('changed::' + SHOW_KEY, Lang.bind(this, function() {
- let active = this._appSettings.get_boolean(SHOW_KEY);
- this.setActive(active);
- }));
-
- return this._appSettings.get_boolean(SHOW_KEY);
- },
+ if (zoomRegion) {
+ // Mag factor is accurate to two decimal places.
+ let aPref = parseFloat(this._settings.get_double(MAG_FACTOR_KEY).toFixed(2));
+ if (aPref != 0.0)
+ zoomRegion.setMagFactor(aPref, aPref);
+
+ aPref = this._settings.get_enum(SCREEN_POSITION_KEY);
+ if (aPref)
+ zoomRegion.setScreenPosition(aPref);
+
+ zoomRegion.setLensMode(this._settings.get_boolean(LENS_MODE_KEY));
+ zoomRegion.setClampScrollingAtEdges(!this._settings.get_boolean(CLAMP_MODE_KEY));
+
+ aPref = this._settings.get_enum(MOUSE_TRACKING_KEY);
+ if (aPref)
+ zoomRegion.setMouseTrackingMode(aPref);
+
+ aPref = this._settings.get_enum(FOCUS_TRACKING_KEY);
+ if (aPref)
+ zoomRegion.setFocusTrackingMode(aPref);
+
+ aPref = this._settings.get_enum(CARET_TRACKING_KEY);
+ if (aPref)
+ zoomRegion.setCaretTrackingMode(aPref);
+
+ aPref = this._settings.get_boolean(INVERT_LIGHTNESS_KEY);
+ if (aPref)
+ zoomRegion.setInvertLightness(aPref);
+
+ aPref = this._settings.get_double(COLOR_SATURATION_KEY);
+ if (aPref)
+ zoomRegion.setColorSaturation(aPref);
+
+ let bc = {};
+ bc.r = this._settings.get_double(BRIGHT_RED_KEY);
+ bc.g = this._settings.get_double(BRIGHT_GREEN_KEY);
+ bc.b = this._settings.get_double(BRIGHT_BLUE_KEY);
+ zoomRegion.setBrightness(bc);
+
+ bc.r = this._settings.get_double(CONTRAST_RED_KEY);
+ bc.g = this._settings.get_double(CONTRAST_GREEN_KEY);
+ bc.b = this._settings.get_double(CONTRAST_BLUE_KEY);
+ zoomRegion.setContrast(bc);
+ }
- _settingsInitLate: function() {
let showCrosshairs = this._settings.get_boolean(SHOW_CROSS_HAIRS_KEY);
this.addCrosshairs();
this.setCrosshairsVisible(showCrosshairs);
+ this._appSettings.connect('changed::' + SHOW_KEY,
+ Lang.bind(this, function() {
+ this.setActive(this._appSettings.get_boolean(SHOW_KEY));
+ }));
+
this._settings.connect('changed::' + SCREEN_POSITION_KEY,
Lang.bind(this, this._updateScreenPosition));
this._settings.connect('changed::' + MAG_FACTOR_KEY,
@@ -577,6 +557,7 @@ const Magnifier = new Lang.Class({
Lang.bind(this, function() {
this.setCrosshairsClip(this._settings.get_boolean(CROSS_HAIRS_CLIP_KEY));
}));
+ return this._appSettings.get_boolean(SHOW_KEY);
},
_updateScreenPosition: function() {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]