//設定(setting.html)で読む var envView = new Vue({ el: '#envView', data: {config:envConstruction}, methods: { complete: function (i,val) { var ls=envView.config[i].storage; Materialize.toast("Complete", 3000); if(!val){ var id=envView.config[i].id; var val=$("#"+id).val() } localStorage.setItem(ls,val) if(ls=="ha"){ hardwareAcceleration(val) } return true } } }); var tlView = new Vue({ el: '#tlView', data: {config:tlConstruction}, methods: { complete: function (i,val) { var ls=tlView.config[i].storage; if(!val){ var id=tlView.config[i].id; var val=$("#"+id).val() } Materialize.toast("Complete", 3000); localStorage.setItem(ls,val) return true } } }); var postView = new Vue({ el: '#postView', data: {config:postConstruction,kirishima:localStorage.getItem('kirishima')}, methods: { complete: function (i,val) { var ls=postView.config[i].storage; Materialize.toast("Complete", 3000); if(!val){ var id=postView.config[i].id; var val=$("#"+id).val() } localStorage.setItem(ls,val) return true } } }); //設定ボタン押した。 function settings() { var cd = $("[name=theme]:checked").val(); var ct = $("[for="+cd+"]").html(); if(cd=="custom" && !$("#custom-sel-sel").val()){ var theme = localStorage.getItem("theme"); if (!theme) { var theme = "white"; } $("#" + theme).prop("checked", true); }else{ if (cd != localStorage.getItem("theme")) { Materialize.toast(lang.lang_setting_theme.replace("{{set}}" ,ct), 3000); } //テーマはこの場で設定 themes(cd); localStorage.setItem("theme", cd); } var fontd = $("#font").val(); if(fontd){ if (fontd != localStorage.getItem("font")) { Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,fontd), 3000); } localStorage.setItem("font", fontd); themes(); }else{ if(localStorage.getItem("font")){ localStorage.removeItem("font"); Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,lang.lang_setting_default), 3000); themes(); } } } //読み込み時の設定ロード function load() { var max=envView.config.length; for(var i=0;i<max;i++){ var ls=envView.config[i].storage; if(localStorage.getItem(ls)){ envView.config[i].setValue=localStorage.getItem(ls) } } var max=tlView.config.length; for(var i=0;i<max;i++){ var ls=tlView.config[i].storage; if(localStorage.getItem(ls)){ tlView.config[i].setValue=localStorage.getItem(ls) } } var max=postView.config.length; for(var i=0;i<max;i++){ var ls=postView.config[i].storage; if(localStorage.getItem(ls)){ postView.config[i].setValue=localStorage.getItem(ls) } } if(localStorage.getItem("imas")){ $(".imas").removeClass("hide"); } if(localStorage.getItem("kirishima")){ $(".kirishima").removeClass("hide"); } var theme = localStorage.getItem("theme"); if (!theme) { var theme = "white"; } $("#" + theme).prop("checked", true); var font = localStorage.getItem("font"); if (!font) { var font = ""; } $("#font").val(font); $("#c1-file").text(localStorage.getItem("custom1")) $("#c2-file").text(localStorage.getItem("custom2")); $("#c3-file").text(localStorage.getItem("custom3")); $("#c4-file").text(localStorage.getItem("custom4")); } function climute(){ //クライアントミュート var cli = localStorage.getItem("client_mute"); var obj = JSON.parse(cli); if(!obj){ $("#mute-cli").html(lang.lang_setting_nomuting); }else{ if(!obj[0]){ $("#mute-cli").html(lang.lang_setting_nomuting); return; } var templete; Object.keys(obj).forEach(function(key) { var cli = obj[key]; var list = key * 1 + 1; templete = '<div class="acct" id="acct_' + key + '">' + list + '.' + cli + '<button class="btn waves-effect red disTar" onclick="cliMuteDel(' + key + ')">'+lang.lang_del+'</button><br></div>'; $("#mute-cli").append(templete); }); } } function cliMuteDel(key){ var cli = localStorage.getItem("client_mute"); var obj = JSON.parse(cli); obj.splice(key, 1); var json = JSON.stringify(obj); localStorage.setItem("client_mute", json); mute(); } function wordmute(){ var word = localStorage.getItem("word_mute"); var obj = JSON.parse(word); $('#wordmute').material_chip({ data: obj, }); } function wordmuteSave(){ var word=$('#wordmute').material_chip('data'); var json = JSON.stringify(word); localStorage.setItem("word_mute", json); } function wordemp(){ var word = localStorage.getItem("word_emp"); var obj = JSON.parse(word); $('#wordemp').material_chip({ data: obj, }); } function wordempSave(){ var word=$('#wordemp').material_chip('data'); var json = JSON.stringify(word); localStorage.setItem("word_emp", json); } function notftest(){ var electron = require("electron"); var ipc = electron.ipcRenderer; var os = electron.remote.process.platform; var options = { body: lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')', icon: localStorage.getItem("prof_0") }; if(os=="darwin"){ var n = new Notification('TheDesk'+lang.lang_setting_notftest, options); }else{ ipc.send('native-notf', ['TheDesk'+lang.lang_setting_notftest,lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')',localStorage.getItem('prof_0'),"",""]); } } function oks(no){ var txt=$("#oks-"+no).val(); localStorage.setItem("oks-"+no, txt); Materialize.toast(lang.lang_setting_ksref, 3000); } function oksload(){ if(localStorage.getItem("oks-1")){$("#oks-1").val(localStorage.getItem("oks-1"))} if(localStorage.getItem("oks-2")){$("#oks-2").val(localStorage.getItem("oks-2"))} if(localStorage.getItem("oks-3")){$("#oks-3").val(localStorage.getItem("oks-3"))} } function changelang(lang){ var electron = require("electron"); var ipc = electron.ipcRenderer; ipc.send('lang',lang); ipc.on('langres', function (event, arg) { location.href="../"+lang+"/setting.html" }); } function exportSettings(){ if(!confirm(lang.lang_setting_exportwarn)){ return false; } var electron = require("electron"); var remote=electron.remote; var dialog=remote.dialog; var ipc = electron.ipcRenderer; dialog.showSaveDialog(null, { title: 'Export', properties: ['openFile', 'createDirectory'], defaultPath: "export.thedeskconfigv2" }, (savedFiles) => { console.log(savedFiles); if(!savedFiles){ return false; } var exp={}; //Accounts var multi = localStorage.getItem("multi"); var acct = JSON.parse(multi); exp.accts=acct; //Columns var multi = localStorage.getItem("column"); var column = JSON.parse(multi); exp.columns=column; //Themes var config={}; config.theme=localStorage.getItem("theme"); //Other configs var max=envView.config.length; for(var i=0;i<max;i++){ var ls=envView.config[i].storage; config[ls]=localStorage.getItem(ls) } var max=tlView.config.length; for(var i=0;i<max;i++){ var ls=tlView.config[i].storage; config[ls]=localStorage.getItem(ls) } var max=postView.config.length; for(var i=0;i<max;i++){ var ls=postView.config[i].storage; config[ls]=localStorage.getItem(ls) } //Font config.font=localStorage.getItem("font"); exp.config=config; //keysc exp.ksc=[ localStorage.getItem("oks-1"), localStorage.getItem("oks-2"), localStorage.getItem("oks-3") ]; //climu var cli = localStorage.getItem("client_mute"); var climu = JSON.parse(cli); exp.clientMute=climu; //wordmu var wdm = localStorage.getItem("word_mute"); var wordmu = JSON.parse(wdm); exp.wordMute=wordmu; //spotify exp.spotifyArtwork=localStorage.getItem("artwork") var content=localStorage.getItem("np-temp"); if(content || content=="" || content=="null"){ exp.spotifyTemplete=content; }else{ exp.spotifyTemplete=null; } //tags var tagarr = localStorage.getItem("tag"); var favtag = JSON.parse(tagarr); exp.favoriteTags=favtag; console.log(exp); ipc.send('export', [savedFiles,JSON.stringify(exp)]); alert("Done.") //cards //lang }); } function importSettings(){ if(!confirm(lang.lang_setting_importwarn)){ return false; } var electron = require("electron"); var remote=electron.remote; var dialog=remote.dialog; var ipc = electron.ipcRenderer; dialog.showOpenDialog(null, { title: 'Import', properties: ['openFile'], filters: [ {name: 'TheDesk Config', extensions: ['thedeskconfig','thedeskconfigv2']}, ] }, (fileNames) => { console.log(fileNames); if(!fileNames){ return false; } ipc.send('import', fileNames[0]); ipc.on('config', function (event, arg) { var obj = JSON.parse(arg); if(obj){ localStorage.clear(); localStorage.setItem("multi",JSON.stringify(obj.accts)); for(var key=0;key<obj.accts.length;key++){ var acct=obj.accts[key]; localStorage.setItem("name_" + key, acct.name); localStorage.setItem("user_" + key, acct.user); localStorage.setItem("user-id_" + key, acct.id); localStorage.setItem("prof_" + key, acct.prof); localStorage.setItem("domain_" + key, acct.domain); localStorage.setItem("acct_"+ key + "_at", acct.at); } localStorage.setItem("column",JSON.stringify(obj.columns)); if(obj.config){ //Version 2 var max=envView.config.length; for(var i=0;i<max;i++){ var ls=envView.config[i].storage; if(obj.config[ls]){ localStorage.setItem(ls,obj.config[ls]) } } var max=tlView.config.length; for(var i=0;i<max;i++){ var ls=tlView.config[i].storage; if(obj.config[ls]){ localStorage.setItem(ls,obj.config[ls]) } } var max=postView.config.length; for(var i=0;i<max;i++){ var ls=postView.config[i].storage; if(obj.config[ls]){ localStorage.setItem(ls,obj.config[ls]) } } }else{ //Version 1 localStorage.setItem("theme",obj.theme); if(obj.width){ console.log(obj.width) localStorage.setItem("width",obj.width); } if(obj.font){ localStorage.setItem("font",obj.font); } if(obj.size){ localStorage.setItem("size",obj.size); } themes(obj.theme); if(obj.imgheight){ localStorage.setItem("img-height",obj.imgheight); } localStorage.setItem("mainuse",obj.mainuse); if(obj.cw){ localStorage.setItem("cwtext",obj.cw); } localStorage.setItem("vis",obj.vis); //End } if(obj.ksc[0]){ localStorage.setItem("oks-1",obj.ksc[0]); } if(obj.ksc[1]){ localStorage.setItem("oks-2",obj.ksc[1]); } if(obj.ksc[2]){ localStorage.setItem("oks-3",obj.ksc[2]); } if(obj.clientMute){ localStorage.setItem("client_mute",JSON.stringify(obj.clientMute)); } if(obj.wordMute){ localStorage.setItem("word_mute",JSON.stringify(obj.wordMute)); } if(obj.favoriteTags){ localStorage.setItem("tag",JSON.stringify(obj.favoriteTags)); } localStorage.setItem("np-temp",obj.spotifyTemplete); for(var i=0;i<obj.columns.length;i++){ localStorage.setItem("card_" + i,"true"); localStorage.removeItem("catch_" + i); } location.href="index.html"; }else{ alert("Error.") } }) //cards //lang }); } function savefolder(){ var electron = require("electron"); var remote=electron.remote; var dialog=remote.dialog; dialog.showOpenDialog(null, { title: 'Save folder', properties: ['openDirectory'], }, (fileNames) => { localStorage.setItem("savefolder",fileNames[0]); }); } function font(){ var electron = require("electron"); var ipc = electron.ipcRenderer; ipc.send('fonts', []); ipc.on('font-list', function (event, arg) { $("#fonts").removeClass("hide"); for( var i=0; i<arg.length; i++) { var font=arg[i]; $("#fonts").append('<div class="font pointer" style="font-family:'+font.family+'" onclick="insertFont(\''+font.family+'\')">'+font.family+"</div>") } }); } function insertFont(name){ $("#font").val(name); } $(".color-picker").each(function(i, elem) { pickerDefine(i,"fff"); }); function pickerDefine(i,color){ var pickr = new Pickr({ el: '#color-picker'+i, default: color, showAlways: true, appendToBody: true, closeWithKey: 'Escape', comparison: false, components: { preview: true, // Left side color comparison opacity: false, // Opacity slider hue: true, // Hue slider interaction: { rgba: false, // rgba option (red green blue and alpha) input: true, // input / output element } }, strings: { save: 'Save', // Default for save button clear: 'Clear' // Default for clear button } }); pickr.on('change', (...args) => { var rgb='rgb('+args[0].toRGBA()[0]+','+args[0].toRGBA()[1]+','+args[0].toRGBA()[2]+')'; $("#color-picker"+i+"_value").val(rgb) }); } function customComp(){ var nameC=$("#custom_name").val(); if(!nameC){return false;} var descC=$("#custom_desc").val(); var primaryC=$("#color-picker0_value").val(); if(!primaryC){primaryC="rgb(255,255,255)"} var secondaryC=$("#color-picker1_value").val(); if(!secondaryC){secondaryC="rgb(255,255,255)"} var textC=$("#color-picker2_value").val(); if(!textC){textC="rgb(255,255,255)"} var accentC=$("#color-picker3_value").val(); if(!accentC){accentC="rgb(255,255,255)"} var multi = localStorage.getItem("multi"); var my=JSON.parse(multi)[0].name; var id=$("#custom-edit-sel").val(); if(id=="add_new"){ id=makeCID(); } var json={ "name": nameC, "author": my, "desc": descC, "base": $("[name=direction]:checked").val(), "vars": { "primary": primaryC, "secondary": secondaryC, "text": textC }, "props": { "TheDeskAccent": accentC }, "id": id } $("#custom_json").val(JSON.stringify(json)); themes(); $("#custom_name").val(""); $("#custom_desc").val(""); $("#dark").prop("checked", true); $("#custom_json").val(""); $("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>') $("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>') $("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>') $("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>') $("#color-picker0_value").val(""); $("#color-picker1_value").val(""); $("#color-picker2_value").val(""); $("#color-picker3_value").val(""); pickerDefine(0,"fff"); pickerDefine(1,"fff"); pickerDefine(2,"fff"); pickerDefine(3,"fff"); ipc.send('theme-json-create', JSON.stringify(json)); } function deleteIt(){ var id=$("#custom-sel-sel").val(); $("#custom_name").val(""); $("#custom_desc").val(""); $("#dark").prop("checked", true); $("#custom_json").val(""); $("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>') $("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>') $("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>') $("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>') $("#color-picker0_value").val(""); $("#color-picker1_value").val(""); $("#color-picker2_value").val(""); $("#color-picker3_value").val(""); pickerDefine(0,"fff"); pickerDefine(1,"fff"); pickerDefine(2,"fff"); pickerDefine(3,"fff"); ipc.on('theme-json-delete-complete', function (event, args) { ctLoad() }); ipc.send('theme-json-delete', id); } function ctLoad(){ ipc.send('theme-json-list', ""); ipc.on('theme-json-list-response', function (event, args) { console.log(args); var templete=""; Object.keys(args).forEach(function(key) { var theme = args[key]; var themeid=theme.id templete = templete+'<option value="'+themeid+'">' + theme.name +'</option>'; }); if(args[0]){ localStorage.setItem("customtheme-id",args[0].id) } $("#custom-sel-sel").html(templete); templete='<option value="add_new">'+$("#edit-selector").attr("data-add")+'</option>'+templete; $("#custom-edit-sel").html(templete); $('select').material_select('update'); }); } function customSel(){ var id=$("#custom-sel-sel").val(); localStorage.setItem("customtheme-id",id) } function custom(){ var id=$("#custom-edit-sel").val(); if(id=="add_new"){ $("#custom_name").val(""); $("#custom_desc").val(""); $("#dark").prop("checked", true); $("#custom_json").val(""); $("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>') $("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>') $("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>') $("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>') $("#color-picker0_value").val(""); $("#color-picker1_value").val(""); $("#color-picker2_value").val(""); $("#color-picker3_value").val(""); pickerDefine(0,"fff"); pickerDefine(1,"fff"); pickerDefine(2,"fff"); pickerDefine(3,"fff"); $("#delTheme").addClass("disabled") }else{ $("#delTheme").removeClass("disabled") ipc.send('theme-json-request', id); ipc.on('theme-json-response', function (event, args) { console.log(args); $("#custom_name").val(args.name); $("#custom_desc").val(args.desc); $("#"+args.base).prop("checked", true); $("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>') pickerDefine(0,rgbToHex(args.vars.primary)) $("#color-picker0_value").val(args.vars.primary); $("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>') pickerDefine(1,rgbToHex(args.vars.secondary)) $("#color-picker1_value").val(args.vars.secondary); $("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>') $("#color-picker2_value").val(args.vars.text); pickerDefine(2,rgbToHex(args.vars.text)) if(args.props){ if(args.props.TheDeskAccent){ var accent=args.props.TheDeskAccent; }else{ var accent=args.vars.secondary; } }else{ var accent=args.vars.secondary; } $("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>') pickerDefine(3,rgbToHex(accent)) $("#custom_json").val(JSON.stringify(args)); }); } } function customImp(){ var json=$("#custom_import").val(); if(JSON5.parse(json)){ ipc.send('theme-json-create', json); }else{ alert("Error") } } function hardwareAcceleration(had){ console.log("ha"); ipc.send('ha', had); } ipc.on('theme-json-create-complete', function (event, args) { $("#custom_import").val(""); ctLoad() }); function customSound(key){ var electron = require("electron"); var remote=electron.remote; var dialog=remote.dialog; dialog.showOpenDialog(null, { title: 'Custom sound', properties: ['openFile'], filters: [ {name: 'Audio', extensions: ['mp3','aac','wav','flac','m4a']}, {name: 'All', extensions: ['*']}, ] }, (fileNames) => { localStorage.setItem("custom"+key,fileNames[0]); $("#c1-file").text(fileNames[0]) }); } window.onload = function() { //最初に読む load(); climute(); wordmute(); wordemp(); checkSpotify(); voiceSettingLoad(); oksload(); npprovider(); ctLoad() };