Bug 1174330 - Allow the device name to be edited in-line. r=markh

This commit is contained in:
Edouard Oger 2015-06-25 17:15:23 -07:00
Родитель d34ee1a5dc
Коммит 0276f83a54
4 изменённых файлов: 71 добавлений и 8 удалений

Просмотреть файл

@ -129,6 +129,25 @@ let gSyncPane = {
this._initProfileImageUI();
},
_toggleComputerNameControls: function(editMode) {
let textbox = document.getElementById("fxaSyncComputerName");
textbox.className = editMode ? "" : "plain";
textbox.disabled = !editMode;
document.getElementById("fxaChangeDeviceName").hidden = editMode;
document.getElementById("fxaCancelChangeDeviceName").hidden = !editMode;
document.getElementById("fxaSaveChangeDeviceName").hidden = !editMode;
},
_updateComputerNameValue: function(save) {
let textbox = document.getElementById("fxaSyncComputerName");
if (save) {
Weave.Service.clientsEngine.localName = textbox.value;
}
else {
textbox.value = Weave.Service.clientsEngine.localName;
}
},
_setupEventListeners: function() {
function setEventListener(aId, aEventType, aCallback)
{
@ -161,6 +180,17 @@ let gSyncPane = {
setEventListener("syncComputerName", "change", function (e) {
gSyncUtils.changeName(e.target);
});
setEventListener("fxaChangeDeviceName", "click", function () {
this._toggleComputerNameControls(true);
});
setEventListener("fxaCancelChangeDeviceName", "click", function () {
this._toggleComputerNameControls(false);
this._updateComputerNameValue(false);
});
setEventListener("fxaSaveChangeDeviceName", "click", function () {
this._toggleComputerNameControls(false);
this._updateComputerNameValue(true);
});
setEventListener("unlinkDevice", "click", function () {
gSyncPane.startOver(true);
return false;

Просмотреть файл

@ -314,14 +314,30 @@
<spacer/>
</hbox>
</groupbox>
<hbox align="center">
<label accesskey="&syncDeviceName.accesskey;"
control="syncComputerName">
&syncDeviceName.label;
</label>
<textbox id="fxaSyncComputerName"
flex="1"/>
</hbox>
<vbox>
<caption>
<label accesskey="&syncDeviceName.accesskey;"
control="fxaSyncComputerName">
&fxaSyncDeviceName.label;
</label>
</caption>
<hbox id="fxaDeviceName">
<hbox flex="1">
<textbox id="fxaSyncComputerName" class="plain"
disabled="true" flex="1"/>
</hbox>
<hbox>
<button id="fxaChangeDeviceName"
label="&changeSyncDeviceName.label;"/>
<button id="fxaCancelChangeDeviceName"
label="&cancelChangeSyncDeviceName.label;"
hidden="true"/>
<button id="fxaSaveChangeDeviceName"
label="&saveChangeSyncDeviceName.label;"
hidden="true"/>
</hbox>
</hbox>
</vbox>
<spacer flex="1"/>
<vbox id="tosPP-small">
<label id="tosPP-small-ToS" class="text-link">

Просмотреть файл

@ -41,6 +41,10 @@
<!-- Device Settings -->
<!ENTITY syncDeviceName.label "Device Name:">
<!ENTITY fxaSyncDeviceName.label "Device Name">
<!ENTITY changeSyncDeviceName.label "Change Device Name...">
<!ENTITY cancelChangeSyncDeviceName.label "Cancel">
<!ENTITY saveChangeSyncDeviceName.label "Save">
<!ENTITY syncDeviceName.accesskey "c">
<!ENTITY unlinkDevice.label "Unlink This Device">

Просмотреть файл

@ -387,3 +387,16 @@ description > html|a {
from { opacity: 0; }
to { opacity: 1; }
}
/**
* Sync
*/
#fxaDeviceName {
margin: 14px 0px;
}
#fxaSyncComputerName.plain {
background-color: transparent;
opacity: 1;
}