Diff
checker
Text
Text
Bilder
Dokumente
Excel
Ordner
Legal
Enterprise
Desktop-App
Preise
Einloggen
Diffchecker Desktop herunterladen
Texte vergleichen
Finde den Unterschied zwischen zwei Textdateien
Werkzeuge
Verlauf
Live-Editor
Gleiches ausblenden
Zeilenumbruch aus
Ansicht
Zweispaltig
Einspaltig
Vergleichsgenauigkeit
Intelligent
Wort
Zeichen
Syntaxhervorhebung
Syntax auswählen
Ignorieren
Text umwandeln
Zur ersten Änderung
Eingabe bearbeiten
Diffchecker Desktop
Der sicherste Weg, Diffchecker zu nutzen. Hol dir die Desktop-App: Deine Diffs verlassen nie deinen Computer!
Desktop holen
Untitled diff
Erstellt
vor 11 Jahren
Diff läuft nie ab
Löschen
Exportieren
Teilen
Erklären
7 Entfernungen
Zeilen
Gesamt
Entfernt
Zeichen
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
190 Zeilen
Kopieren
10 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Zeichen
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
191 Zeilen
Kopieren
function addSettings() {
function addSettings() {
if ($("#settingsButton").length)
if ($("#settingsButton").length)
return;
return;
// Add the required CSS
// Add the required CSS
AddCss("\
AddCss("\
#settingsButton{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); display: block; position: fixed; overflow: auto; right: 0px; top: 0px; padding: 3px; z-index: 1000;}\
#settingsButton{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); display: block; position: fixed; overflow: auto; right: 0px; top: 0px; padding: 3px; z-index: 1000;}\
#pauseButton{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); display: block; position: fixed; overflow: auto; right: 23px; top: 0px; padding: 3px; z-index: 1000;}\
#pauseButton{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); display: block; position: fixed; overflow: auto; right: 23px; top: 0px; padding: 3px; z-index: 1000;}\
Kopieren
Kopiert
Kopieren
Kopiert
#settingsPanel{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); color: rgb(0, 0, 0); position: fixed; overflow: auto; right: 0px; top: 0px; width:
3
50px;max-height:750px;font: 12px sans-serif; text-align: left; display: block; z-index: 1000;}\
#settingsPanel{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); color: rgb(0, 0, 0); position: fixed; overflow: auto; right: 0px; top: 0px; width:
5
50px;max-height:750px;font: 12px sans-serif; text-align: left; display: block; z-index: 1000;}\
#settings_title{font-weight: bolder; background: none repeat scroll 0% 0% rgb(204, 204, 204); border-bottom: 1px solid rgb(102, 102, 102); padding: 3px;}\
#settings_title{font-weight: bolder; background: none repeat scroll 0% 0% rgb(204, 204, 204); border-bottom: 1px solid rgb(102, 102, 102); padding: 3px;}\
#settingsPanelButtonContainer {background: none repeat scroll 0% 0% rgb(204, 204, 204); border-top: 1px solid rgb(102, 102, 102);padding: 3px;text-align:center} \
#settingsPanelButtonContainer {background: none repeat scroll 0% 0% rgb(204, 204, 204); border-top: 1px solid rgb(102, 102, 102);padding: 3px;text-align:center} \
#settingsPanel label.purple {font-weight:bold;color:#7C37F6}\
#settingsPanel label.purple {font-weight:bold;color:#7C37F6}\
#settingsPanel label.blue {font-weight:bold;color:#007EFF}\
#settingsPanel label.blue {font-weight:bold;color:#007EFF}\
#settingsPanel label.green {font-weight:bold;color:#8AFF00}\
#settingsPanel label.green {font-weight:bold;color:#8AFF00}\
#settingsPanel label.white {font-weight:bold;color:#FFFFFF}\
#settingsPanel label.white {font-weight:bold;color:#FFFFFF}\
Kopieren
Kopiert
Kopieren
Kopiert
#charPanel {width:
340px
;max-height:400px;overflow:auto;display:block;padding:3px;}\
#charPanel {width:
98%
;max-height:400px;overflow:auto;display:block;padding:3px;}\
#charPanel div div ul li { display: inline-block; width: 48%; }\
.inventory-container {float: left; clear: none; width: 270px; margin-right: 20px;}\
.inventory-container {float: left; clear: none; width: 270px; margin-right: 20px;}\
#prinfopane {position: fixed; top: 5px; left: 200px; display: block; z-index: 1000;}\
#prinfopane {position: fixed; top: 5px; left: 200px; display: block; z-index: 1000;}\
.prh3 {padding: 5px; height: auto!important; width: auto!important; background-color: rgba(0, 0, 0, 0.7);}\
.prh3 {padding: 5px; height: auto!important; width: auto!important; background-color: rgba(0, 0, 0, 0.7);}\
");
");
// Add settings panel to page body
// Add settings panel to page body
$("body").append(
$("body").append(
'<div id="settingsPanel">\
'<div id="settingsPanel">\
<div id="settings_title">\
<div id="settings_title">\
<img src='+image_prefs+' style="float: left; vertical-align: text-bottom;"\>\
<img src='+image_prefs+' style="float: left; vertical-align: text-bottom;"\>\
<img id="settings_close" src='+image_close+' title="Click to hide preferences" style="float: right; vertical-align: text-bottom; cursor: pointer; display: block;"\>\
<img id="settings_close" src='+image_close+' title="Click to hide preferences" style="float: right; vertical-align: text-bottom; cursor: pointer; display: block;"\>\
<span style="margin:3px">Settings</span>\
<span style="margin:3px">Settings</span>\
</div>\
</div>\
<form style="margin: 0px; padding: 0px">\
<form style="margin: 0px; padding: 0px">\
<ul style="list-style: none outside none; max-height: 500px; overflow: auto; margin: 3px; padding: 0px;">\
<ul style="list-style: none outside none; max-height: 500px; overflow: auto; margin: 3px; padding: 0px;">\
</ul>\
</ul>\
</form>\
</form>\
</div>'
</div>'
);
);
// Add each setting input
// Add each setting input
var settingsList = $("#settingsPanel form ul");
var settingsList = $("#settingsPanel form ul");
for (var i = 0; i < settingnames.length; i++) {
for (var i = 0; i < settingnames.length; i++) {
var id = 'settings_' + settingnames[i].name;
var id = 'settings_' + settingnames[i].name;
var indent = countLeadingSpaces(settingnames[i].title) * 2;
var indent = countLeadingSpaces(settingnames[i].title) * 2;
switch(settingnames[i].type) {
switch(settingnames[i].type) {
case "checkbox":
case "checkbox":
Kopieren
Kopiert
Kopieren
Kopiert
settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em
"><input style="margin:4px" name="'+id+'" id="'+id+'" type="checkbox" /><label class="'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label></li>')
settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em
; width: 48%; display: inline-block;
"><input style="margin:4px" name="'+id+'" id="'+id+'" type="checkbox" /><label class="'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label></li>')
$('#'+id).prop('checked', settings[settingnames[i].name]);
$('#'+id).prop('checked', settings[settingnames[i].name]);
break;
break;
case "text":
case "text":
Kopieren
Kopiert
Kopieren
Kopiert
settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em
">
<label class="'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label><input style="margin:4px" name="'+id+'" id="'+id+'" type="text" /></li>')
settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em
; width: 48%; display: inline-block;"
<label class="'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label><input style="margin:4px" name="'+id+'" id="'+id+'" type="text" /></li>')
$('#'+id).val(settings[settingnames[i].name]);
$('#'+id).val(settings[settingnames[i].name]);
break;
break;
case "password":
case "password":
Kopieren
Kopiert
Kopieren
Kopiert
settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em
"><label class=
"'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label><input style="margin:4px" name="'+id+'" id="'+id+'" type="password" /></li>')
settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em
; width: 48%; display: inline-block;
"'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label><input style="margin:4px" name="'+id+'" id="'+id+'" type="password" /></li>')
$('#'+id).val(settings[settingnames[i].name]);
$('#'+id).val(settings[settingnames[i].name]);
break;
break;
case "select":
case "select":
Kopieren
Kopiert
Kopieren
Kopiert
settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em
"><label class=
"'+settingnames[i].class+'" style="padding-left:4px" for="'+id+'">'+settingnames[i].title+'</label><select style="margin:4px" name="'+id+'" id="'+id+'" /></li>')
settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em
; width: 48%; display: inline-block;
"'+settingnames[i].class+'" style="padding-left:4px" for="'+id+'">'+settingnames[i].title+'</label><select style="margin:4px" name="'+id+'" id="'+id+'" /></li>')
var options = settingnames[i].opts;
var options = settingnames[i].opts;
var select = $('#'+id);
var select = $('#'+id);
for (var j = 0; j < options.length; j++) {
for (var j = 0; j < options.length; j++) {
if (settings[settingnames[i].name] == options[j].path)
if (settings[settingnames[i].name] == options[j].path)
select.append('<option value="'+options[j].path+'" selected="selected">'+options[j].name+'</option>');
select.append('<option value="'+options[j].path+'" selected="selected">'+options[j].name+'</option>');
else
else
select.append('<option value="'+options[j].path+'">'+options[j].name+'</option>');
select.append('<option value="'+options[j].path+'">'+options[j].name+'</option>');
}
}
break;
break;
case "label":
case "label":
settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em;><label class="'+settingnames[i].class+'">'+settingnames[i].title+'</label></li>')
settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em;><label class="'+settingnames[i].class+'">'+settingnames[i].title+'</label></li>')
break;
break;
}
}
}
}
// Add character settings for each char
// Add character settings for each char
var addText = '\
var addText = '\
<script type="text/javascript">\
<script type="text/javascript">\
<!--\
<!--\
function click_position(obj)\
function click_position(obj)\
{\
{\
change_position(obj.value)\
change_position(obj.value)\
}\
}\
\
\
function change_position(val)\
function change_position(val)\
{\
{\
for (var i = 0; i < '+settings["charcount"]+'; i++)\
for (var i = 0; i < '+settings["charcount"]+'; i++)\
{\
{\
document.getElementById("charContainer"+i).style.display="none";\
document.getElementById("charContainer"+i).style.display="none";\
}\
}\
document.getElementById("charContainer"+val).style.display="block";\
document.getElementById("charContainer"+val).style.display="block";\
}\
}\
//-->\
//-->\
</script>\
</script>\
<div id="charPanel">\
<div id="charPanel">\
Kopieren
Kopiert
Kopieren
Kopiert
<div style="width:
150px
;float:left;max-height:400px;overflow:auto;">\
<div style="width:
30%
;float:left;max-height:400px;overflow:auto;">\
';
';
for (var i = 0; i < settings["charcount"]; i++) {
for (var i = 0; i < settings["charcount"]; i++) {
addText += '\
addText += '\
<div><input autocomplete="off" type="radio" name="radio_position" onclick="click_position(this)" id="value_'+i+'" value="'+i+'" /><label for="value_'+i+'">'+settings["nw_charname"+i]+'</label></div>\
<div><input autocomplete="off" type="radio" name="radio_position" onclick="click_position(this)" id="value_'+i+'" value="'+i+'" /><label for="value_'+i+'">'+settings["nw_charname"+i]+'</label></div>\
';
';
}
}
addText += '\
addText += '\
</div>\
</div>\
Kopieren
Kopiert
Kopieren
Kopiert
<div style="width:
170px
;float:right;">\
<div style="width:
69%
;float:right;">\
';
';
for (var i = 0; i < settings["charcount"]; i++) {
for (var i = 0; i < settings["charcount"]; i++) {
addText += '\
addText += '\
<div id="charContainer'+i+'" style="display:none">\
<div id="charContainer'+i+'" style="display:none">\
<ul style="list-style: none outside none; max-height: 500px; overflow: auto;">\
<ul style="list-style: none outside none; max-height: 500px; overflow: auto;">\
';
';
var k = 0 + (i*charSettings.length/settings["charcount"]);
var k = 0 + (i*charSettings.length/settings["charcount"]);
var id = 'settings_' + charSettings[k].name;
var id = 'settings_' + charSettings[k].name;
addText += '<li title="'+charSettings[k].tooltip+'"><input style="margin:4px" name="'+id+'" id="'+id+'" type="text" /></li>';
addText += '<li title="'+charSettings[k].tooltip+'"><input style="margin:4px" name="'+id+'" id="'+id+'" type="text" /></li>';
for (var j = 1; j < (charSettings.length/settings["charcount"]); j++) {
for (var j = 1; j < (charSettings.length/settings["charcount"]); j++) {
k = j + (i*charSettings.length/settings["charcount"]);
k = j + (i*charSettings.length/settings["charcount"]);
if (charSettings[k].type == 'void') { continue; }
if (charSettings[k].type == 'void') { continue; }
id = 'settings_' + charSettings[k].name;
id = 'settings_' + charSettings[k].name;
addText += '<li title="'+charSettings[k].tooltip+'"><input maxlength="2" size="1" style="margin:4px" name="'+id+'" id="'+id+'" type="text" /><label class="'+charSettings[k].class+'" for="'+id+'">'+charSettings[k].title+'</label></li>';
addText += '<li title="'+charSettings[k].tooltip+'"><input maxlength="2" size="1" style="margin:4px" name="'+id+'" id="'+id+'" type="text" /><label class="'+charSettings[k].class+'" for="'+id+'">'+charSettings[k].title+'</label></li>';
}
}
addText += '</ul>'
addText += '</ul>'
// Add task list save buttons
// Add task list save buttons
addText += '\
addText += '\
<input id="save_tasklist'+i+'" type="button" value="Save Tasks" title="Saves current task list in script to this character">\
<input id="save_tasklist'+i+'" type="button" value="Save Tasks" title="Saves current task list in script to this character">\
<input id="clear_tasklist'+i+'" type="button" value="Clear Tasks" title="Clears the saved task list for this character to use defaults">\
<input id="clear_tasklist'+i+'" type="button" value="Clear Tasks" title="Clears the saved task list for this character to use defaults">\
</div>';
</div>';
}
}
addText += '\
addText += '\
</div>\
</div>\
</div>\
</div>\
';
';
$("#settingsPanel form").append(addText);
$("#settingsPanel form").append(addText);
// Add values to character input fields
// Add values to character input fields
for (var i = 0; i < charSettings.length; i++) {
for (var i = 0; i < charSettings.length; i++) {
id = 'settings_' + charSettings[i].name;
id = 'settings_' + charSettings[i].name;
$('#'+id).val(settings[charSettings[i].name]);
$('#'+id).val(settings[charSettings[i].name]);
}
}
// Add code to tasklist buttons
// Add code to tasklist buttons
for (var i = 0; i < settings["charcount"]; i++) {
for (var i = 0; i < settings["charcount"]; i++) {
$("#save_tasklist"+i).click(function() {
$("#save_tasklist"+i).click(function() {
var num = this.id.replace("save_tasklist", "");
var num = this.id.replace("save_tasklist", "");
charSettings["tasklist"+num] = tasklist;
charSettings["tasklist"+num] = tasklist;
setTimeout(function() { GM_setValue("tasklist"+num, JSON.stringify(defaultTasklist)); }, 0);
setTimeout(function() { GM_setValue("tasklist"+num, JSON.stringify(defaultTasklist)); }, 0);
});
});
$("#clear_tasklist"+i).click(function() {
$("#clear_tasklist"+i).click(function() {
var num = this.id.replace("clear_tasklist", "");
var num = this.id.replace("clear_tasklist", "");
charSettings["tasklist"+num] = "";
charSettings["tasklist"+num] = "";
setTimeout(function() { GM_setValue("tasklist"+num, ""); }, 0);
setTimeout(function() { GM_setValue("tasklist"+num, ""); }, 0);
});
});
}
}
// Add save/cancel buttons to panel
// Add save/cancel buttons to panel
$("#settingsPanel form").append('\
$("#settingsPanel form").append('\
<div id="settingsPanelButtonContainer">\
<div id="settingsPanelButtonContainer">\
<input id="settings_save" type="button" value="Save and Apply">\
<input id="settings_save" type="button" value="Save and Apply">\
<input id="settings_close" type="button" value="Close">\
<input id="settings_close" type="button" value="Close">\
</div>');
</div>');
// Add open settings button to page
// Add open settings button to page
$("body").append('<div id="settingsButton"><img src="'+image_prefs+'" title="Click to show preferences" style="cursor: pointer; display: block;"></div>');
$("body").append('<div id="settingsButton"><img src="'+image_prefs+'" title="Click to show preferences" style="cursor: pointer; display: block;"></div>');
// Add pause button to page
// Add pause button to page
$("body").append('<div id="pauseButton"><img src="'+(settings["paused"]?image_play:image_pause)+'" title="Click to '+(settings["paused"]?"resume":"pause")+' task script" style="cursor: pointer; display: block;"></div>');
$("body").append('<div id="pauseButton"><img src="'+(settings["paused"]?image_play:image_pause)+'" title="Click to '+(settings["paused"]?"resume":"pause")+' task script" style="cursor: pointer; display: block;"></div>');
// Add info pane
// Add info pane
$("body").append("<div id='prinfopane' class='header-newrelease'>");
$("body").append("<div id='prinfopane' class='header-newrelease'>");
// Add the javascript
// Add the javascript
$("#settingsPanel").hide();
$("#settingsPanel").hide();
$("#settingsButton").click(function() {
$("#settingsButton").click(function() {
$("#settingsButton").hide();
$("#settingsButton").hide();
$("#pauseButton").hide();
$("#pauseButton").hide();
$("#settingsPanel").show();
$("#settingsPanel").show();
});
});
$("#settings_close,settings_cancel").click(function() {
$("#settings_close,settings_cancel").click(function() {
$("#settingsButton").show();
$("#settingsButton").show();
$("#pauseButton").show();
$("#pauseButton").show();
$("#settingsPanel").hide();
$("#settingsPanel").hide();
});
});
$("#pauseButton").click(function() {
$("#pauseButton").click(function() {
settings["paused"] = !settings["paused"]
settings["paused"] = !settings["paused"]
setTimeout(function() { GM_setValue("paused", settings["paused"]); }, 0);
setTimeout(function() { GM_setValue("paused", settings["paused"]); }, 0);
$("#settings_paused").prop("checked", settings["paused"]);
$("#settings_paused").prop("checked", settings["paused"]);
$("#pauseButton img").attr("src",(settings["paused"]?image_play:image_pause));
$("#pauseButton img").attr("src",(settings["paused"]?image_play:image_pause));
$("#pauseButton img").attr("title","Click to "+(settings["paused"]?"resume":"pause")+" task script");
$("#pauseButton img").attr("title","Click to "+(settings["paused"]?"resume":"pause")+" task script");
});
});
// Use setTimeout to workaround permission issues when calling GM functions from main window
// Use setTimeout to workaround permission issues when calling GM functions from main window
$("#settings_save").click(function() { setTimeout(function() { SaveSettings();}, 0)});
$("#settings_save").click(function() { setTimeout(function() { SaveSettings();}, 0)});
}
}
Gespeicherte Diffs
Originaltext
Datei öffnen
function addSettings() { if ($("#settingsButton").length) return; // Add the required CSS AddCss("\ #settingsButton{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); display: block; position: fixed; overflow: auto; right: 0px; top: 0px; padding: 3px; z-index: 1000;}\ #pauseButton{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); display: block; position: fixed; overflow: auto; right: 23px; top: 0px; padding: 3px; z-index: 1000;}\ #settingsPanel{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); color: rgb(0, 0, 0); position: fixed; overflow: auto; right: 0px; top: 0px; width: 350px;max-height:750px;font: 12px sans-serif; text-align: left; display: block; z-index: 1000;}\ #settings_title{font-weight: bolder; background: none repeat scroll 0% 0% rgb(204, 204, 204); border-bottom: 1px solid rgb(102, 102, 102); padding: 3px;}\ #settingsPanelButtonContainer {background: none repeat scroll 0% 0% rgb(204, 204, 204); border-top: 1px solid rgb(102, 102, 102);padding: 3px;text-align:center} \ #settingsPanel label.purple {font-weight:bold;color:#7C37F6}\ #settingsPanel label.blue {font-weight:bold;color:#007EFF}\ #settingsPanel label.green {font-weight:bold;color:#8AFF00}\ #settingsPanel label.white {font-weight:bold;color:#FFFFFF}\ #charPanel {width:340px;max-height:400px;overflow:auto;display:block;padding:3px;}\ .inventory-container {float: left; clear: none; width: 270px; margin-right: 20px;}\ #prinfopane {position: fixed; top: 5px; left: 200px; display: block; z-index: 1000;}\ .prh3 {padding: 5px; height: auto!important; width: auto!important; background-color: rgba(0, 0, 0, 0.7);}\ "); // Add settings panel to page body $("body").append( '<div id="settingsPanel">\ <div id="settings_title">\ <img src='+image_prefs+' style="float: left; vertical-align: text-bottom;"\>\ <img id="settings_close" src='+image_close+' title="Click to hide preferences" style="float: right; vertical-align: text-bottom; cursor: pointer; display: block;"\>\ <span style="margin:3px">Settings</span>\ </div>\ <form style="margin: 0px; padding: 0px">\ <ul style="list-style: none outside none; max-height: 500px; overflow: auto; margin: 3px; padding: 0px;">\ </ul>\ </form>\ </div>' ); // Add each setting input var settingsList = $("#settingsPanel form ul"); for (var i = 0; i < settingnames.length; i++) { var id = 'settings_' + settingnames[i].name; var indent = countLeadingSpaces(settingnames[i].title) * 2; switch(settingnames[i].type) { case "checkbox": settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em"><input style="margin:4px" name="'+id+'" id="'+id+'" type="checkbox" /><label class="'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label></li>') $('#'+id).prop('checked', settings[settingnames[i].name]); break; case "text": settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em"><label class="'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label><input style="margin:4px" name="'+id+'" id="'+id+'" type="text" /></li>') $('#'+id).val(settings[settingnames[i].name]); break; case "password": settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em"><label class="'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label><input style="margin:4px" name="'+id+'" id="'+id+'" type="password" /></li>') $('#'+id).val(settings[settingnames[i].name]); break; case "select": settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em"><label class="'+settingnames[i].class+'" style="padding-left:4px" for="'+id+'">'+settingnames[i].title+'</label><select style="margin:4px" name="'+id+'" id="'+id+'" /></li>') var options = settingnames[i].opts; var select = $('#'+id); for (var j = 0; j < options.length; j++) { if (settings[settingnames[i].name] == options[j].path) select.append('<option value="'+options[j].path+'" selected="selected">'+options[j].name+'</option>'); else select.append('<option value="'+options[j].path+'">'+options[j].name+'</option>'); } break; case "label": settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em;><label class="'+settingnames[i].class+'">'+settingnames[i].title+'</label></li>') break; } } // Add character settings for each char var addText = '\ <script type="text/javascript">\ <!--\ function click_position(obj)\ {\ change_position(obj.value)\ }\ \ function change_position(val)\ {\ for (var i = 0; i < '+settings["charcount"]+'; i++)\ {\ document.getElementById("charContainer"+i).style.display="none";\ }\ document.getElementById("charContainer"+val).style.display="block";\ }\ //-->\ </script>\ <div id="charPanel">\ <div style="width:150px;float:left;max-height:400px;overflow:auto;">\ '; for (var i = 0; i < settings["charcount"]; i++) { addText += '\ <div><input autocomplete="off" type="radio" name="radio_position" onclick="click_position(this)" id="value_'+i+'" value="'+i+'" /><label for="value_'+i+'">'+settings["nw_charname"+i]+'</label></div>\ '; } addText += '\ </div>\ <div style="width:170px;float:right;">\ '; for (var i = 0; i < settings["charcount"]; i++) { addText += '\ <div id="charContainer'+i+'" style="display:none">\ <ul style="list-style: none outside none; max-height: 500px; overflow: auto;">\ '; var k = 0 + (i*charSettings.length/settings["charcount"]); var id = 'settings_' + charSettings[k].name; addText += '<li title="'+charSettings[k].tooltip+'"><input style="margin:4px" name="'+id+'" id="'+id+'" type="text" /></li>'; for (var j = 1; j < (charSettings.length/settings["charcount"]); j++) { k = j + (i*charSettings.length/settings["charcount"]); if (charSettings[k].type == 'void') { continue; } id = 'settings_' + charSettings[k].name; addText += '<li title="'+charSettings[k].tooltip+'"><input maxlength="2" size="1" style="margin:4px" name="'+id+'" id="'+id+'" type="text" /><label class="'+charSettings[k].class+'" for="'+id+'">'+charSettings[k].title+'</label></li>'; } addText += '</ul>' // Add task list save buttons addText += '\ <input id="save_tasklist'+i+'" type="button" value="Save Tasks" title="Saves current task list in script to this character">\ <input id="clear_tasklist'+i+'" type="button" value="Clear Tasks" title="Clears the saved task list for this character to use defaults">\ </div>'; } addText += '\ </div>\ </div>\ '; $("#settingsPanel form").append(addText); // Add values to character input fields for (var i = 0; i < charSettings.length; i++) { id = 'settings_' + charSettings[i].name; $('#'+id).val(settings[charSettings[i].name]); } // Add code to tasklist buttons for (var i = 0; i < settings["charcount"]; i++) { $("#save_tasklist"+i).click(function() { var num = this.id.replace("save_tasklist", ""); charSettings["tasklist"+num] = tasklist; setTimeout(function() { GM_setValue("tasklist"+num, JSON.stringify(defaultTasklist)); }, 0); }); $("#clear_tasklist"+i).click(function() { var num = this.id.replace("clear_tasklist", ""); charSettings["tasklist"+num] = ""; setTimeout(function() { GM_setValue("tasklist"+num, ""); }, 0); }); } // Add save/cancel buttons to panel $("#settingsPanel form").append('\ <div id="settingsPanelButtonContainer">\ <input id="settings_save" type="button" value="Save and Apply">\ <input id="settings_close" type="button" value="Close">\ </div>'); // Add open settings button to page $("body").append('<div id="settingsButton"><img src="'+image_prefs+'" title="Click to show preferences" style="cursor: pointer; display: block;"></div>'); // Add pause button to page $("body").append('<div id="pauseButton"><img src="'+(settings["paused"]?image_play:image_pause)+'" title="Click to '+(settings["paused"]?"resume":"pause")+' task script" style="cursor: pointer; display: block;"></div>'); // Add info pane $("body").append("<div id='prinfopane' class='header-newrelease'>"); // Add the javascript $("#settingsPanel").hide(); $("#settingsButton").click(function() { $("#settingsButton").hide(); $("#pauseButton").hide(); $("#settingsPanel").show(); }); $("#settings_close,settings_cancel").click(function() { $("#settingsButton").show(); $("#pauseButton").show(); $("#settingsPanel").hide(); }); $("#pauseButton").click(function() { settings["paused"] = !settings["paused"] setTimeout(function() { GM_setValue("paused", settings["paused"]); }, 0); $("#settings_paused").prop("checked", settings["paused"]); $("#pauseButton img").attr("src",(settings["paused"]?image_play:image_pause)); $("#pauseButton img").attr("title","Click to "+(settings["paused"]?"resume":"pause")+" task script"); }); // Use setTimeout to workaround permission issues when calling GM functions from main window $("#settings_save").click(function() { setTimeout(function() { SaveSettings();}, 0)}); }
Bearbeitung
Datei öffnen
function addSettings() { if ($("#settingsButton").length) return; // Add the required CSS AddCss("\ #settingsButton{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); display: block; position: fixed; overflow: auto; right: 0px; top: 0px; padding: 3px; z-index: 1000;}\ #pauseButton{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); display: block; position: fixed; overflow: auto; right: 23px; top: 0px; padding: 3px; z-index: 1000;}\ #settingsPanel{border-bottom: 1px solid rgb(102, 102, 102); border-right: 1px solid rgb(102, 102, 102); background: none repeat scroll 0% 0% rgb(238, 238, 238); color: rgb(0, 0, 0); position: fixed; overflow: auto; right: 0px; top: 0px; width: 550px;max-height:750px;font: 12px sans-serif; text-align: left; display: block; z-index: 1000;}\ #settings_title{font-weight: bolder; background: none repeat scroll 0% 0% rgb(204, 204, 204); border-bottom: 1px solid rgb(102, 102, 102); padding: 3px;}\ #settingsPanelButtonContainer {background: none repeat scroll 0% 0% rgb(204, 204, 204); border-top: 1px solid rgb(102, 102, 102);padding: 3px;text-align:center} \ #settingsPanel label.purple {font-weight:bold;color:#7C37F6}\ #settingsPanel label.blue {font-weight:bold;color:#007EFF}\ #settingsPanel label.green {font-weight:bold;color:#8AFF00}\ #settingsPanel label.white {font-weight:bold;color:#FFFFFF}\ #charPanel {width:98%;max-height:400px;overflow:auto;display:block;padding:3px;}\ #charPanel div div ul li { display: inline-block; width: 48%; }\ .inventory-container {float: left; clear: none; width: 270px; margin-right: 20px;}\ #prinfopane {position: fixed; top: 5px; left: 200px; display: block; z-index: 1000;}\ .prh3 {padding: 5px; height: auto!important; width: auto!important; background-color: rgba(0, 0, 0, 0.7);}\ "); // Add settings panel to page body $("body").append( '<div id="settingsPanel">\ <div id="settings_title">\ <img src='+image_prefs+' style="float: left; vertical-align: text-bottom;"\>\ <img id="settings_close" src='+image_close+' title="Click to hide preferences" style="float: right; vertical-align: text-bottom; cursor: pointer; display: block;"\>\ <span style="margin:3px">Settings</span>\ </div>\ <form style="margin: 0px; padding: 0px">\ <ul style="list-style: none outside none; max-height: 500px; overflow: auto; margin: 3px; padding: 0px;">\ </ul>\ </form>\ </div>' ); // Add each setting input var settingsList = $("#settingsPanel form ul"); for (var i = 0; i < settingnames.length; i++) { var id = 'settings_' + settingnames[i].name; var indent = countLeadingSpaces(settingnames[i].title) * 2; switch(settingnames[i].type) { case "checkbox": settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em; width: 48%; display: inline-block;"><input style="margin:4px" name="'+id+'" id="'+id+'" type="checkbox" /><label class="'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label></li>') $('#'+id).prop('checked', settings[settingnames[i].name]); break; case "text": settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em; width: 48%; display: inline-block;"<label class="'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label><input style="margin:4px" name="'+id+'" id="'+id+'" type="text" /></li>') $('#'+id).val(settings[settingnames[i].name]); break; case "password": settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em; width: 48%; display: inline-block;"'+settingnames[i].class+'" for="'+id+'">'+settingnames[i].title+'</label><input style="margin:4px" name="'+id+'" id="'+id+'" type="password" /></li>') $('#'+id).val(settings[settingnames[i].name]); break; case "select": settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em; width: 48%; display: inline-block;"'+settingnames[i].class+'" style="padding-left:4px" for="'+id+'">'+settingnames[i].title+'</label><select style="margin:4px" name="'+id+'" id="'+id+'" /></li>') var options = settingnames[i].opts; var select = $('#'+id); for (var j = 0; j < options.length; j++) { if (settings[settingnames[i].name] == options[j].path) select.append('<option value="'+options[j].path+'" selected="selected">'+options[j].name+'</option>'); else select.append('<option value="'+options[j].path+'">'+options[j].name+'</option>'); } break; case "label": settingsList.append('<li title="'+settingnames[i].tooltip+'" style="margin-left:'+indent+'em;><label class="'+settingnames[i].class+'">'+settingnames[i].title+'</label></li>') break; } } // Add character settings for each char var addText = '\ <script type="text/javascript">\ <!--\ function click_position(obj)\ {\ change_position(obj.value)\ }\ \ function change_position(val)\ {\ for (var i = 0; i < '+settings["charcount"]+'; i++)\ {\ document.getElementById("charContainer"+i).style.display="none";\ }\ document.getElementById("charContainer"+val).style.display="block";\ }\ //-->\ </script>\ <div id="charPanel">\ <div style="width:30%;float:left;max-height:400px;overflow:auto;">\ '; for (var i = 0; i < settings["charcount"]; i++) { addText += '\ <div><input autocomplete="off" type="radio" name="radio_position" onclick="click_position(this)" id="value_'+i+'" value="'+i+'" /><label for="value_'+i+'">'+settings["nw_charname"+i]+'</label></div>\ '; } addText += '\ </div>\ <div style="width:69%;float:right;">\ '; for (var i = 0; i < settings["charcount"]; i++) { addText += '\ <div id="charContainer'+i+'" style="display:none">\ <ul style="list-style: none outside none; max-height: 500px; overflow: auto;">\ '; var k = 0 + (i*charSettings.length/settings["charcount"]); var id = 'settings_' + charSettings[k].name; addText += '<li title="'+charSettings[k].tooltip+'"><input style="margin:4px" name="'+id+'" id="'+id+'" type="text" /></li>'; for (var j = 1; j < (charSettings.length/settings["charcount"]); j++) { k = j + (i*charSettings.length/settings["charcount"]); if (charSettings[k].type == 'void') { continue; } id = 'settings_' + charSettings[k].name; addText += '<li title="'+charSettings[k].tooltip+'"><input maxlength="2" size="1" style="margin:4px" name="'+id+'" id="'+id+'" type="text" /><label class="'+charSettings[k].class+'" for="'+id+'">'+charSettings[k].title+'</label></li>'; } addText += '</ul>' // Add task list save buttons addText += '\ <input id="save_tasklist'+i+'" type="button" value="Save Tasks" title="Saves current task list in script to this character">\ <input id="clear_tasklist'+i+'" type="button" value="Clear Tasks" title="Clears the saved task list for this character to use defaults">\ </div>'; } addText += '\ </div>\ </div>\ '; $("#settingsPanel form").append(addText); // Add values to character input fields for (var i = 0; i < charSettings.length; i++) { id = 'settings_' + charSettings[i].name; $('#'+id).val(settings[charSettings[i].name]); } // Add code to tasklist buttons for (var i = 0; i < settings["charcount"]; i++) { $("#save_tasklist"+i).click(function() { var num = this.id.replace("save_tasklist", ""); charSettings["tasklist"+num] = tasklist; setTimeout(function() { GM_setValue("tasklist"+num, JSON.stringify(defaultTasklist)); }, 0); }); $("#clear_tasklist"+i).click(function() { var num = this.id.replace("clear_tasklist", ""); charSettings["tasklist"+num] = ""; setTimeout(function() { GM_setValue("tasklist"+num, ""); }, 0); }); } // Add save/cancel buttons to panel $("#settingsPanel form").append('\ <div id="settingsPanelButtonContainer">\ <input id="settings_save" type="button" value="Save and Apply">\ <input id="settings_close" type="button" value="Close">\ </div>'); // Add open settings button to page $("body").append('<div id="settingsButton"><img src="'+image_prefs+'" title="Click to show preferences" style="cursor: pointer; display: block;"></div>'); // Add pause button to page $("body").append('<div id="pauseButton"><img src="'+(settings["paused"]?image_play:image_pause)+'" title="Click to '+(settings["paused"]?"resume":"pause")+' task script" style="cursor: pointer; display: block;"></div>'); // Add info pane $("body").append("<div id='prinfopane' class='header-newrelease'>"); // Add the javascript $("#settingsPanel").hide(); $("#settingsButton").click(function() { $("#settingsButton").hide(); $("#pauseButton").hide(); $("#settingsPanel").show(); }); $("#settings_close,settings_cancel").click(function() { $("#settingsButton").show(); $("#pauseButton").show(); $("#settingsPanel").hide(); }); $("#pauseButton").click(function() { settings["paused"] = !settings["paused"] setTimeout(function() { GM_setValue("paused", settings["paused"]); }, 0); $("#settings_paused").prop("checked", settings["paused"]); $("#pauseButton img").attr("src",(settings["paused"]?image_play:image_pause)); $("#pauseButton img").attr("title","Click to "+(settings["paused"]?"resume":"pause")+" task script"); }); // Use setTimeout to workaround permission issues when calling GM functions from main window $("#settings_save").click(function() { setTimeout(function() { SaveSettings();}, 0)}); }
Unterschied finden