Revival TweetDeck Integration
This commit is contained in:
parent
816665f7d3
commit
b42105fabe
|
@ -537,9 +537,10 @@ function multiSelector(parseC) {
|
||||||
}
|
}
|
||||||
last = last + ''
|
last = last + ''
|
||||||
var sel
|
var sel
|
||||||
|
const webview = localStorage.getItem('webview_setting') === 'true'
|
||||||
if (obj.length < 1) {
|
if (obj.length < 1) {
|
||||||
$('#src-acct-sel').html('<option value="tootsearch">Tootsearch</option>')
|
$('#src-acct-sel').html('<option value="tootsearch">Tootsearch</option>')
|
||||||
$('#add-acct-sel').html('<option value="noauth">' + lang.lang_login_noauth + '</option>')
|
$('#add-acct-sel').html('<option value="noauth">' + lang.lang_login_noauth + `</option>${webview ? `<option value="webview">TweetDeck</option>` : ''}`)
|
||||||
} else {
|
} else {
|
||||||
Object.keys(obj).forEach(function (key) {
|
Object.keys(obj).forEach(function (key) {
|
||||||
var acct = obj[key]
|
var acct = obj[key]
|
||||||
|
@ -610,7 +611,7 @@ function multiSelector(parseC) {
|
||||||
$('#add-acct-sel').append(
|
$('#add-acct-sel').append(
|
||||||
'<option value="noauth">' +
|
'<option value="noauth">' +
|
||||||
lang.lang_login_noauth +
|
lang.lang_login_noauth +
|
||||||
'</option><!--option value="webview">Twitter</option-->'
|
`</option>${webview ? `<option value="webview">TweetDeck</option>` : ''}`
|
||||||
)
|
)
|
||||||
$('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>')
|
$('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>')
|
||||||
}
|
}
|
||||||
|
|
|
@ -198,6 +198,8 @@ onmessage = function (e) {
|
||||||
type: 'info',
|
type: 'info',
|
||||||
title: e.data[1]
|
title: e.data[1]
|
||||||
})
|
})
|
||||||
|
} else if (e.data[0] == 'twitterLoginComplete') {
|
||||||
|
location.reload()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* PWA */
|
/* PWA */
|
||||||
|
|
|
@ -290,3 +290,23 @@ function statusModel(now) {
|
||||||
poll: null
|
poll: null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function webviewFinder() {
|
||||||
|
const webview = document.querySelector('webview')
|
||||||
|
webview.addEventListener('did-navigate', (e) => {
|
||||||
|
const url = webview.getURL()
|
||||||
|
if (url.match('https://mobile.twitter.com/login')) {
|
||||||
|
postMessage(['twitterLogin', null], '*')
|
||||||
|
} else if (url.match('https://mobile.twitter.com/logout')) {
|
||||||
|
postMessage(['twitterLogin', true], '*')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function initWebviewEvent() {
|
||||||
|
if (document.querySelector('webview')) { webviewFinder() } else {
|
||||||
|
const timerWV = setInterval(function () {
|
||||||
|
document.querySelector('webview')
|
||||||
|
? (webviewFinder(), clearInterval(timerWV))
|
||||||
|
: console.log('まだロード中')
|
||||||
|
}, 500)
|
||||||
|
}
|
||||||
|
}
|
|
@ -54,6 +54,8 @@ onmessage = function(e) {
|
||||||
ipc.send('theme-json-request', e.data[1])
|
ipc.send('theme-json-request', e.data[1])
|
||||||
} else if (e.data[0] == 'ha') {
|
} else if (e.data[0] == 'ha') {
|
||||||
ipc.send('ha', e.data[1])
|
ipc.send('ha', e.data[1])
|
||||||
|
} else if (e.data[0] == 'webviewSetting') {
|
||||||
|
ipc.send('webview', e.data[1])
|
||||||
} else if (e.data[0] == 'frameSet') {
|
} else if (e.data[0] == 'frameSet') {
|
||||||
ipc.send('frameSet', e.data[1])
|
ipc.send('frameSet', e.data[1])
|
||||||
} else if (e.data[0] == 'ua') {
|
} else if (e.data[0] == 'ua') {
|
||||||
|
@ -77,6 +79,8 @@ onmessage = function(e) {
|
||||||
ipc.send('copy', e.data[1])
|
ipc.send('copy', e.data[1])
|
||||||
} else if (e.data[0] == 'log') {
|
} else if (e.data[0] == 'log') {
|
||||||
ipc.send('log', e.data[1])
|
ipc.send('log', e.data[1])
|
||||||
|
} else if (e.data[0] == 'twitterLogin') {
|
||||||
|
ipc.send('twitterLogin', e.data[1])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//version.js
|
//version.js
|
||||||
|
@ -227,9 +231,6 @@ ipc.on('asReadEnd', function(event, arg) {
|
||||||
ipc.on('accessibility', function(event, arg) {
|
ipc.on('accessibility', function(event, arg) {
|
||||||
postMessage(['accessibility', 'true'], '*')
|
postMessage(['accessibility', 'true'], '*')
|
||||||
})
|
})
|
||||||
var webviewDom = document.getElementById('webview')
|
ipc.on('twitterLoginComplete', function(event, arg) {
|
||||||
if (webviewDom) {
|
postMessage(['twitterLoginComplete', ''], '*')
|
||||||
webviewDom.addEventListener('new-window', function(e) {
|
|
||||||
shell.openExternal(e.url)
|
|
||||||
})
|
})
|
||||||
}
|
|
||||||
|
|
|
@ -185,6 +185,7 @@ function parseColumn(target, dontclose) {
|
||||||
}
|
}
|
||||||
var html = webviewParse('https://tweetdeck.twitter.com', key, insert, icnsert, css)
|
var html = webviewParse('https://tweetdeck.twitter.com', key, insert, icnsert, css)
|
||||||
$('#timeline-container').append(html)
|
$('#timeline-container').append(html)
|
||||||
|
initWebviewEvent()
|
||||||
} else if (acct.type == 'tootsearch') {
|
} else if (acct.type == 'tootsearch') {
|
||||||
if (!acct.left_fold) {
|
if (!acct.left_fold) {
|
||||||
basekey = key
|
basekey = key
|
||||||
|
|
|
@ -13,16 +13,18 @@ var envView = new Vue({
|
||||||
for (var j = 0; j < ls.length; j++) {
|
for (var j = 0; j < ls.length; j++) {
|
||||||
M.toast({ html: 'Complete', displayLength: 3000 })
|
M.toast({ html: 'Complete', displayLength: 3000 })
|
||||||
var id = ls[j].id
|
var id = ls[j].id
|
||||||
var val = $('#' + id).val()
|
|
||||||
localStorage.setItem(ls[j].storage, val)
|
localStorage.setItem(ls[j].storage, val)
|
||||||
}
|
}
|
||||||
if (ls == 'ha') {
|
if (ls[0].id == 'ha') {
|
||||||
hardwareAcceleration(val)
|
hardwareAcceleration(val)
|
||||||
}
|
}
|
||||||
if (ls == 'ua_setting') {
|
if (ls[0].id == 'webview') {
|
||||||
|
postMessage(['webviewSetting', val], '*')
|
||||||
|
}
|
||||||
|
if (ls[0].id == 'ua_setting') {
|
||||||
useragent(val)
|
useragent(val)
|
||||||
}
|
}
|
||||||
if (ls == 'frame') {
|
if (ls[0].id == 'frame') {
|
||||||
frameSet(val)
|
frameSet(val)
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
|
|
@ -123,6 +123,7 @@ function createWindow() {
|
||||||
var info_path = join(app.getPath('userData'), 'window-size.json')
|
var info_path = join(app.getPath('userData'), 'window-size.json')
|
||||||
var max_info_path = join(app.getPath('userData'), 'max-window-size.json')
|
var max_info_path = join(app.getPath('userData'), 'max-window-size.json')
|
||||||
var ha_path = join(app.getPath('userData'), 'hardwareAcceleration')
|
var ha_path = join(app.getPath('userData'), 'hardwareAcceleration')
|
||||||
|
var wv_path = join(app.getPath('userData'), 'webview')
|
||||||
var ua_path = join(app.getPath('userData'), 'useragent')
|
var ua_path = join(app.getPath('userData'), 'useragent')
|
||||||
try {
|
try {
|
||||||
fs.readFileSync(ha_path, 'utf8')
|
fs.readFileSync(ha_path, 'utf8')
|
||||||
|
@ -131,6 +132,8 @@ function createWindow() {
|
||||||
} catch {
|
} catch {
|
||||||
if (!packaged) console.log('enabled: Hardware Acceleration')
|
if (!packaged) console.log('enabled: Hardware Acceleration')
|
||||||
}
|
}
|
||||||
|
let webviewEnabled = false
|
||||||
|
if(fs.existsSync(wv_path, 'utf8')) webviewEnabled = true
|
||||||
var window_size
|
var window_size
|
||||||
try {
|
try {
|
||||||
window_size = JSON.parse(fs.readFileSync(info_path, 'utf8'))
|
window_size = JSON.parse(fs.readFileSync(info_path, 'utf8'))
|
||||||
|
@ -156,7 +159,7 @@ function createWindow() {
|
||||||
var bit = process.arch
|
var bit = process.arch
|
||||||
var arg = {
|
var arg = {
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
webviewTag: true,
|
webviewTag: webviewEnabled,
|
||||||
nodeIntegration: false,
|
nodeIntegration: false,
|
||||||
contextIsolation: true,
|
contextIsolation: true,
|
||||||
spellcheck: false,
|
spellcheck: false,
|
||||||
|
|
|
@ -9,6 +9,7 @@ function system(mainWindow, dir, lang, dirname) {
|
||||||
const clipboard = electron.clipboard
|
const clipboard = electron.clipboard
|
||||||
var tmp_img = join(app.getPath('userData'), 'tmp.png')
|
var tmp_img = join(app.getPath('userData'), 'tmp.png')
|
||||||
var ha_path = join(app.getPath('userData'), 'hardwareAcceleration')
|
var ha_path = join(app.getPath('userData'), 'hardwareAcceleration')
|
||||||
|
var wv_path = join(app.getPath('userData'), 'webview')
|
||||||
var ua_path = join(app.getPath('userData'), 'useragent')
|
var ua_path = join(app.getPath('userData'), 'useragent')
|
||||||
var lang_path = join(app.getPath('userData'), 'language')
|
var lang_path = join(app.getPath('userData'), 'language')
|
||||||
var log_dir_path = join(app.getPath('userData'), 'logs')
|
var log_dir_path = join(app.getPath('userData'), 'logs')
|
||||||
|
@ -105,6 +106,15 @@ function system(mainWindow, dir, lang, dirname) {
|
||||||
app.relaunch()
|
app.relaunch()
|
||||||
app.exit()
|
app.exit()
|
||||||
})
|
})
|
||||||
|
ipc.on('webview', function (e, arg) {
|
||||||
|
if (arg == 'true') {
|
||||||
|
fs.writeFileSync(wv_path, arg)
|
||||||
|
} else {
|
||||||
|
fs.unlink(wv_path, function (err) { })
|
||||||
|
}
|
||||||
|
app.relaunch()
|
||||||
|
app.exit()
|
||||||
|
})
|
||||||
//ユーザーエージェント
|
//ユーザーエージェント
|
||||||
ipc.on('ua', function (e, arg) {
|
ipc.on('ua', function (e, arg) {
|
||||||
if (arg == '') {
|
if (arg == '') {
|
||||||
|
@ -299,5 +309,28 @@ function system(mainWindow, dir, lang, dirname) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ipc.on('twitterLogin', (e, args) => {
|
||||||
|
const window = new BrowserWindow({
|
||||||
|
webPreferences: {
|
||||||
|
webviewTag: false,
|
||||||
|
nodeIntegration: false,
|
||||||
|
contextIsolation: true,
|
||||||
|
preload: join(dirname, 'js', 'platform', 'preload.js'),
|
||||||
|
},
|
||||||
|
width: 414,
|
||||||
|
height: 736,
|
||||||
|
})
|
||||||
|
const login = `https://mobile.twitter.com/login?hide_message=true&redirect_after_login=https%3A%2F%2Ftweetdeck.twitter.com%2F%3Fvia_twitter_login%3Dtrue`
|
||||||
|
const logout = `https://mobile.twitter.com/logout?redirect_after_logout=https%3A%2F%2Ftweetdeck.twitter.com%2F`
|
||||||
|
window.loadURL(args ? logout : login)
|
||||||
|
window.webContents.on('did-navigate', () => {
|
||||||
|
const url = window.webContents.getURL()
|
||||||
|
if (url.match("https://tweetdeck.twitter.com")) {
|
||||||
|
window.close()
|
||||||
|
e.sender.webContents.send('twitterLoginComplete', '')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
exports.system = system
|
exports.system = system
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
"export": "Export",
|
"export": "Export",
|
||||||
"hardwareAcceleration": "Disable hardware acceleration",
|
"hardwareAcceleration": "Disable hardware acceleration",
|
||||||
"hardwareAccelerationWarn": "Auto restarted",
|
"hardwareAccelerationWarn": "Auto restarted",
|
||||||
|
"webview": "Webview Integration",
|
||||||
|
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
|
||||||
"theme": "Themes",
|
"theme": "Themes",
|
||||||
"popup": "Popup notification",
|
"popup": "Popup notification",
|
||||||
"popupwarn": "Hide to set \"0\"",
|
"popupwarn": "Hide to set \"0\"",
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
"export": "エクスポート",
|
"export": "エクスポート",
|
||||||
"hardwareAcceleration": "ハードウェアアクセラレーションの無効化",
|
"hardwareAcceleration": "ハードウェアアクセラレーションの無効化",
|
||||||
"hardwareAccelerationWarn": "表示(特に設定画面)があかんときは「はい」を選んでな。再起動入るで。",
|
"hardwareAccelerationWarn": "表示(特に設定画面)があかんときは「はい」を選んでな。再起動入るで。",
|
||||||
|
"webview": "Webviewの使用",
|
||||||
|
"webviewWarn": "TweetDeck使いたかったら「はい」にしてほしいんやけど、セキュリティ的には結構あかんやつやから、使わんのやったらちゃんと「いいえ」にしといてな。再起動入るで。",
|
||||||
"theme": "テーマの設定",
|
"theme": "テーマの設定",
|
||||||
"popup": "新規通知のポップアップお知らせの表示秒数",
|
"popup": "新規通知のポップアップお知らせの表示秒数",
|
||||||
"popupwarn": "0にしたら出さへん",
|
"popupwarn": "0にしたら出さへん",
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
"export": "エクスポート",
|
"export": "エクスポート",
|
||||||
"hardwareAcceleration": "ハードウェアアクセラレーションの無効化",
|
"hardwareAcceleration": "ハードウェアアクセラレーションの無効化",
|
||||||
"hardwareAccelerationWarn": "表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。",
|
"hardwareAccelerationWarn": "表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。",
|
||||||
|
"webview": "Webviewの使用",
|
||||||
|
"webviewWarn": "TweetDeckを埋め込むために必要です。セキュリティに影響するため、使用しないときは「いいえ」を選択してください。自動で再起動します。",
|
||||||
"theme": "テーマの設定",
|
"theme": "テーマの設定",
|
||||||
"popup": "新規通知のポップアップお知らせの表示秒数",
|
"popup": "新規通知のポップアップお知らせの表示秒数",
|
||||||
"popupwarn": "0に設定すると表示されません",
|
"popupwarn": "0に設定すると表示されません",
|
||||||
|
|
|
@ -29,7 +29,7 @@ function main(ver, basefile, pwa, store) {
|
||||||
fs.writeFileSync(basefile + 'git', gitHash)
|
fs.writeFileSync(basefile + 'git', gitHash)
|
||||||
console.log('Constructing view files ' + ver)
|
console.log('Constructing view files ' + ver)
|
||||||
const langs = ['ja', 'ja-KS', 'en', 'bg', 'cs', 'de',
|
const langs = ['ja', 'ja-KS', 'en', 'bg', 'cs', 'de',
|
||||||
'es-AR', 'it-IT', 'zh-CN', 'zh-TW', 'fr-FR', 'no-NO', 'pt-BR', 'ru-RU', 'es-ES','pl-PL', 'ps']
|
'es-AR', 'it-IT', 'zh-CN', 'fr-FR', 'zh-TW', 'no-NO', 'pt-BR', 'ru-RU', 'es-ES','pl-PL', 'ps']
|
||||||
const langsh = [
|
const langsh = [
|
||||||
'日本語',
|
'日本語',
|
||||||
'日本語(関西)',
|
'日本語(関西)',
|
||||||
|
|
|
@ -154,6 +154,26 @@ var envConstruction = [
|
||||||
desc: '@@useragentWarn@@'
|
desc: '@@useragentWarn@@'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 'webview',
|
||||||
|
storage: 'webview_setting',
|
||||||
|
checkbox: true,
|
||||||
|
setValue: false,
|
||||||
|
text: {
|
||||||
|
head: '@@webview@@',
|
||||||
|
desc: '@@webviewWarn@@',
|
||||||
|
checkbox: [
|
||||||
|
{
|
||||||
|
text: '@@yes@@',
|
||||||
|
value: 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '@@no@@',
|
||||||
|
value: 'false'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 'srcUrl',
|
id: 'srcUrl',
|
||||||
storage: 'srcUrl',
|
storage: 'srcUrl',
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
<body class="">
|
<body class="">
|
||||||
<script>
|
<script>
|
||||||
var ver = '22.1.1 (Koume)'
|
var ver = '22.1.1 (Koume)'
|
||||||
var gitHash = '6e75ea7f374fe887b8956bcb9bdac5524133b865'
|
var gitHash = '816665f7d335ffd75978b96126cf43ecf456e983'
|
||||||
//betaを入れるとバージョンチェックしない
|
//betaを入れるとバージョンチェックしない
|
||||||
//var ver="beta";
|
//var ver="beta";
|
||||||
var acct_id = 0
|
var acct_id = 0
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
<h5>Języki</h5>
|
<h5>Języki</h5>
|
||||||
<div style="display: flex;">
|
<div style="display: flex;">
|
||||||
<div style="width: 22rem;" id="langsel">
|
<div style="width: 22rem;" id="langsel">
|
||||||
<select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="zh-TW">français</option><option value="fr-FR">繁體中文(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="pl-PL">Polskie(β)</option><option value="ps">Crowdin translate system(beta)</option></select>
|
<select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="fr-FR">français</option><option value="zh-TW">繁體中文(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="pl-PL">Polskie(β)</option><option value="ps">Crowdin translate system(beta)</option></select>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn waves-effect" onclick="changeLang()">Zmień</button>
|
<button class="btn waves-effect" onclick="changeLang()">Zmień</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -78,7 +78,7 @@
|
||||||
<template v-for="(check, j) in item.text.checkbox">
|
<template v-for="(check, j) in item.text.checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
type="radio" v-bind:id="item.id" v-bind:value="check.value" />
|
||||||
<span>{{check.text}}</span>
|
<span>{{check.text}}</span>
|
||||||
</label>
|
</label>
|
||||||
</template>
|
</template>
|
||||||
|
@ -609,7 +609,7 @@
|
||||||
style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25"
|
style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25"
|
||||||
style="padding-top:5px;">Main author: Cutls@cutls.com</a>
|
style="padding-top:5px;">Main author: Cutls@cutls.com</a>
|
||||||
<br>
|
<br>
|
||||||
TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/6e75ea7f374fe887b8956bcb9bdac5524133b865">6e75ea7f374fe887b8956bcb9bdac5524133b865</a> - <a
|
TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/816665f7d335ffd75978b96126cf43ecf456e983">816665f7d335ffd75978b96126cf43ecf456e983</a> - <a
|
||||||
onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||||
class="pointer pwa">Sprawdź aktualizacje</a><br>
|
class="pointer pwa">Sprawdź aktualizacje</a><br>
|
||||||
<br>
|
<br>
|
||||||
|
@ -619,7 +619,7 @@
|
||||||
<img src="https://status.cutls.com/badge-service?site=thedesk.top">
|
<img src="https://status.cutls.com/badge-service?site=thedesk.top">
|
||||||
</a><br>
|
</a><br>
|
||||||
<h5>OSS License</h5>
|
<h5>OSS License</h5>
|
||||||
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/6e75ea7f374fe887b8956bcb9bdac5524133b865"
|
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/816665f7d335ffd75978b96126cf43ecf456e983"
|
||||||
alt="FOSSA Status"><img
|
alt="FOSSA Status"><img
|
||||||
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a>
|
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a>
|
||||||
<br>
|
<br>
|
||||||
|
|
|
@ -154,6 +154,26 @@ var envConstruction = [
|
||||||
desc: 'Restart when changed'
|
desc: 'Restart when changed'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 'webview',
|
||||||
|
storage: 'webview_setting',
|
||||||
|
checkbox: true,
|
||||||
|
setValue: false,
|
||||||
|
text: {
|
||||||
|
head: 'undefined',
|
||||||
|
desc: 'undefined',
|
||||||
|
checkbox: [
|
||||||
|
{
|
||||||
|
text: 'Tak',
|
||||||
|
value: 'true'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: 'Nie',
|
||||||
|
value: 'false'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 'srcUrl',
|
id: 'srcUrl',
|
||||||
storage: 'srcUrl',
|
storage: 'srcUrl',
|
||||||
|
|
Loading…
Reference in New Issue
Block a user