qBittorrent/src/webui/html/preferences_content.html

1013 lines
44 KiB
HTML
Raw Normal View History

<div id="ConnectionTab" class="PrefTab">
<fieldset>
2011-04-18 20:58:13 +04:00
<legend><b>_(Listening Port)</b></legend>
<div style="padding-left: 30px;">
_(Port used for incoming connections:)
<input type="text" id="port_value" style="width: 4em;"/>
<br/>
<table>
<tr>
2010-12-06 13:16:10 +03:00
<td style="vertical-align: bottom;"><input type="checkbox" id="upnp_checkbox" style="margin-bottom: -2px;"/></td><td>_(Use UPnP / NAT-PMP port forwarding from my router)</td>
</tr>
</table>
</div>
</fieldset>
<fieldset>
2011-04-18 20:58:13 +04:00
<legend><b>_(Connections Limits)</b></legend>
<div style="padding-left: 30px;">
<table>
<tr>
<td style="vertical-align: bottom;"><input type="checkbox" id="max_connec_checkbox" onClick="updateMaxConnecEnabled();"/></td><td style="padding-right: 3px;">_(Global maximum number of connections:)</td><td><input type="text" id="max_connec_value" style="width: 4em;"/></td>
</tr>
<tr>
<td style="vertical-align: bottom;"><input type="checkbox" id="max_connec_per_torrent_checkbox" onClick="updateMaxConnecPerTorrentEnabled();" style="margin-bottom: -2px;"/></td><td style="padding-right: 3px;">_(Maximum number of connections per torrent:)</td><td><input type="text" id="max_connec_per_torrent_value" style="width: 4em;"/></td>
</tr>
<tr>
<td style="vertical-align: bottom;"><input type="checkbox" id="max_uploads_per_torrent_checkbox" onClick="updateMaxUploadsPerTorrentEnabled();" style="margin-bottom: -2px;"/></td><td style="padding-right: 3px;">_(Maximum number of upload slots per torrent:)</td><td><input type="text" id="max_uploads_per_torrent_value" style="width: 4em;"/></td>
</tr>
</table>
</div>
</fieldset>
<fieldset>
2011-04-18 20:58:13 +04:00
<legend><b>_(Global Rate Limits)</b></legend>
<div style="padding-left: 30px;">
<table>
<tr>
<td style="vertical-align: bottom;"><input type="checkbox" id="up_limit_checkbox" onClick="updateUpLimitEnabled();"/></td><td style="padding-right: 3px;">_(Upload:)</td><td><input type="text" id="up_limit_value" style="width: 4em;"/>&nbsp;&nbsp;_(KiB/s)</td>
</tr>
<tr>
<td style="vertical-align: bottom;"><input type="checkbox" id="dl_limit_checkbox" onClick="updateDlLimitEnabled();"/></td><td style="padding-right: 3px;">_(Download:)</td><td><input type="text" id="dl_limit_value" style="width: 4em;"/>&nbsp;&nbsp;_(KiB/s)</td>
</tr>
</table>
<fieldset>
<legend><b>_(Options)</b></legend>
<input type="checkbox" id="enable_utp_checkbox"/>&nbsp;&nbsp;_(Enable bandwidth management (uTP))<br/>
<input type="checkbox" id="limit_utp_rate_checkbox"/>&nbsp;&nbsp;_(Apply rate limit to uTP connections)<br/>
<input type="checkbox" id="limit_tcp_overhead_checkbox"/>&nbsp;&nbsp;_(Apply rate limit to transport overhead)<br/>
</fieldset>
</div>
</fieldset>
</div>
<div id="BittorrentTab" class="PrefTab invisible">
<fieldset>
2011-04-18 20:58:13 +04:00
<legend><b>_(Privacy)</b></legend>
<div style="padding-left: 30px;">
<table>
<tr>
2010-12-06 13:16:10 +03:00
<td style="vertical-align: bottom; text-align: right;"><input type="checkbox" id="dht_checkbox"/></td><td>_(Enable DHT (decentralized network) to find more peers)</td>
</tr>
<tr>
2011-01-14 21:57:15 +03:00
<td style="vertical-align: bottom; text-align: right;"><input type="checkbox" id="DHTPortDiffThanBT_checkbox" onclick="updateDHTPortSettings();"/></td><td>_(Use a different port for DHT and BitTorrent)</td>
2010-03-22 23:34:12 +03:00
</tr>
<tr>
<td style="vertical-align: bottom; text-align: right;">_(DHT port:)</td><td><input type="text" id="DHTPort_txt" value="6881"/></td>
</tr>
<tr>
2010-12-06 13:16:10 +03:00
<td style="vertical-align: bottom; text-align: right;"><input type="checkbox" id="pex_checkbox"/></td><td>_(Enable Peer Exchange (PeX) to find more peers)</td>
</tr>
<tr>
2010-12-06 13:16:10 +03:00
<td style="vertical-align: bottom; text-align: right;"><input type="checkbox" id="lsd_checkbox"/></td><td>_(Enable Local Peer Discovery to find more peers)</td>
</tr>
</table>
2010-12-06 13:16:10 +03:00
_(Encryption mode:)
<select id="encryption_select">
2010-12-06 13:16:10 +03:00
<option value="0">_(Prefer encryption)</option>
<option value="1">_(Require encryption)</option>
<option value="2">_(Disable encryption)</option>
</select><br/>
</div>
</fieldset>
</div>
<div id="DownloadsTab" class="PrefTab invisible">
<fieldset>
2011-04-18 20:58:13 +04:00
<legend><b>_(Hard Disk)</b></legend>
<div style="padding-left: 30px;">
<table>
<tr>
2010-06-29 12:08:43 +04:00
<td style="vertical-align: bottom; text-align: right;">_(Save files to location:)</td><td><input type="text" id="savepath_text"/></td>
</tr>
<tr>
2010-06-29 12:08:43 +04:00
<td style="vertical-align: bottom; text-align: right;"><input type="checkbox" id="temppath_checkbox" onclick="updateTempDirEnabled();"/></td><td>_(Keep incomplete torrents in:)</td>
</tr>
<tr>
<td style="vertical-align: bottom; text-align: right;"></td><td><input type="text" id="temppath_text"/></td>
</tr>
2010-06-29 12:08:43 +04:00
<tr><td colspan="2">_(Automatically add torrents from:)</td></tr>
<tr>
2010-03-18 22:25:16 +03:00
<td></td>
<td>
<table style="text-align: center" border="1" id="watched_folders_tab">
<thead><tr><th>_(Watched Folder)</th><th>_(Download here)</th></tr></thead>
2010-03-18 22:25:16 +03:00
<tbody></tbody>
2010-12-13 21:22:19 +03:00
<tfoot><tr><td style="padding-top:4px;"><input type="text" id="new_watch_folder_txt"/></td><td style="padding-top:4px;"><input type="checkbox" id="new_watch_folder_dl" style="padding-left:18px;"/><img src="theme/list-add" alt="Add" style="padding-left:2px;width:16px;cursor:pointer;margin-right:-18px;" onclick="javascript:addWatchFolder();"/></td></tr></tfoot>
2010-03-18 22:25:16 +03:00
</table>
</td>
</tr>
<tr>
<td style="vertical-align: bottom; text-align: right;"><input type="checkbox" id="exportdir_checkbox" onclick="updateExportDirEnabled();"/></td><td>_(Copy .torrent files to:)</td>
</tr>
<tr>
<td style="vertical-align: bottom; text-align: right;"></td><td><input type="text" id="exportdir_text"/></td>
</tr>
<tr id="appendexttr">
<td style="vertical-align: bottom; text-align: right;"><input type="checkbox" id="appendext_checkbox"/></td><td>_(Append .!qB extension to incomplete files)</td>
</tr>
<tr>
2010-06-29 12:08:43 +04:00
<td style="vertical-align: bottom; text-align: right;"><input type="checkbox" id="preallocateall_checkbox"/></td><td>_(Pre-allocate disk space for all files)</td>
</tr>
</table>
</div>
</fieldset>
<fieldset>
<legend><b>_(Email notification upon download completion)</b></legend>
<div style="padding-left: 30px;">
<input type="checkbox" id="mail_notification_checkbox" onclick="updateMailNotification();"/> _(Email notification upon download completion)
<table>
<tr>
<td style="vertical-align: bottom; text-align: right;">_(Destination email:)</td><td><input type="text" id="dest_email_txt"/></td>
</tr>
<tr>
<td style="vertical-align: bottom; text-align: right;">_(SMTP server:)</td><td><input type="text" id="smtp_server_txt"/></td>
</tr>
</table>
<input type="checkbox" id="mail_ssl_checkbox"/> _(This server requires a secure connection (SSL))<br/>
<input type="checkbox" id="mail_auth_checkbox" onclick="updateMailAuthSettings();" />&nbsp;&nbsp;_(Authentication)<br/>
<table>
<tr><td style="padding-left: 10px;">_(Username:)</td><td><input type="text" id="mail_username_text" /></td></tr>
<tr><td style="padding-left: 10px;">_(Password:)</td><td><input type="password" id="mail_password_text" /></td></tr>
</table>
</div>
</fieldset>
<fieldset>
<legend><b>_(Run an external program on torrent completion)</b></legend>
<div style="padding-left: 30px;">
<input type="checkbox" id="autorun_checkbox" onclick="updateAutoRun();"/> _(Run an external program on torrent completion)<br/>
<input type="text" id="autorunProg_txt" style="width: 400px;"/><br/>
<i>_(The following parameters are supported:)
2011-04-18 20:58:13 +04:00
<ul>
<li>%f: _(Torrent path)</li>
<li>%n: _(Torrent name)</li>
2011-04-18 20:58:13 +04:00
</ul></i>
</div>
</fieldset>
<fieldset>
2011-04-18 20:58:13 +04:00
<legend><b>_(Torrent Queueing)</b></legend>
<div style="padding-left: 30px;">
2011-04-18 20:58:13 +04:00
<input type="checkbox" id="queueing_checkbox" onclick="updateQueuingSystem();"/> _(Torrent Queueing)
<table>
<tr>
<td style="vertical-align: bottom; text-align: right;">_(Maximum active downloads:)</td><td><input type="text" id="max_active_dl_value" style="width: 4em;"/></td>
</tr>
<tr>
<td style="vertical-align: bottom; text-align: right;">_(Maximum active uploads:)</td><td><input type="text" id="max_active_up_value" style="width: 4em;"/></td>
</tr>
<tr>
<td style="vertical-align: bottom; text-align: right;">_(Maximum active torrents:)</td><td><input type="text" id="max_active_to_value" style="width: 4em;"/></td>
</tr>
</table>
</div>
</fieldset>
</div>
<div id="FilterTab" class="PrefTab invisible">
2010-06-29 12:08:43 +04:00
<legend><b>_(IP Filtering)</b></legend>
<div style="padding-left: 30px;">
2010-06-29 12:08:43 +04:00
<input type="checkbox" id="ipfilter_enabled_checkbox" onclick="updateFilterSettings();"/> _(IP Filtering)
<table>
<tr>
<td style="vertical-align: bottom;">_(Filter path (.dat, .p2p, .p2b):)</td><td><input type="text" id="ipfilter_text"/></td>
</tr>
</table>
</div>
</fieldset>
</div>
<div id="ProxyTab" class="PrefTab invisible">
2011-04-18 20:58:13 +04:00
<legend><b>_(Proxy Server)</b></legend>
<div style="padding-left: 30px;">
_(Type:) <select id ="peer_proxy_type_select" onchange="updatePeerProxySettings();">
<option value="none">_((None))</option>
<option value="socks4">_(SOCKS4)</option>
<option value="socks5">_(SOCKS5)</option>
<option value="http">_(HTTP)</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;
_(Host:) <input type="text" id="peer_proxy_host_text" />&nbsp;&nbsp;&nbsp;&nbsp;
2011-05-01 16:00:23 +04:00
_(Port:) <input type="text" id="peer_proxy_port_value" style="width: 4em;"/><br/>
<input type="checkbox" id="use_peer_proxy_checkbox" />&nbsp;&nbsp;_(Use proxy for peer connections)<br/><br/>
<input type="checkbox" id="peer_proxy_auth_checkbox" onclick="updatePeerProxyAuthSettings();" />&nbsp;&nbsp;_(Authentication)<br/>
<table>
<tr><td style="padding-left: 10px;">_(Username:)</td><td><input type="text" id="peer_proxy_username_text" /></td></tr>
<tr><td style="padding-left: 10px;">_(Password:)</td><td><input type="password" id="peer_proxy_password_text" /></td></tr>
</table>
</div>
</fieldset>
</div>
<div id="WebUITab" class="PrefTab invisible">
<fieldset>
2011-04-18 20:58:13 +04:00
<legend><b>_(Language)</b></legend>
<div style="padding-left: 30px;">
<table>
<tr>
2011-04-18 20:58:13 +04:00
<td style="vertical-align: bottom;">_(User Interface Language:)</td>
<td style="padding-right: 3px;">
<select id="locale_select">
2011-01-12 18:47:50 +03:00
<option value="en_GB">English</option>
<option value="fr_FR">Français</option>
<option value="de_DE">Deutsch</option>
<option value="hu_HU">Magyar</option>
<option value="it_IT">Italiano</option>
<option value="nl_NL">Nederlands</option>
<option value="es_ES">Español</option>
<option value="ca_ES">Català</option>
<option value="gl_ES">Galego</option>
<option value="pt_PT">Português</option>
<option value="pt_BR">Português brasileiro</option>
<option value="pl_PL">Polski</option>
<option value="cs_CZ">Čeština</option>
2011-02-07 21:56:17 +03:00
<option value="lt_LT">Lietuvių</option>
2011-01-12 18:47:50 +03:00
<option value="sk_SK">Slovenčina</option>
<option value="sr_CS">Српски</option>
<option value="hy_AM">Հայերեն</option>
<option value="ro_RO">Română</option>
<option value="tr_TR">Türkçe</option>
<option value="el_GR">Ελληνικά</option>
<option value="sv_SE">Svenska</option>
<option value="fi_FI">Suomi</option>
<option value="nb_NO">Norsk</option>
<option value="da_DK">Dansk</option>
<option value="bg_BG">Български</option>
<option value="uk_UA">Українська</option>
<option value="ru_RU">Русский</option>
<option value="ja_JP">日本語</option>
<option value="zh_CN">中文 (简体)</option>
<option value="zh_TW">中文 (繁體)</option>
<option value="ko_KR">한글</option>
</select>
</td>
</tr>
</table>
</div>
</fieldset>
<fieldset>
<legend><b>_(HTTP Server)</b></legend>
<div style="padding-left: 30px;">
<table>
<tr>
<td style="vertical-align: bottom;">_(Port:)</td><td style="padding-right: 3px;"><input type="text" id="webui_port_value" style="width: 4em;"/></td>
</tr>
</table>
<input type="checkbox" id="use_https_checkbox" onclick="updateHttpsSettings();" />&nbsp;&nbsp;_(Use HTTPS instead of HTTP)<br/>
<table>
<tr><td style="padding-left: 10px;">_(Key:)</td><td><textarea id="ssl_key_textarea" rows="5" cols="70"></textarea></td></tr>
<tr><td style="padding-left: 10px;">_(Certificate:)</td><td><textarea id="ssl_cert_textarea" rows="5" cols="70"></textarea></td></tr>
</table>
<div style="padding-left: 10px;"><a href=http://httpd.apache.org/docs/2.1/ssl/ssl_faq.html#aboutcerts>Information about certificates</a></div>
</div>
</fieldset>
<fieldset>
<legend><b>_(Authentication)</b></legend>
<div style="padding-left: 30px;">
<table>
<tr>
<td style="vertical-align: bottom;">_(Username:)</td><td style="padding-right: 3px;"><input type="text" id="webui_username_text" /></td>
</tr>
<tr>
<td style="vertical-align: bottom;">_(Password:)</td><td style="padding-right: 3px;"><input type="password" id="webui_password_text" /></td>
</tr>
</table>
<input type="checkbox" id="bypass_local_auth_checkbox" />&nbsp;&nbsp;_(Bypass authentication for localhost)
</div>
</fieldset>
<fieldset>
<legend><b><input type="checkbox" id="use_dyndns_checkbox" onclick="updateDynDnsSettings();" />&nbsp;&nbsp;_(Update my dynamic domain name)</b></legend>
<div style="padding-left: 30px;">
<select id="dyndns_select">
<option value="0">DynDNS</option>
<option value="1">NO-IP</option>
</select>
<input type="button" value="_(Register)" onclick="registerDynDns();"/><br/>
<table>
<tr>
<td style="vertical-align: bottom;">_(Domain name:)</td><td style="padding-right: 3px;"><input type="text" id="dyndns_domain_text" /></td>
</tr>
<tr>
<td style="vertical-align: bottom;">_(Username:)</td><td style="padding-right: 3px;"><input type="text" id="dyndns_username_text" /></td>
</tr>
<tr>
<td style="vertical-align: bottom;">_(Password:)</td><td style="padding-right: 3px;"><input type="password" id="dyndns_password_text" /></td>
</tr>
</table>
</div>
</fieldset>
</div>
<br/>
2011-01-14 21:57:15 +03:00
<center><input type="button" value="_(Save)" onclick="applyPreferences();"/></center>
<script type="text/javascript">
2010-03-18 22:25:16 +03:00
var WatchedFoldersTable = new HtmlTable($("watched_folders_tab"));
updateDlLimitEnabled = function() {
if($('dl_limit_checkbox').getProperty('checked')) {
$('dl_limit_value').setProperty('disabled', false);
} else {
$('dl_limit_value').setProperty('disabled', true);
}
}
updateUpLimitEnabled = function() {
if($('up_limit_checkbox').getProperty('checked')) {
$('up_limit_value').setProperty('disabled', false);
} else {
$('up_limit_value').setProperty('disabled', true);
}
}
setuTPSettingsVisible = function(visible) {
if(visible) {
$('enable_utp_checkbox').removeClass('invisible');
$('limit_utp_rate_checkbox').removeClass('invisible');
} else {
$('enable_utp_checkbox').addClass('invisible');
$('limit_utp_rate_checkbox').addClass('invisible');
}
}
updateMaxConnecEnabled = function() {
if($('max_connec_checkbox').getProperty('checked')) {
$('max_connec_value').setProperty('disabled', false);
} else {
$('max_connec_value').setProperty('disabled', true);
}
}
updateMaxConnecPerTorrentEnabled = function() {
if($('max_connec_per_torrent_checkbox').getProperty('checked')) {
$('max_connec_per_torrent_value').setProperty('disabled', false);
} else {
$('max_connec_per_torrent_value').setProperty('disabled', true);
}
}
updateMaxUploadsPerTorrentEnabled = function() {
if($('max_uploads_per_torrent_checkbox').getProperty('checked')) {
$('max_uploads_per_torrent_value').setProperty('disabled', false);
} else {
$('max_uploads_per_torrent_value').setProperty('disabled', true);
}
}
updateTempDirEnabled = function() {
if($('temppath_checkbox').getProperty('checked')) {
$('temppath_text').setProperty('disabled', false);
} else {
$('temppath_text').setProperty('disabled', true);
}
}
updateHttpsSettings = function() {
if($('use_https_checkbox').getProperty('checked')) {
$('ssl_key_textarea').setProperty('disabled', false);
$('ssl_cert_textarea').setProperty('disabled', false);
} else {
$('ssl_key_textarea').setProperty('disabled', true);
$('ssl_cert_textarea').setProperty('disabled', true);
}
}
updateExportDirEnabled = function() {
if($('exportdir_checkbox').getProperty('checked')) {
$('exportdir_text').setProperty('disabled', false);
} else {
$('exportdir_text').setProperty('disabled', true);
}
}
updateQueueingSystem = function() {
if($('queueing_checkbox').getProperty('checked')) {
$('max_active_dl_value').setProperty('disabled', false);
$('max_active_up_value').setProperty('disabled', false);
$('max_active_to_value').setProperty('disabled', false);
} else {
$('max_active_dl_value').setProperty('disabled', true);
$('max_active_up_value').setProperty('disabled', true);
$('max_active_to_value').setProperty('disabled', true);
}
}
updateMailNotification = function() {
if($('mail_notification_checkbox').getProperty('checked')) {
$('dest_email_txt').setProperty('disabled', false);
$('smtp_server_txt').setProperty('disabled', false);
$('mail_auth_checkbox').setProperty('disabled', false);
$('mail_ssl_checkbox').setProperty('disabled', false);
} else {
$('dest_email_txt').setProperty('disabled', true);
$('smtp_server_txt').setProperty('disabled', true);
$('mail_ssl_checkbox').setProperty('disabled', true);
$('mail_auth_checkbox').setProperty('disabled', true);
$('mail_auth_checkbox').setProperty('checked', false);
updateMailAuthSettings();
}
}
updateMailAuthSettings = function() {
if($('mail_auth_checkbox').getProperty('checked')) {
$('mail_username_text').setProperty('disabled', false);
$('mail_password_text').setProperty('disabled', false);
} else {
$('mail_username_text').setProperty('disabled', true);
$('mail_password_text').setProperty('disabled', true);
}
}
updateAutoRun = function() {
if($('autorun_checkbox').getProperty('checked')) {
$('autorunProg_txt').setProperty('disabled', false);
} else {
$('autorunProg_txt').setProperty('disabled', true);
}
}
updateFilterSettings = function() {
if($('ipfilter_enabled_checkbox').getProperty('checked')) {
$('ipfilter_text').setProperty('disabled', false);
} else {
$('ipfilter_text').setProperty('disabled', true);
}
}
2010-03-22 23:34:12 +03:00
updateDHTPortSettings = function() {
if($('DHTPortDiffThanBT_checkbox').getProperty('checked')) {
$('DHTPort_txt').setProperty('disabled', false);
2010-03-22 23:34:12 +03:00
} else {
$('DHTPort_txt').setProperty('disabled', true);
2010-03-22 23:34:12 +03:00
}
}
updatePeerProxySettings = function() {
if($('peer_proxy_type_select').getProperty('value') != "none") {
$('peer_proxy_host_text').setProperty('disabled', false);
$('peer_proxy_port_value').setProperty('disabled', false);
$('use_peer_proxy_checkbox').setProperty('disabled', false);
if($('peer_proxy_type_select').getProperty('value') != "socks5") {
$('peer_proxy_auth_checkbox').setProperty('checked', false);
$('peer_proxy_auth_checkbox').setProperty('disabled', true);
updatePeerProxyAuthSettings();
} else {
$('peer_proxy_auth_checkbox').setProperty('disabled', false);
}
} else {
$('peer_proxy_host_text').setProperty('disabled', true);
$('peer_proxy_port_value').setProperty('disabled', true);
$('use_peer_proxy_checkbox').setProperty('disabled', true);
$('peer_proxy_auth_checkbox').setProperty('disabled', true);
$('peer_proxy_auth_checkbox').setProperty('checked', false);
updatePeerProxyAuthSettings();
}
}
updatePeerProxyAuthSettings = function() {
if($('peer_proxy_auth_checkbox').getProperty('checked')) {
$('peer_proxy_username_text').setProperty('disabled', false);
$('peer_proxy_password_text').setProperty('disabled', false);
} else {
$('peer_proxy_username_text').setProperty('disabled', true);
$('peer_proxy_password_text').setProperty('disabled', true);
}
}
updateDynDnsSettings = function() {
if($('use_dyndns_checkbox').getProperty('checked')) {
$('dyndns_select').setProperty('disabled', false);
$('dyndns_domain_text').setProperty('disabled', false);
$('dyndns_username_text').setProperty('disabled', false);
$('dyndns_password_text').setProperty('disabled', false);
} else {
$('dyndns_select').setProperty('disabled', true);
$('dyndns_domain_text').setProperty('disabled', true);
$('dyndns_username_text').setProperty('disabled', true);
$('dyndns_password_text').setProperty('disabled', true);
}
}
registerDynDns = function() {
if($('dyndns_select').getProperty('value').toInt() == 1) {
window.open("http://www.no-ip.com/services/managed_dns/free_dynamic_dns.html", "NO-IP Registration");
} else {
window.open("https://www.dyndns.com/account/services/hosts/add.html", "DynDNS Registration");
}
}
2010-03-18 22:25:16 +03:00
getWatchedFolders = function() {
var nb_folders = $("watched_folders_tab").getChildren("tbody")[0].getChildren("tr").length;
var folders = Array();
var download_in_place = Array();
for(var i=0; i<nb_folders; i+=1) {
var folder_path = $('text_watch_'+i).getProperty('value').trim();
2010-03-18 22:25:16 +03:00
if(folder_path.length > 0) {
folders[folders.length] = folder_path;
if($("cb_watch_"+i).getProperty('checked')) {
2010-03-18 22:25:16 +03:00
download_in_place[download_in_place.length] = 1;
} else {
download_in_place[download_in_place.length] = 0;
}
}
}
return [folders, download_in_place];
}
addWatchFolder = function() {
var new_folder = $('new_watch_folder_txt').getProperty('value').trim();
2010-03-18 22:25:16 +03:00
if(new_folder.length <= 0) return;
var download_here = $('new_watch_folder_dl').getProperty('checked');
var myinput = new Element('input');
var i = $('watched_folders_tab').getChildren('tbody')[0].getChildren('tr').length;
myinput.setProperty('id', 'text_watch_'+i);
myinput.setProperty('type', 'text');
myinput.setProperty('value', new_folder);
var mycb = new Element('input');
mycb.setProperty('type', 'checkbox');
mycb.setProperty('id', 'cb_watch_'+i);
mycb.setProperty('checked', download_here);
2010-03-18 22:25:16 +03:00
WatchedFoldersTable.push([myinput, mycb]);
2010-03-18 22:25:16 +03:00
// Clear fields
$('new_watch_folder_txt').setProperty('value', '');
$('new_watch_folder_dl').setProperty('checked', false);
2010-03-18 22:25:16 +03:00
}
loadPreferences = function() {
var url = 'json/preferences';
var request = new Request.JSON({
url: url,
method: 'get',
noCache: true,
onFailure: function() {
alert("Could not contact qBittorrent");
},
onSuccess: function(pref) {
if(pref){
// Connection
var listen_port = pref.listen_port.toInt();
$('port_value').setProperty('value', listen_port);
if(pref.upnp) {
$('upnp_checkbox').setProperty('checked', true);
} else {
$('upnp_checkbox').setProperty('checked', false);
}
var dl_limit = pref.dl_limit.toInt();
if(dl_limit <= 0) {
$('dl_limit_checkbox').setProperty('checked', false);
} else {
$('dl_limit_checkbox').setProperty('checked', true);
$('dl_limit_value').setProperty('value', dl_limit);
}
updateDlLimitEnabled();
var up_limit = pref.up_limit.toInt();
if(up_limit <= 0) {
$('up_limit_checkbox').setProperty('checked', false);
} else {
$('up_limit_checkbox').setProperty('checked', true);
$('up_limit_value').setProperty('value', up_limit);
}
updateUpLimitEnabled();
// uTP
utp_supported = $defined(pref.enable_utp);
setuTPSettingsVisible(utp_supported);
if(utp_supported) {
if(pref.enable_utp)
$('enable_utp_checkbox').setProperty('checked', true);
else
$('enable_utp_checkbox').setProperty('checked', false);
if(pref.limit_utp_rate)
$('limit_utp_rate_checkbox').setProperty('checked', true);
else
$('limit_utp_rate_checkbox').setProperty('checked', false);
}
if(pref.limit_tcp_overhead)
$('limit_tcp_overhead_checkbox').setProperty('checked', true);
else
$('limit_tcp_overhead_checkbox').setProperty('checked', false);
var max_connec = pref.max_connec.toInt();
if(max_connec <= 0) {
$('max_connec_checkbox').setProperty('checked', false);
$('max_connec_value').setProperty('value', 500);
} else {
$('max_connec_checkbox').setProperty('checked', true);
$('max_connec_value').setProperty('value', max_connec);
}
updateMaxConnecEnabled();
var max_connec_per_torrent = pref.max_connec_per_torrent.toInt();
if(max_connec_per_torrent <= 0) {
$('max_connec_per_torrent_checkbox').setProperty('checked', false);
$('max_connec_per_torrent_value').setProperty('value', 100);
} else {
$('max_connec_per_torrent_checkbox').setProperty('checked', true);
$('max_connec_per_torrent_value').setProperty('value', max_connec_per_torrent);
}
updateMaxConnecPerTorrentEnabled();
var max_uploads_per_torrent = pref.max_uploads_per_torrent.toInt();
if(max_uploads_per_torrent <= 0) {
$('max_uploads_per_torrent_checkbox').setProperty('checked', false);
$('max_uploads_per_torrent_value').setProperty('value', 4);
} else {
$('max_uploads_per_torrent_checkbox').setProperty('checked', true);
$('max_uploads_per_torrent_value').setProperty('value', max_uploads_per_torrent);
}
updateMaxUploadsPerTorrentEnabled();
// Bittorrent
var dht = pref.dht; //bool
if(dht) {
$('dht_checkbox').setProperty('checked', true);
} else {
$('dht_checkbox').setProperty('checked', false);
}
2010-03-22 23:34:12 +03:00
var dhtSameAsBT = pref.dhtSameAsBT;
if(dhtSameAsBT) {
$('DHTPortDiffThanBT_checkbox').setProperty('checked', false);
2010-03-22 23:34:12 +03:00
} else {
$('DHTPortDiffThanBT_checkbox').setProperty('checked', true);
2010-03-22 23:34:12 +03:00
}
$('DHTPort_txt').setProperty('value', pref.dht_port);
2010-03-22 23:34:12 +03:00
updateDHTPortSettings();
var pex = pref.pex; //bool
if(pex) {
$('pex_checkbox').setProperty('checked', true);
} else {
$('pex_checkbox').setProperty('checked', false);
}
var lsd = pref.lsd; //bool
if(lsd) {
$('lsd_checkbox').setProperty('checked', true);
} else {
$('lsd_checkbox').setProperty('checked', false);
}
var encryption = pref.encryption.toInt();
$('encryption_select').getChildren('option')[encryption].setAttribute('selected', '');
// Downloads
var save_path = pref.save_path;
$("savepath_text").setProperty('value', save_path);
var temp_path_enabled = pref.temp_path_enabled;
if(temp_path_enabled) {
$('temppath_checkbox').setProperty('checked', true);
} else {
$('temppath_checkbox').setProperty('checked', false);
}
var temp_path = pref.temp_path;
$('temppath_text').setProperty('value', temp_path);
updateTempDirEnabled();
2010-03-18 22:25:16 +03:00
var i = 0;
for(i=0; i<pref.scan_dirs.length; i+=1) {
var myinput = new Element('input');
myinput.setProperty('id', 'text_watch_'+i);
myinput.setProperty('type', 'text');
myinput.setProperty('value', pref.scan_dirs[i]);
var mycb = new Element('input');
mycb.setProperty('type', 'checkbox');
mycb.setProperty('id', 'cb_watch_'+i);
mycb.setProperty('checked', pref.download_in_scan_dirs[i]);
2010-03-18 22:25:16 +03:00
WatchedFoldersTable.push([myinput, mycb]);
}
2010-03-18 22:25:16 +03:00
var export_dir_enabled = pref.export_dir_enabled;
if(export_dir_enabled) {
$('exportdir_text').setProperty('value', pref.export_dir);
$('exportdir_checkbox').setProperty('checked', true);
} else {
$('exportdir_text').setProperty('value', '');
$('exportdir_checkbox').setProperty('checked', false);
}
updateExportDirEnabled();
var mail_notification_enabled = pref.mail_notification_enabled;
if(mail_notification_enabled) {
$('mail_notification_checkbox').setProperty('checked', true);
} else {
$('mail_notification_checkbox').setProperty('checked', false);
}
$('dest_email_txt').setProperty('value', pref.mail_notification_email);
$('smtp_server_txt').setProperty('value', pref.mail_notification_smtp);
if(pref.mail_notification_ssl_enabled)
$('mail_ssl_checkbox').setProperty('checked', true);
else
$('mail_ssl_checkbox').setProperty('checked', false);
if(pref.mail_notification_auth_enabled)
$('mail_auth_checkbox').setProperty('checked', true);
else
$('mail_auth_checkbox').setProperty('checked', false);
$('mail_username_text').setProperty('value', pref.mail_notification_username);
$('mail_password_text').setProperty('value', pref.mail_notification_password);
updateMailNotification();
updateMailAuthSettings();
var autorun_enabled = pref.autorun_enabled;
if(autorun_enabled) {
$('autorun_checkbox').setProperty('checked', true);
} else {
$('autorun_checkbox').setProperty('checked', false);
}
$('autorunProg_txt').setProperty('value', pref.autorun_program);
updateAutoRun();
if(pref.preallocate_all) {
$('preallocateall_checkbox').setProperty('checked', true);
} else {
$('preallocateall_checkbox').setProperty('checked', false);
}
if($defined(pref.incomplete_files_ext)) {
$('appendexttr').removeClass('invisible');
if(pref.incomplete_files_ext) {
$('appendext_checkbox').setProperty('checked', true);
} else {
$('appendext_checkbox').setProperty('checked', false);
}
} else {
$('appendexttr').addClass('invisible');
}
if(pref.queueing_enabled) {
$('queueing_checkbox').setProperty('checked', true);
} else {
$('queueing_checkbox').setProperty('checked', false);
}
$('max_active_dl_value').setProperty('value', pref.max_active_downloads.toInt());
$('max_active_up_value').setProperty('value', pref.max_active_uploads.toInt());
$('max_active_to_value').setProperty('value', pref.max_active_torrents.toInt());
updateQueueingSystem();
// IP Filter
if(pref.ip_filter_enabled) {
$('ipfilter_enabled_checkbox').setProperty('checked', true);
} else {
$('ipfilter_enabled_checkbox').setProperty('checked', false);
}
$('ipfilter_text').setProperty('value', pref.ip_filter_path);
updateFilterSettings();
// PEER Proxy
switch(pref.proxy_type.toInt()) {
case 5: //SOCKS4
$('peer_proxy_type_select').setProperty('value', 'socks4');
break;
case 2: // SOCKS5
case 4: // SOCKS5_PW
$('peer_proxy_type_select').setProperty('value', 'socks5');
break;
case 1: // HTTP
case 3: // HTTP_PW
$('peer_proxy_type_select').setProperty('value', 'http');
break;
default: // NONE
$('peer_proxy_type_select').setProperty('value', 'none');
}
updatePeerProxySettings();
$('peer_proxy_host_text').setProperty('value', pref.proxy_ip);
$('peer_proxy_port_value').setProperty('value', pref.proxy_port);
2011-05-01 16:00:23 +04:00
if(pref.proxy_peer_connections) {
$('use_peer_proxy_checkbox').setProperty('checked', true);
2011-05-01 16:00:23 +04:00
} else {
$('use_peer_proxy_checkbox').setProperty('checked', false);
2011-05-01 16:00:23 +04:00
}
if(pref.proxy_auth_enabled) {
$('peer_proxy_auth_checkbox').setProperty('checked', true);
} else {
$('peer_proxy_auth_checkbox').setProperty('checked', false);
}
updatePeerProxyAuthSettings();
$('peer_proxy_username_text').setProperty('value', pref.proxy_username);
$('peer_proxy_password_text').setProperty('value', pref.proxy_password);
// Web UI
$('webui_port_value').setProperty('value', pref.web_ui_port);
$('webui_username_text').setProperty('value', pref.web_ui_username);
$('webui_password_text').setProperty('value', pref.web_ui_password);
if(pref.bypass_local_auth)
$('bypass_local_auth_checkbox').setProperty('checked', true);
else
$('bypass_local_auth_checkbox').setProperty('checked', false);
if(pref.use_https)
$('use_https_checkbox').setProperty('checked', true);
else
$('use_https_checkbox').setProperty('checked', false);
updateHttpsSettings();
$('ssl_key_textarea').setProperty('value', pref.ssl_key);
$('ssl_cert_textarea').setProperty('value', pref.ssl_cert);
$('locale_select').setProperty('value', pref.locale);
// Dyndns
$('use_dyndns_checkbox').setProperty('checked', pref.dyndns_enabled);
updateDynDnsSettings();
$('dyndns_select').setProperty('value', pref.dyndns_service);
$('dyndns_domain_text').setProperty('value', pref.dyndns_domain);
$('dyndns_username_text').setProperty('value', pref.dyndns_username);
$('dyndns_password_text').setProperty('value', pref.dyndns_password);
}
}
}).send();
}
applyPreferences = function() {
var settings = new Hash();
// Validate form data
// Connection
var listen_port = $('port_value').getProperty('value').toInt();
if(listen_port <= 1024 || listen_port > 65535) {
alert("_(The port used for incoming connections must be greater than 1024 and less than 65535.)");
return;
}
settings.set('listen_port', listen_port);
settings.set('upnp', $('upnp_checkbox').getProperty('checked'));
var dl_limit = -1;
if($('dl_limit_checkbox').getProperty('checked')) {
dl_limit = $('dl_limit_value').getProperty('value').toInt();
if(dl_limit <= 0) {
alert("_(Download rate limit must be greater than 0 or disabled.)");
return;
}
}
settings.set('dl_limit', dl_limit);
var up_limit = -1;
if($('up_limit_checkbox').getProperty('checked')) {
up_limit = $('up_limit_value').getProperty('value').toInt();
if(up_limit <= 0) {
alert("_(Upload rate limit must be greater than 0 or disabled.)");
return;
}
}
settings.set('up_limit', up_limit);
if(!$('enable_utp_checkbox').hasClass('invisible')) {
settings.set('enable_utp', $('enable_utp_checkbox').getProperty('checked'));
settings.set('limit_utp_rate', $('limit_utp_rate_checkbox').getProperty('checked'));
}
settings.set('limit_tcp_overhead', $('limit_tcp_overhead_checkbox').getProperty('checked'));
var max_connec = -1;
if($('max_connec_checkbox').getProperty('checked')) {
max_connec = $('max_connec_value').getProperty('value').toInt();
if(max_connec <= 0) {
alert("_(Maximum number of connections limit must be greater than 0 or disabled.)");
return;
}
}
settings.set('max_connec', max_connec);
var max_connec_per_torrent = -1;
if($('max_connec_per_torrent_checkbox').getProperty('checked')) {
max_connec_per_torrent = $('max_connec_per_torrent_value').getProperty('value').toInt();
if(max_connec_per_torrent <= 0) {
alert("_(Maximum number of connections per torrent limit must be greater than 0 or disabled.)");
return;
}
}
settings.set('max_connec_per_torrent', max_connec_per_torrent);
var max_uploads_per_torrent = -1;
if($('max_uploads_per_torrent_checkbox').getProperty('checked')) {
max_uploads_per_torrent = $('max_uploads_per_torrent_value').getProperty('value').toInt();
if(max_uploads_per_torrent <= 0) {
alert("_(Maximum number of upload slots per torrent limit must be greater than 0 or disabled.)");
return;
}
}
settings.set('max_uploads_per_torrent', max_uploads_per_torrent);
// Bittorrent
settings.set('dht', $('dht_checkbox').getProperty('checked'));
settings.set('dhtSameAsBT', $('DHTPortDiffThanBT_checkbox').getProperty('checked'));
settings.set('dht_port', $('DHTPort_txt').getProperty('value').toInt());
settings.set('pex', $('pex_checkbox').getProperty('checked'));
settings.set('lsd', $('lsd_checkbox').getProperty('checked'));
// Downloads
settings.set('save_path', $('savepath_text').getProperty('value'));
settings.set('temp_path_enabled', $('temppath_checkbox').getProperty('checked'));
settings.set('temp_path', $('temppath_text').getProperty('value'));
var watched_folders = getWatchedFolders();
settings.set('scan_dirs', watched_folders[0]);
settings.set('download_in_scan_dirs', watched_folders[1]);
settings.set('exportdir_enabled', $('exportdir_checkbox').getProperty('checked'));
settings.set('exportdir_path', $('exportdir_text').getProperty('value'));
settings.set('preallocate_all', $('preallocateall_checkbox').getProperty('checked'));
if(!$('appendexttr').hasClass('invisible')) {
settings.set('incomplete_files_ext', $('appendext_checkbox').getProperty('checked'));
}
settings.set('queueing_enabled', $('queueing_checkbox').getProperty('checked'));
settings.set('max_active_downloads', $('max_active_dl_value').getProperty('value').toInt());
settings.set('max_active_uploads', $('max_active_up_value').getProperty('value').toInt());
settings.set('max_active_torrents', $('max_active_to_value').getProperty('value').toInt());
settings.set('mail_notification_enabled', $('mail_notification_checkbox').getProperty('checked'));
settings.set('mail_notification_email', $('dest_email_txt').getProperty('value'));
settings.set('mail_notification_smtp', $('smtp_server_txt').getProperty('value'));
settings.set('mail_notification_ssl_enabled', $('mail_ssl_checkbox').getProperty('checked'));
settings.set('mail_notification_auth_enabled', $('mail_auth_checkbox').getProperty('checked'));
settings.set('mail_notification_username', $('mail_username_text').getProperty('value'));
settings.set('mail_notification_password', $('mail_password_text').getProperty('value'));
settings.set('autorun_enabled', $('autorun_checkbox').getProperty('checked'));
settings.set('autorun_program', $('autorunProg_txt').getProperty('value'));
// IP Filter
settings.set('ip_filter_enabled', $('ipfilter_enabled_checkbox').getProperty('checked'));
settings.set('ip_filter_path', $('ipfilter_text').getProperty('value'));
// Peer Proxy
var proxy_type_str = $('peer_proxy_type_select').getProperty('value');
var proxy_type = -1;
var proxy_auth_enabled = false;
if(proxy_type_str == "socks5") {
if($('peer_proxy_auth_checkbox').getProperty('checked')) {
proxy_type = 4;
proxy_auth_enabled = true;
} else {
proxy_type = 2;
}
} else {
if(proxy_type_str == "socks4") {
proxy_type = 5;
} else {
if(proxy_type_str == "http") {
if($('peer_proxy_auth_checkbox').getProperty('checked')) {
proxy_type = 3;
proxy_auth_enabled = true;
} else {
proxy_type = 1;
}
}
}
}
settings.set('proxy_type', proxy_type);
settings.set('proxy_auth_enabled', proxy_auth_enabled);
settings.set('proxy_ip', $('peer_proxy_host_text').getProperty('value'));
settings.set('proxy_port', $('peer_proxy_port_value').getProperty('value').toInt());
settings.set('proxy_peer_connections', $('use_peer_proxy_checkbox').getProperty('checked'));
settings.set('proxy_username', $('peer_proxy_username_text').getProperty('value'));
settings.set('proxy_password', $('peer_proxy_password_text').getProperty('value'));
// Web UI
var web_ui_port = $('webui_port_value').getProperty('value').toInt();
if(web_ui_port <= 1024 || web_ui_port > 65535) {
alert("_(The port used for the Web UI must be greater than 1024 and less than 65535.)");
return;
}
settings.set('web_ui_port', web_ui_port);
var web_ui_username = $('webui_username_text').getProperty('value');
var web_ui_password = $('webui_password_text').getProperty('value');
// Add some username/password length checking
if(web_ui_username.length < 3) {
alert("_(The Web UI username must be at least 3 characters long.)");
return;
}
if(web_ui_password.length < 3) {
alert("_(The Web UI password must be at least 3 characters long.)");
return;
}
settings.set('web_ui_username', web_ui_username);
settings.set('web_ui_password', web_ui_password);
settings.set('bypass_local_auth', $('bypass_local_auth_checkbox').getProperty('checked'));
settings.set('use_https', $('use_https_checkbox').getProperty('checked'));
settings.set('ssl_key', $('ssl_key_textarea').getProperty('value'));
settings.set('ssl_cert', $('ssl_cert_textarea').getProperty('value'));
// Dyndns
settings.set('dyndns_enabled', $('use_dyndns_checkbox').getProperty('checked'));
settings.set('dyndns_service', $('dyndns_select').getProperty('value'));
settings.set('dyndns_domain', $('dyndns_domain_text').getProperty('value'));
settings.set('dyndns_username', $('dyndns_username_text').getProperty('value'));
settings.set('dyndns_password', $('dyndns_password_text').getProperty('value'));
// Locale
settings.set('locale', $('locale_select').getProperty('value'));
// Send it to qBT
var json_str = JSON.encode(settings);
new Request({url: '/command/setPreferences',
method: 'post',
data: {'json': json_str,
},
onFailure: function() {
alert("_(Unable to save program preferences, qBittorrent is probably unreachable.)");
window.parent.closeWindows();
},
onSuccess: function() {
// Close window
window.parent.location.reload();
window.parent.closeWindows();
}
}).send();
};
loadPreferences();
2010-03-18 22:25:16 +03:00
</script>