<table>
<tr>
<td>Host:</td>
- <td><input type='text' id='host' value='192.168.0.2'></td>
+ <td><input type='text' id='host'></td>
</tr>
<tr>
<td>Port:</td>
- <td><input type='number' id='port' value='6600'></td>
- </tr>
- <tr>
<td colspan=2>
+ <input type='number' id='port' style='width:60px'>
+
<input type='button' id='connect' value='connect'>
+ </td>
+ </tr>
+ <tr>
+ <td>Refresh (sec):</td>
+ <td>
+ <input type='number' id='refresh' style='width:40px'>
- Sync Settings:<input type='checkbox' id='sync' checked></td>
+ Sync Settings:<input type='checkbox' id='sync' checked>
+ </td>
</tr>
</table>
</div>
/* Globals to allow easy manipulation via javascript console */
var mpc;
var tcpclient;
+var refresh_id = NaN;
function TcpClientSender(tcpclient) {
this.tcpclient = tcpclient;
'sync',
];
var sync_keys = [
- 'host', 'port',
+ 'host', 'port', 'refresh',
];
var options = {
'host': '192.168.0.2',
'port': 6600,
'sync': true,
+ 'refresh': 5,
};
chrome.storage.local.get(local_keys, function(settings) {
mpc = new Mpc(mpc_sender, update_ui);
console.log('connected to ' + host + ':' + port);
mpc_refresh();
+ update_refresh_timer();
});
}
}
}
+function do_refresh() {
+ mpc_refresh();
+ refresh_id = window.setTimeout(do_refresh, window['opts_refresh'].value * 1000);
+}
+
+function update_refresh_timer() {
+ if (refresh_id != NaN)
+ window.clearTimeout(refresh_id);
+ var rate = window['opts_refresh'].value * 1000;
+ if (rate > 0)
+ refresh_id = window.setTimeout(do_refresh, rate);
+}
+
function update_local_settings() {
var setting = {};
setting[this.id] = this.checked;
setting[this.id] = this.value;
var storage = sync_storage(window['opts_sync'].checked);
storage.set(setting);
+
+ switch (this.id) {
+ case 'refresh':
+ update_refresh_timer();
+ break;
+ }
}
function init_ui(local_keys, sync_keys, options) {