[gnome-shell] bluetooth: Enforce a PIN length of 6 digits
- From: Florian MÃllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] bluetooth: Enforce a PIN length of 6 digits
- Date: Fri, 18 May 2012 15:41:59 +0000 (UTC)
commit 48d6eb168fa489ac34b16ae315c32210bdcc6f5a
Author: Florian MÃllner <fmuellner gnome org>
Date: Thu May 17 21:09:56 2012 +0200
bluetooth: Enforce a PIN length of 6 digits
Bluetooth PINs are required to have 6 digits, so enforce that
condition by making the PIN request notification's confirm
button insensitive unless the entered PIN has the correct length.
https://bugzilla.gnome.org/show_bug.cgi?id=651251
js/ui/status/bluetooth.js | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
---
diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js
index b9bba10..2d3b9b8 100644
--- a/js/ui/status/bluetooth.js
+++ b/js/ui/status/bluetooth.js
@@ -416,7 +416,8 @@ const PinNotification = new Lang.Class({
this._entry.connect('key-release-event', Lang.bind(this, function(entry, event) {
let key = event.get_key_symbol();
if (key == Clutter.KEY_Return) {
- this.emit('action-invoked', 'ok');
+ if (this._canActivateOkButton())
+ this.emit('action-invoked', 'ok');
return true;
} else if (key == Clutter.KEY_Escape) {
this.emit('action-invoked', 'cancel');
@@ -429,6 +430,12 @@ const PinNotification = new Lang.Class({
this.addButton('ok', _("OK"));
this.addButton('cancel', _("Cancel"));
+ this.setButtonSensitive('ok', this._canActivateOkButton());
+ this._entry.clutter_text.connect('text-changed', Lang.bind(this,
+ function() {
+ this.setButtonSensitive('ok', this._canActivateOkButton());
+ }));
+
this.connect('action-invoked', Lang.bind(this, function(self, action) {
if (action == 'ok') {
if (this._numeric) {
@@ -451,6 +458,11 @@ const PinNotification = new Lang.Class({
}));
},
+ _canActivateOkButton: function() {
+ // PINs have a fixed length of 6
+ return this._entry.clutter_text.text.length == 6;
+ },
+
grabFocus: function(lockTray) {
this.parent(lockTray);
global.stage.set_key_focus(this._entry);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]