mirror of https://github.com/jech/galene.git
Move automatic presentation into gotPermissions.
Don't attempt to present if we don't have the present permission, don't display the friendly popup if we've selected presentation.
This commit is contained in:
parent
71744c44ca
commit
e8df60cbbe
|
@ -519,7 +519,7 @@ textarea.form-reply {
|
|||
position: absolute;
|
||||
top: 15%;
|
||||
left: 25%;
|
||||
width: 30em;
|
||||
width: 35em;
|
||||
padding: 2em;
|
||||
}
|
||||
|
||||
|
|
|
@ -120,9 +120,9 @@
|
|||
<input id="presentoff" type="radio" name="presentradio" value="" checked/>
|
||||
<label for="presentoff">nothing</label>
|
||||
<input id="presentmike" type="radio" name="presentradio" value="mike"/>
|
||||
<label for="presentmike">mike only</label>
|
||||
<label for="presentmike">microphone</label>
|
||||
<input id="presentboth" type="radio" name="presentradio" value="both"/>
|
||||
<label for="presentoff">camera and mike</label>
|
||||
<label for="presentoff">camera and microphone</label>
|
||||
<div class="clear"></div>
|
||||
<input id="connectbutton" type="submit" class="btn btn-blue" value="Connect"/>
|
||||
</form>
|
||||
|
|
|
@ -1404,14 +1404,40 @@ function displayUsername() {
|
|||
document.getElementById('permspan').textContent = text;
|
||||
}
|
||||
|
||||
let presentRequested = null;
|
||||
|
||||
/**
|
||||
* @param {Object<string,boolean>} perms
|
||||
*/
|
||||
function gotPermissions(perms) {
|
||||
async function gotPermissions(perms) {
|
||||
displayUsername();
|
||||
setButtonsVisibility();
|
||||
if(serverConnection.permissions.present)
|
||||
displayMessage("Press Present to enable your camera or microphone");
|
||||
|
||||
try {
|
||||
if(serverConnection.permissions.present && !findUpMedia('local')) {
|
||||
if(presentRequested) {
|
||||
if(presentRequested === 'mike')
|
||||
updateSettings({video: ''});
|
||||
else if(presentRequested === 'both')
|
||||
delSetting('video');
|
||||
reflectSettings();
|
||||
|
||||
let button = getButtonElement('presentbutton');
|
||||
button.disabled = true;
|
||||
try {
|
||||
await addLocalMedia();
|
||||
} finally {
|
||||
button.disabled = false;
|
||||
}
|
||||
} else {
|
||||
displayMessage(
|
||||
"Press Present to enable your camera or microphone"
|
||||
);
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
presentRequested = null;
|
||||
}
|
||||
}
|
||||
|
||||
const urlRegexp = /https?:\/\/[-a-zA-Z0-9@:%/._\\+~#&()=?]+[-a-zA-Z0-9@:%/_\\+~#&()=]/g;
|
||||
|
@ -2036,26 +2062,12 @@ document.getElementById('userform').onsubmit = async function(e) {
|
|||
connecting = false;
|
||||
}
|
||||
|
||||
let presentboth = getInputElement('presentboth').checked;
|
||||
let presentmike = getInputElement('presentmike').checked;
|
||||
|
||||
if(presentmike)
|
||||
updateSettings({video: ''});
|
||||
else if(presentboth)
|
||||
delSetting('video');
|
||||
reflectSettings();
|
||||
|
||||
if(presentboth || presentmike) {
|
||||
let button = getButtonElement('presentbutton');
|
||||
button.disabled = true;
|
||||
try {
|
||||
let id = findUpMedia('local');
|
||||
if(!id)
|
||||
await addLocalMedia();
|
||||
} finally {
|
||||
button.disabled = false;
|
||||
}
|
||||
}
|
||||
if(getInputElement('presentboth').checked)
|
||||
presentRequested = 'both';
|
||||
else if(getInputElement('presentmike').checked)
|
||||
presentRequested = 'mike';
|
||||
else
|
||||
presentRequested = null;
|
||||
|
||||
getInputElement('presentoff').checked = true;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue