Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into upstream-merge-32916
This commit is contained in:
@@ -132,7 +132,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
|
||||
|
||||
/datum/chatOutput/proc/setMusicVolume(volume = "")
|
||||
if(volume)
|
||||
adminMusicVolume = Clamp(text2num(volume), 0, 100)
|
||||
adminMusicVolume = CLAMP(text2num(volume), 0, 100)
|
||||
|
||||
//Sends client connection details to the chat to handle and save
|
||||
/datum/chatOutput/proc/sendClientData()
|
||||
|
||||
@@ -13,7 +13,7 @@ body {
|
||||
background: #fff;
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 9pt;
|
||||
line-height: 1.4;
|
||||
line-height: 1.2;
|
||||
overflow-x: hidden;
|
||||
overflow-y: scroll;
|
||||
word-wrap: break-word;
|
||||
@@ -38,6 +38,19 @@ img.icon {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
.r:before { /* "repeated" badge class for combined messages */
|
||||
content: 'x';
|
||||
}
|
||||
.r {
|
||||
display: inline;
|
||||
padding: .2em .6em .3em;
|
||||
font-size: 75%;
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
color: #f00;
|
||||
}
|
||||
|
||||
a {color: #0000ff;}
|
||||
a.visited {color: #ff00ff;}
|
||||
a:visited {color: #ff00ff;}
|
||||
@@ -377,6 +390,7 @@ h1.alert, h2.alert {color: #000000;}
|
||||
.memo {color: #638500; text-align: center;}
|
||||
.memoedit {text-align: center; font-size: 16px;}
|
||||
.abductor {color: #800080; font-style: italic;}
|
||||
.mind_control {color: #A00D6F; font-size: 3; font-weight: bold; font-style: italic;}
|
||||
.slime {color: #00CED1;}
|
||||
.drone {color: #848482;}
|
||||
.monkey {color: #975032;}
|
||||
|
||||
@@ -36,9 +36,12 @@
|
||||
<div class="sub" id="subOptions">
|
||||
<a href="#" class="subCell decreaseFont topCell" id="decreaseFont"><span>Decrease font size</span> <i class="icon-font">-</i></a>
|
||||
<a href="#" class="subCell increaseFont" id="increaseFont"><span>Increase font size</span> <i class="icon-font">+</i></a>
|
||||
<a href="#" class="subCell decreaseLineHeight" id="decreaseLineHeight"><span>Decrease line height</span> <i class="icon-text-height">-</i></a>
|
||||
<a href="#" class="subCell increaseLineHeight" id="increaseLineHeight"><span>Increase line height</span> <i class="icon-text-height">+</i></a>
|
||||
<a href="#" class="subCell togglePing" id="togglePing"><span>Toggle ping display</span> <i class="icon-circle"></i></a>
|
||||
<a href="#" class="subCell highlightTerm" id="highlightTerm"><span>Highlight string</span> <i class="icon-tag"></i></a>
|
||||
<a href="#" class="subCell saveLog" id="saveLog"><span>Save chat log</span> <i class="icon-save"></i></a>
|
||||
<a href="#" class="subCell toggleCombine" id="toggleCombine"><span>Toggle line combining</span> <i class="icon-filter"></i></a>
|
||||
<a href="#" class="subCell clearMessages" id="clearMessages"><span>Clear all messages</span> <i class="icon-eraser"></i></a>
|
||||
</div>
|
||||
<div class="sub" id="subAudio">
|
||||
|
||||
@@ -22,7 +22,7 @@ window.onerror = function(msg, url, line, col, error) {
|
||||
|
||||
//Globals
|
||||
window.status = 'Output';
|
||||
var $messages, $subOptions, $subAudio, $selectedSub, $contextMenu, $filterMessages;
|
||||
var $messages, $subOptions, $subAudio, $selectedSub, $contextMenu, $filterMessages, $last_message;
|
||||
var opts = {
|
||||
//General
|
||||
'messageCount': 0, //A count...of messages...
|
||||
@@ -68,6 +68,8 @@ var opts = {
|
||||
|
||||
'defaultMusicVolume': 25,
|
||||
|
||||
'messageCombining': true,
|
||||
|
||||
};
|
||||
|
||||
function clamp(val, min, max) {
|
||||
@@ -294,27 +296,54 @@ function output(message, flag) {
|
||||
opts.messageCount--; //I guess the count should only ever equal the limit
|
||||
}
|
||||
|
||||
//Actually append the message
|
||||
var entry = document.createElement('div');
|
||||
entry.className = 'entry';
|
||||
|
||||
if (filteredOut) {
|
||||
entry.className += ' hidden';
|
||||
entry.setAttribute('data-filter', filteredOut);
|
||||
var handled = false;
|
||||
var trimmed_message = message.trim()
|
||||
var lastmessages = $messages.children('div.entry:last-child');
|
||||
if (opts.messageCombining && lastmessages.length && $last_message)
|
||||
{
|
||||
if($last_message == trimmed_message)
|
||||
{
|
||||
if(lastmessages.children('span.r').length)
|
||||
{
|
||||
var current_value = parseInt(lastmessages.children('span.r').text())
|
||||
lastmessages.children('span.r').text(current_value+1)
|
||||
}
|
||||
else
|
||||
{
|
||||
lastmessages.append($('<span/>', { 'class': 'r', 'text': 2}));
|
||||
}
|
||||
if(parseInt(lastmessages.css("font-size")) < 24) //Completely arbitrary max size
|
||||
lastmessages.css("font-size","+=2")
|
||||
opts.messageCount--;
|
||||
handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!handled)
|
||||
{
|
||||
//Actually append the message
|
||||
var entry = document.createElement('div');
|
||||
entry.className = 'entry';
|
||||
|
||||
if (filteredOut) {
|
||||
entry.className += ' hidden';
|
||||
entry.setAttribute('data-filter', filteredOut);
|
||||
}
|
||||
|
||||
$last_message = trimmed_message;
|
||||
entry.innerHTML = trimmed_message;
|
||||
$messages[0].appendChild(entry);
|
||||
$(entry).find("img.icon").error(iconError);
|
||||
//Actually do the snap
|
||||
//Stuff we can do after the message shows can go here, in the interests of responsiveness
|
||||
if (opts.highlightTerms && opts.highlightTerms.length > 0) {
|
||||
highlightTerms(entry);
|
||||
}
|
||||
}
|
||||
|
||||
entry.innerHTML = message.trim();
|
||||
$messages[0].appendChild(entry);
|
||||
$(entry).find("img.icon").error(iconError);
|
||||
//Actually do the snap
|
||||
if (!filteredOut && atBottom) {
|
||||
$('body,html').scrollTop($messages.outerHeight());
|
||||
}
|
||||
|
||||
//Stuff we can do after the message shows can go here, in the interests of responsiveness
|
||||
if (opts.highlightTerms && opts.highlightTerms.length > 0) {
|
||||
highlightTerms(entry);
|
||||
}
|
||||
}
|
||||
|
||||
function internalOutput(message, flag)
|
||||
@@ -564,16 +593,22 @@ $(function() {
|
||||
******************************************/
|
||||
var savedConfig = {
|
||||
'sfontSize': getCookie('fontsize'),
|
||||
'slineHeight': getCookie('lineheight'),
|
||||
'spingDisabled': getCookie('pingdisabled'),
|
||||
'shighlightTerms': getCookie('highlightterms'),
|
||||
'shighlightColor': getCookie('highlightcolor'),
|
||||
'smusicVolume': getCookie('musicVolume'),
|
||||
'smessagecombining': getCookie('messagecombining'),
|
||||
};
|
||||
|
||||
if (savedConfig.sfontSize) {
|
||||
$messages.css('font-size', savedConfig.sfontSize);
|
||||
internalOutput('<span class="internal boldnshit">Loaded font size setting of: '+savedConfig.sfontSize+'</span>', 'internal');
|
||||
}
|
||||
if (savedConfig.slineHeight) {
|
||||
$("body").css('line-height', savedConfig.slineHeight);
|
||||
internalOutput('<span class="internal boldnshit">Loaded line height setting of: '+savedConfig.slineHeight+'</span>', 'internal');
|
||||
}
|
||||
if (savedConfig.spingDisabled) {
|
||||
if (savedConfig.spingDisabled == 'true') {
|
||||
opts.pingDisabled = true;
|
||||
@@ -606,7 +641,15 @@ $(function() {
|
||||
opts.updatedVolume = newVolume;
|
||||
sendVolumeUpdate();
|
||||
internalOutput('<span class="internal boldnshit">Loaded music volume of: '+savedConfig.smusicVolume+'</span>', 'internal');
|
||||
} else {
|
||||
}
|
||||
if (savedConfig.smessagecombining) {
|
||||
if (savedConfig.smessagecombining == 'false') {
|
||||
opts.messageCombining = false;
|
||||
} else {
|
||||
opts.messageCombining = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$('#adminMusic').prop('volume', opts.defaultMusicVolume / 100);
|
||||
}
|
||||
|
||||
@@ -805,6 +848,28 @@ $(function() {
|
||||
internalOutput('<span class="internal boldnshit">Font size set to '+fontSize+'</span>', 'internal');
|
||||
});
|
||||
|
||||
$('#decreaseLineHeight').click(function(e) {
|
||||
var Heightline = parseFloat($("body").css('line-height'));
|
||||
var Sizefont = parseFloat($("body").css('font-size'));
|
||||
var lineheightvar = Heightline / Sizefont
|
||||
lineheightvar -= 0.1;
|
||||
lineheightvar = lineheightvar.toFixed(1)
|
||||
$("body").css({'line-height': lineheightvar});
|
||||
setCookie('lineheight', lineheightvar, 365);
|
||||
internalOutput('<span class="internal boldnshit">Line height set to '+lineheightvar+'</span>', 'internal');
|
||||
});
|
||||
|
||||
$('#increaseLineHeight').click(function(e) {
|
||||
var Heightline = parseFloat($("body").css('line-height'));
|
||||
var Sizefont = parseFloat($("body").css('font-size'));
|
||||
var lineheightvar = Heightline / Sizefont
|
||||
lineheightvar += 0.1;
|
||||
lineheightvar = lineheightvar.toFixed(1)
|
||||
$("body").css({'line-height': lineheightvar});
|
||||
setCookie('lineheight', lineheightvar, 365);
|
||||
internalOutput('<span class="internal boldnshit">Line height set to '+lineheightvar+'</span>', 'internal');
|
||||
});
|
||||
|
||||
$('#togglePing').click(function(e) {
|
||||
if (opts.pingDisabled) {
|
||||
$('#ping').slideDown('fast');
|
||||
@@ -922,6 +987,11 @@ $(function() {
|
||||
}
|
||||
});
|
||||
|
||||
$('#toggleCombine').click(function(e) {
|
||||
opts.messageCombining = !opts.messageCombining;
|
||||
setCookie('messagecombining', (opts.messageCombining ? 'true' : 'false'), 365);
|
||||
});
|
||||
|
||||
$('img.icon').error(iconError);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user