Bug 955313 - Clicking on "status dot" to go Online does not work, r=Mic.

This commit is contained in:
aleth 2013-05-21 21:51:23 +02:00
Родитель 0158cf2fbd
Коммит d0c19329e4
2 изменённых файлов: 22 добавлений и 6 удалений

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

@ -450,8 +450,12 @@ var buddyList = {
editStatus: function bl_editStatus(aEvent) {
let status = aEvent.originalTarget.getAttribute("status");
if (status == "offline")
if (status == "offline") {
let statusMessage = document.getElementById("statusMessage");
if (statusMessage.hasAttribute("editing"))
buddyList.finishEditStatusMessage(false);
Services.core.globalUserStatus.setStatus(Ci.imIStatusInfo.STATUS_OFFLINE, "");
}
else if (status)
this.startEditStatus(status);
},
@ -467,9 +471,20 @@ var buddyList = {
this.statusMessageClick();
},
statusMessageClick: function bl_statusMessageClick() {
let statusType =
document.getElementById("statusTypeIcon").getAttribute("status");
statusMessageClick: function bl_statusMessageClick(event) {
let statusTypeIcon = document.getElementById("statusTypeIcon");
if (event && event.button == 0) {
// If the mouse clicked the statusTypeIcon with the primary
// button, we should open the dropdown menu. (The statusMessage
// "covers" the icon due to its enlarged focusring.)
let box = statusTypeIcon.getBoundingClientRect();
if (event.clientX >= box.left && event.clientX < box.right &&
event.clientY >= box.top && event.clientY < box.bottom) {
this.openStatusTypePopup();
return;
}
}
let statusType = statusTypeIcon.getAttribute("status");
if (statusType == "offline")
return;

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

@ -150,7 +150,7 @@
</vbox>
<label id="statusMessage" crop="end" value=""
aria-haspopup="true" role="button"
onclick="buddyList.statusMessageClick();"
onclick="buddyList.statusMessageClick(event);"
onkeypress="buddyList.statusMessageKeyPress(event);"/>
</stack>
</toolbar>
@ -171,7 +171,8 @@
onkeypress="buddyList.keyPress(event);"
onfocus="buddyList.buddylistboxFocus();"
tooltip="buddyTooltip"/>
<spacer id="listSpacer" flex="1"/>
<spacer id="listSpacer" flex="1"
onclick='document.getElementById("buddylistbox").focus();'/>
</notificationbox>
<statusbar id="blistWindow-statusbar">