Merge pull request #3240 from ngosang/webui_interface

[Web UI] Changes in menus, new features and reordered Options.
This commit is contained in:
sledgehammer999 2015-06-20 19:31:06 +03:00
commit a22137e06e
9 changed files with 409 additions and 361 deletions

View file

@ -48,14 +48,21 @@
<li><a id="pauseAllLink"><img class="MyMenuIcon" alt="QBT_TR(P&ause All)QBT_TR" src="theme/media-playback-pause" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(P&ause All)QBT_TR</a></li>
<li class="divider"><a id="resumeLink"><img class="MyMenuIcon" alt="QBT_TR(&Resume)QBT_TR" src="theme/media-playback-start" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Resume)QBT_TR</a></li>
<li><a id="pauseLink"><img class="MyMenuIcon" src="theme/media-playback-pause" alt="QBT_TR(&Pause)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Pause)QBT_TR</a></li>
<li><a id="recheckLink"><img class="MyMenuIcon" src="theme/document-edit-verify" alt="QBT_TR(Force recheck)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Force recheck)QBT_TR</a></li>
<li class="divider"><a id="deleteLink"><img class="MyMenuIcon" src="theme/list-remove" alt="QBT_TR(&Delete)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Delete)QBT_TR</a></li>
<span id="queueingLinks">
<li class="divider"><a id="topPrioLink"><img class="MyMenuIcon" src="theme/go-top" alt="QBT_TR(Top Priority)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Top Priority)QBT_TR</a></li>
<li><a id="increasePrioLink"><img class="MyMenuIcon" src="theme/go-up" alt="QBT_TR(Increase Priority)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Increase Priority)QBT_TR</a></li>
<li><a id="decreasePrioLink"><img class="MyMenuIcon" src="theme/go-down" alt="QBT_TR(Decrease Priority)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Decrease Priority)QBT_TR</a></li>
<li><a id="bottomPrioLink"><img class="MyMenuIcon" src="theme/go-bottom" alt="QBT_TR(Minimum Priority)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Minimum Priority)QBT_TR</a></li>
</span>
<li class="divider"><a id="recheckLink"><img class="MyMenuIcon" src="theme/document-edit-verify" alt="QBT_TR(Force Recheck)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Force Recheck)QBT_TR</a></li>
</ul>
</li>
<li>
<a class="returnFalse">QBT_TR(&View)QBT_TR</a>
<ul>
<li><a id="speedInBrowserTitleBarLink"><img class="MyMenuIcon" src="theme/checked" alt="QBT_TR(&Speed in title bar)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Speed in title bar)QBT_TR</a></li>
<li><a id="showTopToolbarLink"><img class="MyMenuIcon" src="theme/checked" alt="QBT_TR(&Top Toolbar)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Top Toolbar)QBT_TR</a></li>
<li><a id="speedInBrowserTitleBarLink"><img class="MyMenuIcon" src="theme/checked" alt="QBT_TR(S&peed in Title Bar)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(S&peed in Title Bar)QBT_TR</a></li>
</ul>
</li>
<li>
@ -67,9 +74,8 @@
<li>
<a class="returnFalse">QBT_TR(&Help)QBT_TR</a>
<ul>
<li><a id="bugLink" target="_blank" href="http://bugs.qbittorrent.org/"><img class="MyMenuIcon" src="theme/tools-report-bug" alt="QBT_TR(Report a &bug)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Report a &bug)QBT_TR</a></li>
<li><a id="siteLink" target="_blank" href="http://www.qbittorrent.org/"><img class="MyMenuIcon" src="images/skin/qbittorrent16.png" alt="QBT_TR(Visit &Website)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Visit &Website)QBT_TR</a></li>
<li><a id="docsLink" target="_blank" href="http://wiki.qbittorrent.org/"><img class="MyMenuIcon" src="theme/help-contents" alt="QBT_TR(&Documentation)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Documentation)QBT_TR</a></li>
<li class="divider"><a id="bugLink" target="_blank" href="http://sourceforge.net/donate/index.php?group_id=163414"><img class="MyMenuIcon" src="theme/wallet-open" alt="QBT_TR(Do&nate!)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Do&nate!)QBT_TR</a></li>
<li><a id="aboutLink"><img class="MyMenuIcon" src="theme/help-about" alt="QBT_TR(&About)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&About)QBT_TR</a></li>
</ul>
</li>
@ -77,8 +83,8 @@
</div>
<div id="mochaToolbar">
&nbsp;&nbsp;
<a id="uploadButton"><img class="mochaToolButton" title="QBT_TR(&Add Torrent File...)QBT_TR" src="theme/list-add" alt="QBT_TR(&Add Torrent File...)QBT_TR" width="24" height="24" onload="fixPNG(this)"/></a>
<a id="downloadButton"><img class="mochaToolButton" title="QBT_TR(Add Torrent &Link...)QBT_TR" src="theme/insert-link" alt="QBT_TR(Add Torrent &Link...)QBT_TR" width="24" height="24" onload="fixPNG(this)"/></a>
<a id="uploadButton"><img class="mochaToolButton" title="QBT_TR(&Add Torrent File...)QBT_TR" src="theme/list-add" alt="QBT_TR(&Add Torrent File...)QBT_TR" width="24" height="24" onload="fixPNG(this)"/></a>
<a id="deleteButton" class="divider"><img class="mochaToolButton" title="QBT_TR(Delete)QBT_TR" src="theme/list-remove" alt="QBT_TR(Delete)QBT_TR" width="24" height="24" onload="fixPNG(this)"/></a>
<a id="resumeButton" class="divider"><img class="mochaToolButton" title="QBT_TR(Resume)QBT_TR" src="theme/media-playback-start" alt="QBT_TR(Resume)QBT_TR" width="24" height="24" onload="fixPNG(this)"/></a>
<a id="pauseButton"><img class="mochaToolButton" title="QBT_TR(Pause)QBT_TR" src="theme/media-playback-pause" alt="QBT_TR(Pause)QBT_TR" width="24" height="24" onload="fixPNG(this)"/></a>

View file

@ -1,7 +1,10 @@
<img src="images/skin/mascot.png" align="right"></img>
<p>qBittorrent ${VERSION} QBT_TR(Web UI)QBT_TR</p>
<h3>qBittorrent ${VERSION} QBT_TR(Web UI)QBT_TR</h3>
<p>QBT_TR(An advanced BitTorrent client programmed in C++, based on Qt toolkit and libtorrent-rasterbar.)QBT_TR</p>
<p>Copyright (c) 2011-2015 The qBittorrent project</p>
<p>QBT_TR(Home Page: )QBT_TR <a href="http://www.qbittorrent.org">http://www.qbittorrent.org</a></p>
<p>QBT_TR(Bug Tracker: )QBT_TR <a href="http://bugs.qbittorrent.org">http://bugs.qbittorrent.org</a></p>
<p>QBT_TR(Forum: )QBT_TR <a href="http://forum.qbittorrent.org">http://forum.qbittorrent.org</a></p>
<p>QBT_TR(IRC: #qbittorrent on Freenode)QBT_TR</p>
<h3>QBT_TR(Original authors)QBT_TR</h3>
<a href="mailto:ishanarora@gmail.com">Ishan Arora</a>, <a href="mailto:ank.iitd@gmail.com">Ankit Gupta</a>, <a href="mailto:shikhar.ap@gmail.com">Chandan Shikhar Dua</a> and <a href="mailto:swapnil.iitd@gmail.com">Swapnil Kumar</a>.

View file

@ -108,7 +108,6 @@ body {
/* Fixes by Chris */
/*background-color: #ccc;*/
height: 20px;
margin-bottom: 5px;
border-bottom: 1px solid #3f3f3f;
}

View file

@ -162,6 +162,7 @@ a.propButton img {
}
/* context menu specific */
#contextmenu { border:1px solid #999; padding:0; background:#eee; list-style-type:none; display:none;}
#contextmenu .separator { border-top:1px solid #999; }
#contextmenu li { margin:0; padding:0;}
@ -262,6 +263,10 @@ a.propButton img {
}
/* Mocha Customization */
#mochaToolbar {
margin-top: 5px;
}
#mochaToolbar .divider {
background-image: url(../images/skin/toolbox-divider.gif);
background-repeat: no-repeat;
@ -277,6 +282,7 @@ a.propButton img {
}
/* Tri-state checkbox */
label.tristate {
background: url(../images/3-state-checkbox.gif) 0 0 no-repeat;
display: block;
@ -287,8 +293,14 @@ label.tristate {
text-indent: -999em;
width: 13px;
}
label.checked { background-position: 0 -13px; }
label.partial { background-position: 0 -26px; }
label.checked {
background-position: 0 -13px;
}
label.partial {
background-position: 0 -26px;
}
fieldset.settings {
border: solid 1px black;

View file

@ -13,11 +13,10 @@
<!-- preferences -->
<div class="toolbarTabs">
<ul id="preferencesTabs" class="tab-menu">
<li id="PrefConnectionLink" class="selected"><a>QBT_TR(Connection)QBT_TR</a></li>
<li id="PrefDownloadsLink" class="selected"><a>QBT_TR(Downloads)QBT_TR</a></li>
<li id="PrefConnectionLink"><a>QBT_TR(Connection)QBT_TR</a></li>
<li id="PrefSpeedLink"><a>QBT_TR(Speed)QBT_TR</a></li>
<li id="PrefBittorrentLink"><a>QBT_TR(BitTorrent)QBT_TR</a></li>
<li id="PrefDownloadsLink"><a>QBT_TR(Downloads)QBT_TR</a></li>
<li id="PrefProxyLink"><a>QBT_TR(Proxy Server)QBT_TR</a></li>
<li id="PrefFilterLink"><a>QBT_TR(IP Filtering)QBT_TR</a></li>
<li id="PrefWebUILink"><a>QBT_TR(Web UI)QBT_TR</a></li>
</ul>
<div class="clear"></div>
@ -27,25 +26,21 @@
// Tabs
MochaUI.initializeTabs('preferencesTabs');
$('PrefConnectionLink').addEvent('click', function(e){
$$('.PrefTab').addClass('invisible');
$('ConnectionTab').removeClass('invisible');
});
$('PrefBittorrentLink').addEvent('click', function(e) {
$$('.PrefTab').addClass('invisible');
$('BittorrentTab').removeClass('invisible');
});
$('PrefDownloadsLink').addEvent('click', function(e) {
$$('.PrefTab').addClass('invisible');
$('DownloadsTab').removeClass('invisible');
});
$('PrefProxyLink').addEvent('click', function(e) {
$('PrefConnectionLink').addEvent('click', function(e){
$$('.PrefTab').addClass('invisible');
$('ProxyTab').removeClass('invisible');
$('ConnectionTab').removeClass('invisible');
});
$('PrefFilterLink').addEvent('click', function(e) {
$('PrefSpeedLink').addEvent('click', function(e) {
$$('.PrefTab').addClass('invisible');
$('FilterTab').removeClass('invisible');
$('SpeedTab').removeClass('invisible');
});
$('PrefBittorrentLink').addEvent('click', function(e) {
$$('.PrefTab').addClass('invisible');
$('BittorrentTab').removeClass('invisible');
});
$('PrefWebUILink').addEvent('click', function(e) {
$$('.PrefTab').addClass('invisible');

View file

@ -1,137 +1,4 @@
<div id="ConnectionTab" class="PrefTab">
<fieldset class="settings">
<legend>QBT_TR(Listening Port)QBT_TR</legend>
<label for="port_value">QBT_TR(Port used for incoming connections:)QBT_TR</label>
<input type="text" id="port_value" style="width: 4em;"/><br/>
<input type="checkbox" id="upnp_checkbox"/>
<label for="upnp_checkbox">QBT_TR(Use UPnP / NAT-PMP port forwarding from my router)QBT_TR</label>
</fieldset>
<fieldset class="settings">
<legend>QBT_TR(Connections Limits)QBT_TR</legend>
<table>
<tr>
<td>
<input type="checkbox" id="max_connec_checkbox" onClick="updateMaxConnecEnabled();"/>
<label for="max_connec_checkbox">QBT_TR(Global maximum number of connections:)QBT_TR</label>
</td>
<td><input type="text" id="max_connec_value" style="width: 4em;"/></td>
</tr>
<tr>
<td>
<input type="checkbox" id="max_connec_per_torrent_checkbox" onClick="updateMaxConnecPerTorrentEnabled();"/>
<label for="max_connec_per_torrent_checkbox">QBT_TR(Maximum number of connections per torrent:)QBT_TR</label>
</td>
<td><input type="text" id="max_connec_per_torrent_value" style="width: 4em;"/></td>
</tr>
<tr>
<td>
<input type="checkbox" id="max_uploads_checkbox" onClick="updateMaxUploadsEnabled();"/>
<label for="max_uploads_checkbox">QBT_TR(Global maximum number of upload slots:)QBT_TR</label>
</td>
<td><input type="text" id="max_uploads_value" style="width: 4em;"/></td>
</tr>
<tr>
<td>
<input type="checkbox" id="max_uploads_per_torrent_checkbox" onClick="updateMaxUploadsPerTorrentEnabled();"/>
<label for="max_uploads_per_torrent_checkbox">QBT_TR(Maximum number of upload slots per torrent:)QBT_TR</label>
</td>
<td><input type="text" id="max_uploads_per_torrent_value" style="width: 4em;"/></td>
</tr>
</table>
</fieldset>
<fieldset class="settings">
<legend>QBT_TR(Global Rate Limits)QBT_TR</legend>
<table>
<tr>
<td>
<input type="checkbox" id="up_limit_checkbox" onClick="updateUpLimitEnabled();"/>
<label for ="up_limit_checkbox">QBT_TR(Upload:)QBT_TR</label>
</td>
<td><input type="text" id="up_limit_value" style="width: 4em;"/>&nbsp;&nbsp;QBT_TR(KiB/s)QBT_TR</td>
</tr>
<tr>
<td>
<input type="checkbox" id="dl_limit_checkbox" onClick="updateDlLimitEnabled();"/>
<label for="dl_limit_checkbox">QBT_TR(Download:)QBT_TR</label>
</td>
<td><input type="text" id="dl_limit_value" style="width: 4em;"/>&nbsp;&nbsp;QBT_TR(KiB/s)QBT_TR</td>
</tr>
</table>
<fieldset class="settings">
<legend>QBT_TR(Options)QBT_TR</legend>
<input type="checkbox" id="enable_utp_checkbox"/>
<label for="enable_utp_checkbox">QBT_TR(Enable bandwidth management (uTP))QBT_TR</label><br/>
<input type="checkbox" id="limit_utp_rate_checkbox"/>
<label for="limit_utp_rate_checkbox">QBT_TR(Apply rate limit to uTP connections)QBT_TR</label><br/>
<input type="checkbox" id="limit_tcp_overhead_checkbox"/>
<label for="limit_tcp_overhead_checkbox">QBT_TR(Apply rate limit to transport overhead)QBT_TR</label><br/>
</fieldset>
</fieldset>
<fieldset class="settings">
<legend>QBT_TR(Alternative Global Rate Limits)QBT_TR</legend>
<table>
<tr>
<td>
QBT_TR(Upload:)QBT_TR
</td>
<td><input type="text" id="alt_up_limit_value" style="width: 4em;"/>&nbsp;&nbsp;QBT_TR(KiB/s)QBT_TR</td>
</tr>
<tr>
<td>
QBT_TR(Download:)QBT_TR
</td>
<td><input type="text" id="alt_dl_limit_value" style="width: 4em;"/>&nbsp;&nbsp;QBT_TR(KiB/s)QBT_TR</td>
</tr>
</table>
<fieldset class="settings">
<legend><input type="checkbox" id="limit_sheduling_checkbox" onClick="updateSchedulingEnabled();"/>
<label for="limit_sheduling_checkbox">QBT_TR(Schedule the use of alternative rate limits)QBT_TR</label></legend>
QBT_TR(from)QBT_TR
<input type="text" id="schedule_from_hour" style="width: 1.5em;"/>:<input type="text" id="schedule_from_min" style="width: 1.5em;"/>
QBT_TR(to)QBT_TR
<input type="text" id="schedule_to_hour" style="width: 1.5em;"/>:<input type="text" id="schedule_to_min" style="width: 1.5em;"/>
<br/>
QBT_TR(When:)QBT_TR
<select id="schedule_freq_select">
<option value="0">QBT_TR(Every day)QBT_TR</option>
<option value="1">QBT_TR(Week days)QBT_TR</option>
<option value="2">QBT_TR(Week ends)QBT_TR</option>
<option value="3">QBT_TR(Monday)QBT_TR</option>
<option value="4">QBT_TR(Tuesday)QBT_TR</option>
<option value="5">QBT_TR(Wednesday)QBT_TR</option>
<option value="6">QBT_TR(Thursday)QBT_TR</option>
<option value="7">QBT_TR(Friday)QBT_TR</option>
<option value="8">QBT_TR(Saturday)QBT_TR</option>
<option value="9">QBT_TR(Sunday)QBT_TR</option>
</select>
</br/>
</fieldset>
</fieldset>
</div>
<div id="BittorrentTab" class="PrefTab invisible">
<fieldset class="settings">
<legend>QBT_TR(Privacy)QBT_TR</legend>
<input type="checkbox" id="dht_checkbox"/>
<label for="dht_checkbox">QBT_TR(Enable DHT (decentralized network) to find more peers)QBT_TR</label><br/>
<input type="checkbox" id="pex_checkbox"/>
<label for="pex_checkbox">QBT_TR(Enable Peer Exchange (PeX) to find more peers)QBT_TR</label><br/>
<input type="checkbox" id="lsd_checkbox"/>
<label for="lsd_checkbox">QBT_TR(Enable Local Peer Discovery to find more peers)QBT_TR</label><br/>
<label for="encryption_select">QBT_TR(Encryption mode:)QBT_TR</label>
<select id="encryption_select">
<option value="0">QBT_TR(Prefer encryption)QBT_TR</option>
<option value="1">QBT_TR(Require encryption)QBT_TR</option>
<option value="2">QBT_TR(Disable encryption)QBT_TR</option>
</select><br/>
<input type="checkbox" id="anonymous_mode_checkbox" onClick="toggleAnonymousMode()"/>
<label for="anonymous_mode_checkbox">QBT_TR(Enable anonymous mode)QBT_TR (<a href="https://github.com/qbittorrent/qBittorrent/wiki/Anonymous-Mode">More information</a>)</label><br/>
</fieldset>
</div>
<div id="DownloadsTab" class="PrefTab invisible">
<div id="DownloadsTab" class="PrefTab">
<fieldset class="settings">
<legend>QBT_TR(Hard Disk)QBT_TR</legend>
<div class="formRow">
@ -196,41 +63,51 @@
<li>%n: QBT_TR(Torrent name)QBT_TR</li>
</ul></i>
</fieldset>
</div>
<div id="ConnectionTab" class="PrefTab invisible">
<fieldset class="settings">
<legend>QBT_TR(Listening Port)QBT_TR</legend>
<label for="port_value">QBT_TR(Port used for incoming connections:)QBT_TR</label>
<input type="text" id="port_value" style="width: 4em;"/><br/>
<input type="checkbox" id="upnp_checkbox"/>
<label for="upnp_checkbox">QBT_TR(Use UPnP / NAT-PMP port forwarding from my router)QBT_TR</label>
</fieldset>
<fieldset class="settings">
<legend>QBT_TR(Torrent Queueing)QBT_TR</legend>
<input type="checkbox" id="queueing_checkbox" onclick="updateQueueingSystem();"/>
<label for="queueing_checkbox">QBT_TR(Torrent Queueing)QBT_TR</label><br/>
<div class="formRow">
<label for="max_active_dl_value" style="margin-left: 20px;" class="leftLabelLarge">QBT_TR(Maximum active downloads:)QBT_TR</label>
<input type="text" id="max_active_dl_value" style="width: 4em;"/>
</div>
<div class="formRow">
<label for="max_active_up_value" style="margin-left: 20px;" class="leftLabelLarge">QBT_TR(Maximum active uploads:)QBT_TR</label>
<input type="text" id="max_active_up_value" style="width: 4em;"/>
</div>
<div class="formRow">
<label for="max_active_to_value" style="margin-left: 20px;" class="leftLabelLarge">QBT_TR(Maximum active torrents:)QBT_TR</label>
<input type="text" id="max_active_to_value" style="width: 4em;"/>
</div>
<div class="formRow">
<input type="checkbox" id="dont_count_slow_torrents_checkbox"/>
<label for="dont_count_slow_torrents_checkbox">QBT_TR(Do not count slow torrents in these limits)QBT_TR</label>
</div>
<legend>QBT_TR(Connections Limits)QBT_TR</legend>
<table>
<tr>
<td>
<input type="checkbox" id="max_connec_checkbox" onClick="updateMaxConnecEnabled();"/>
<label for="max_connec_checkbox">QBT_TR(Global maximum number of connections:)QBT_TR</label>
</td>
<td><input type="text" id="max_connec_value" style="width: 4em;"/></td>
</tr>
<tr>
<td>
<input type="checkbox" id="max_connec_per_torrent_checkbox" onClick="updateMaxConnecPerTorrentEnabled();"/>
<label for="max_connec_per_torrent_checkbox">QBT_TR(Maximum number of connections per torrent:)QBT_TR</label>
</td>
<td><input type="text" id="max_connec_per_torrent_value" style="width: 4em;"/></td>
</tr>
<tr>
<td>
<input type="checkbox" id="max_uploads_checkbox" onClick="updateMaxUploadsEnabled();"/>
<label for="max_uploads_checkbox">QBT_TR(Global maximum number of upload slots:)QBT_TR</label>
</td>
<td><input type="text" id="max_uploads_value" style="width: 4em;"/></td>
</tr>
<tr>
<td>
<input type="checkbox" id="max_uploads_per_torrent_checkbox" onClick="updateMaxUploadsPerTorrentEnabled();"/>
<label for="max_uploads_per_torrent_checkbox">QBT_TR(Maximum number of upload slots per torrent:)QBT_TR</label>
</td>
<td><input type="text" id="max_uploads_per_torrent_value" style="width: 4em;"/></td>
</tr>
</table>
</fieldset>
</div>
<div id="FilterTab" class="PrefTab invisible">
<fieldset class="settings">
<legend>QBT_TR(IP Filtering)QBT_TR</legend>
<input type="checkbox" id="ipfilter_enabled_checkbox" onclick="updateFilterSettings();"/>
<label for="ipfilter_enabled_checkbox">QBT_TR(IP Filtering)QBT_TR</label><br/>
<label for="ipfilter_text" style="margin-left: 20px;">QBT_TR(Filter path (.dat, .p2p, .p2b):)QBT_TR</label>
<input type="text" id="ipfilter_text"/>
</fieldset>
</div>
<div id="ProxyTab" class="PrefTab invisible">
<fieldset class="settings">
<legend>QBT_TR(Proxy Server)QBT_TR</legend>
<div class="formRow">
@ -256,7 +133,6 @@
</div>
<input type="checkbox" id="peer_proxy_auth_checkbox" onclick="updatePeerProxyAuthSettings();"/>
<label for="peer_proxy_auth_checkbox">QBT_TR(Authentication)QBT_TR</label><br/>
<div class="formRow">
<label for="peer_proxy_username_text" class="leftLabelLarge">QBT_TR(Username:)QBT_TR</label>
<input type="text" id="peer_proxy_username_text" />
@ -266,6 +142,129 @@
<input type="password" id="peer_proxy_password_text" />
</div>
</fieldset>
<fieldset class="settings">
<legend>QBT_TR(IP Filtering)QBT_TR</legend>
<input type="checkbox" id="ipfilter_enabled_checkbox" onclick="updateFilterSettings();"/>
<label for="ipfilter_enabled_checkbox">QBT_TR(IP Filtering)QBT_TR</label><br/>
<label for="ipfilter_text" style="margin-left: 20px;">QBT_TR(Filter path (.dat, .p2p, .p2b):)QBT_TR</label>
<input type="text" id="ipfilter_text"/>
</fieldset>
</div>
<div id="SpeedTab" class="PrefTab invisible">
<fieldset class="settings">
<legend>QBT_TR(Global Rate Limits)QBT_TR</legend>
<table>
<tr>
<td>
<input type="checkbox" id="up_limit_checkbox" onClick="updateUpLimitEnabled();"/>
<label for ="up_limit_checkbox">QBT_TR(Upload:)QBT_TR</label>
</td>
<td><input type="text" id="up_limit_value" style="width: 4em;"/>&nbsp;&nbsp;QBT_TR(KiB/s)QBT_TR</td>
</tr>
<tr>
<td>
<input type="checkbox" id="dl_limit_checkbox" onClick="updateDlLimitEnabled();"/>
<label for="dl_limit_checkbox">QBT_TR(Download:)QBT_TR</label>
</td>
<td><input type="text" id="dl_limit_value" style="width: 4em;"/>&nbsp;&nbsp;QBT_TR(KiB/s)QBT_TR</td>
</tr>
</table>
<fieldset class="settings">
<legend>QBT_TR(Options)QBT_TR</legend>
<input type="checkbox" id="enable_utp_checkbox"/>
<label for="enable_utp_checkbox">QBT_TR(Enable bandwidth management (uTP))QBT_TR</label><br/>
<input type="checkbox" id="limit_utp_rate_checkbox"/>
<label for="limit_utp_rate_checkbox">QBT_TR(Apply rate limit to uTP connections)QBT_TR</label><br/>
<input type="checkbox" id="limit_tcp_overhead_checkbox"/>
<label for="limit_tcp_overhead_checkbox">QBT_TR(Apply rate limit to transport overhead)QBT_TR</label><br/>
</fieldset>
</fieldset>
<fieldset class="settings">
<legend>QBT_TR(Alternative Global Rate Limits)QBT_TR</legend>
<table>
<tr>
<td>
QBT_TR(Upload:)QBT_TR
</td>
<td><input type="text" id="alt_up_limit_value" style="width: 4em;"/>&nbsp;&nbsp;QBT_TR(KiB/s)QBT_TR</td>
</tr>
<tr>
<td>
QBT_TR(Download:)QBT_TR
</td>
<td><input type="text" id="alt_dl_limit_value" style="width: 4em;"/>&nbsp;&nbsp;QBT_TR(KiB/s)QBT_TR</td>
</tr>
</table>
<fieldset class="settings">
<legend><input type="checkbox" id="limit_sheduling_checkbox" onClick="updateSchedulingEnabled();"/>
<label for="limit_sheduling_checkbox">QBT_TR(Schedule the use of alternative rate limits)QBT_TR</label></legend>
QBT_TR(from)QBT_TR
<input type="text" id="schedule_from_hour" style="width: 1.5em;"/>:<input type="text" id="schedule_from_min" style="width: 1.5em;"/>
QBT_TR(to)QBT_TR
<input type="text" id="schedule_to_hour" style="width: 1.5em;"/>:<input type="text" id="schedule_to_min" style="width: 1.5em;"/>
<br/>
QBT_TR(When:)QBT_TR
<select id="schedule_freq_select">
<option value="0">QBT_TR(Every day)QBT_TR</option>
<option value="1">QBT_TR(Week days)QBT_TR</option>
<option value="2">QBT_TR(Week ends)QBT_TR</option>
<option value="3">QBT_TR(Monday)QBT_TR</option>
<option value="4">QBT_TR(Tuesday)QBT_TR</option>
<option value="5">QBT_TR(Wednesday)QBT_TR</option>
<option value="6">QBT_TR(Thursday)QBT_TR</option>
<option value="7">QBT_TR(Friday)QBT_TR</option>
<option value="8">QBT_TR(Saturday)QBT_TR</option>
<option value="9">QBT_TR(Sunday)QBT_TR</option>
</select>
</br/>
</fieldset>
</fieldset>
</div>
<div id="BittorrentTab" class="PrefTab invisible">
<fieldset class="settings">
<legend>QBT_TR(Privacy)QBT_TR</legend>
<input type="checkbox" id="dht_checkbox"/>
<label for="dht_checkbox">QBT_TR(Enable DHT (decentralized network) to find more peers)QBT_TR</label><br/>
<input type="checkbox" id="pex_checkbox"/>
<label for="pex_checkbox">QBT_TR(Enable Peer Exchange (PeX) to find more peers)QBT_TR</label><br/>
<input type="checkbox" id="lsd_checkbox"/>
<label for="lsd_checkbox">QBT_TR(Enable Local Peer Discovery to find more peers)QBT_TR</label><br/>
<label for="encryption_select">QBT_TR(Encryption mode:)QBT_TR</label>
<select id="encryption_select">
<option value="0">QBT_TR(Prefer encryption)QBT_TR</option>
<option value="1">QBT_TR(Require encryption)QBT_TR</option>
<option value="2">QBT_TR(Disable encryption)QBT_TR</option>
</select><br/>
<input type="checkbox" id="anonymous_mode_checkbox" onClick="toggleAnonymousMode()"/>
<label for="anonymous_mode_checkbox">QBT_TR(Enable anonymous mode)QBT_TR (<a href="https://github.com/qbittorrent/qBittorrent/wiki/Anonymous-Mode">More information</a>)</label><br/>
</fieldset>
<fieldset class="settings">
<legend>QBT_TR(Torrent Queueing)QBT_TR</legend>
<input type="checkbox" id="queueing_checkbox" onclick="updateQueueingSystem();"/>
<label for="queueing_checkbox">QBT_TR(Torrent Queueing)QBT_TR</label><br/>
<div class="formRow">
<label for="max_active_dl_value" style="margin-left: 20px;" class="leftLabelLarge">QBT_TR(Maximum active downloads:)QBT_TR</label>
<input type="text" id="max_active_dl_value" style="width: 4em;"/>
</div>
<div class="formRow">
<label for="max_active_up_value" style="margin-left: 20px;" class="leftLabelLarge">QBT_TR(Maximum active uploads:)QBT_TR</label>
<input type="text" id="max_active_up_value" style="width: 4em;"/>
</div>
<div class="formRow">
<label for="max_active_to_value" style="margin-left: 20px;" class="leftLabelLarge">QBT_TR(Maximum active torrents:)QBT_TR</label>
<input type="text" id="max_active_to_value" style="width: 4em;"/>
</div>
<div class="formRow">
<input type="checkbox" id="dont_count_slow_torrents_checkbox"/>
<label for="dont_count_slow_torrents_checkbox">QBT_TR(Do not count slow torrents in these limits)QBT_TR</label>
</div>
</fieldset>
</div>
<div id="WebUITab" class="PrefTab invisible">

View file

@ -89,7 +89,6 @@ window.addEvent('load', function () {
width : null,
resizeLimit : [100, 300]
});
MochaUI.Desktop.setDesktopSize();
setFilter = function (f) {
// Visually Select the right filter
@ -129,10 +128,23 @@ window.addEvent('load', function () {
});
initializeWindows();
// Show Top Toolbar is enabled by default
if (localStorage.getItem('show_top_toolbar') == null)
var showTopToolbar = true;
else
var showTopToolbar = localStorage.getItem('show_top_toolbar') == "true";
if (!showTopToolbar) {
$('showTopToolbarLink').firstChild.style.opacity = '0';
$('mochaToolbar').addClass('invisible');
}
var speedInTitle = localStorage.getItem('speed_in_browser_title_bar') == "true";
if (!speedInTitle)
$('speedInBrowserTitleBarLink').firstChild.style.opacity = '0';
// After Show Top Toolbar
MochaUI.Desktop.setDesktopSize();
var syncMainDataLastResponseId = 0;
var serverState = {};
@ -218,10 +230,12 @@ window.addEvent('load', function () {
myTable.columns['priority'].force_hide = !queueing_enabled;
myTable.updateColumn('priority');
if (queueing_enabled) {
$('queueingLinks').removeClass('invisible');
$('queueingButtons').removeClass('invisible');
$('queueingMenuItems').removeClass('invisible');
}
else {
$('queueingLinks').addClass('invisible');
$('queueingButtons').addClass('invisible');
$('queueingMenuItems').addClass('invisible');
}
@ -269,6 +283,20 @@ window.addEvent('load', function () {
updateMainData();
};
$('showTopToolbarLink').addEvent('click', function(e) {
showTopToolbar = !showTopToolbar;
localStorage.setItem('show_top_toolbar', showTopToolbar.toString());
if (showTopToolbar) {
$('showTopToolbarLink').firstChild.style.opacity = '1';
$('mochaToolbar').removeClass('invisible');
}
else {
$('showTopToolbarLink').firstChild.style.opacity = '0';
$('mochaToolbar').addClass('invisible');
}
MochaUI.Desktop.setDesktopSize();
});
$('speedInBrowserTitleBarLink').addEvent('click', function(e) {
speedInTitle = !speedInTitle;
localStorage.setItem('speed_in_browser_title_bar', speedInTitle.toString());

View file

@ -49,9 +49,9 @@ var dynamicTable = new Class({
},
initColumns : function () {
this.newColumn('priority', 'width: 30px; cursor: pointer', '#');
this.newColumn('state_icon', 'width: 16px', '');
this.newColumn('name', 'min-width: 200px; cursor: pointer', 'QBT_TR(Name)QBT_TR');
this.newColumn('priority', 'width: 90px; cursor: pointer', '#');
this.newColumn('size', 'width: 100px; cursor: pointer', 'QBT_TR(Size)QBT_TR');
this.newColumn('progress', 'width: 80px; cursor: pointer', 'QBT_TR(Done)QBT_TR');
this.newColumn('num_seeds', 'width: 100px; cursor: pointer', 'QBT_TR(Seeds)QBT_TR');
@ -507,6 +507,10 @@ var dynamicTable = new Class({
state = "queued";
else if (state == "checkingUP" || state == "checkingDL")
state = "checking";
else if (state == "forcedDL" || state == "metaDL")
state = "downloading";
else if (state == "forcedUP")
state = "uploading";
var img_path = 'images/skin/' + state + '.png';
@ -522,12 +526,6 @@ var dynamicTable = new Class({
}));
};
// name
this.columns['name'].updateTd = function (td, row) {
td.set('html', escapeHtml(this.getRowValue(row)));
};
// priority
this.columns['priority'].updateTd = function (td, row) {
@ -548,6 +546,12 @@ var dynamicTable = new Class({
else return 0;
};
// name
this.columns['name'].updateTd = function (td, row) {
td.set('html', escapeHtml(this.getRowValue(row)));
};
// size
this.columns['size'].updateTd = function (td, row) {

View file

@ -366,8 +366,8 @@ initializeWindows = function() {
title: 'QBT_TR(About)QBT_TR',
loadMethod: 'xhr',
contentURL: 'about.html',
width: 650,
height: 200,
width: 550,
height: 290,
padding: 10
});
});
@ -385,6 +385,7 @@ initializeWindows = function() {
addClickEvent('shutdown', function(e) {
new Event(e).stop();
if (confirm('QBT_TR(Are you sure you want to quit qBittorrent?)QBT_TR')) {
new Request({
url: 'command/shutdown',
onSuccess: function() {
@ -392,6 +393,7 @@ initializeWindows = function() {
stop();
}
}).send();
}
});
// Deactivate menu header links