@@ -393,11 +393,11 @@
393 393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
this. This setting is persistent.
394 394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
395 395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
setNewMessageSound: function f(uri){
396 396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
delete this.playNewMessageSound.audio;
397 397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
this.playNewMessageSound.uri = uri;
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.settings.set('audible-alert', uri || '');
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ this.settings.set('audible-alert', !!uri);
399 399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return this;
400 400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
401 401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
402 402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cs.e.inputCurrent = cs.e.inputSingle;
403 403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Install default settings... */
@@ -961,34 +961,49 @@
961 961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
boolValue: ()=>!Chat.e.btnMsgHome.classList.contains('hidden'),
962 962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
callback: ()=>Chat.toggleNavButtons()
963 963 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}];
964 964 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
965 965 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/** Set up selection list of notification sounds. */
966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const selectSound = D.addClass(D.select(), 'menu-entry');
967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- D.disable(D.option(selectSound, "0", "Audible alert..."));
968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- D.option(selectSound, "", "(no audio)");
969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- F.config.chat.alerts.forEach(function(a){
970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- D.option(selectSound, a);
971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(true===Chat.settings.getBool('audible-alert')){
973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- selectSound.selectedIndex = 2/*first audio file in the list*/;
966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(true/*flip this to false to enable selection of audio files*/){
967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ settingsOps.push({
968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ label: "Audible alerts",
969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ boolValue: ()=>Chat.settings.getBool('audible-alert'),
970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callback: function(){
971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const v = Chat.settings.toggle('audible-alert');
972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Chat.setNewMessageSound(v ? 'builtin/alerts/plunk.wav' : false);
973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(v) setTimeout(()=>Chat.playNewMessageSound(), 50);
974 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.toast.message("Audio notifications "+(v ? "enabled" : "disabled")+".");
975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
974 977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- selectSound.value = Chat.settings.get('audible-alert','');
976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(selectSound.selectedIndex<0){
977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*Missing file - removed after this setting was applied. Fall back
978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- to the first sound in the list. */
979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- selectSound.selectedIndex = 2;
980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- selectSound.addEventListener('change',function(){
983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const v = this.selectedIndex>1 ? this.value : '';
984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Chat.setNewMessageSound(v);
985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- F.toast.message("Audio notifications "+(v ? "enabled" : "disabled")+".");
986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(v) setTimeout(()=>Chat.playNewMessageSound(), 50);
987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- settingsPopup.hide();
988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }, false);
989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Chat.setNewMessageSound(selectSound.value);
978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Disabled per chatroom discussion: selection list of audio files for
979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ chat notification. */
980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const selectSound = settingsOps.selectSound = D.addClass(D.select(), 'menu-entry');
981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.disable(D.option(selectSound, "0", "Audible alert..."));
982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.option(selectSound, "", "(no audio)");
983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.config.chat.alerts.forEach(function(a){
984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.option(selectSound, a);
985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(true===Chat.settings.getBool('audible-alert')){
987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ selectSound.selectedIndex = 2/*first audio file in the list*/;
988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ selectSound.value = Chat.settings.get('audible-alert','');
990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(selectSound.selectedIndex<0){
991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*Missing file - removed after this setting was applied. Fall back
992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ to the first sound in the list. */
993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ selectSound.selectedIndex = 2;
994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ selectSound.addEventListener('change',function(){
997 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const v = this.selectedIndex>1 ? this.value : '';
998 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Chat.setNewMessageSound(v);
999 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.toast.message("Audio notifications "+(v ? "enabled" : "disabled")+".");
1000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(v) setTimeout(()=>Chat.playNewMessageSound(), 50);
1001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ settingsPopup.hide();
1002 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }, false);
1003 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Chat.setNewMessageSound(selectSound.value);
1004 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }/*audio notification config*/
990 1005 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/**
991 1006 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Rebuild the menu each time it's shown so that the toggles can
992 1007 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
show their current values.
993 1008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
994 1009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
settingsPopup.options.refresh = function(){
@@ -1010,13 +1025,17 @@
1010 1025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
D.append(line, check);
1011 1026 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1012 1027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
D.append(settingsPopup.e, line);
1013 1028 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
line.addEventListener('click', callback);
1014 1029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
});
1015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- D.append(settingsPopup.e, selectSound);
1030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(settingsOps.selectSound){
1031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(settingsPopup.e, settingsOps.selectSound);
1032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1016 1033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
1017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- settingsPopup.installHideHandlers(false, false, true)
1034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ settingsPopup.installHideHandlers(
1035 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ false, settingsOps.selectSound ? false : true,
1036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ true)
1018 1037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/** Reminder: click-to-hide interferes with "?" embedded within
1019 1038 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
the popup, so cannot be used together with those. Enabling
1020 1039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
this means, however, that tapping the menu button to toggle
1021 1040 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
the menu cannot work because tapping the menu button while the
1022 1041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
menu is opened will, because of the click-to-hide handler,
1023 1042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!