Browse Source

Switch built-in Web UI html to HTML5

adaptive-webui-19844
Vladimir Golovnev (Glassez) 7 years ago
parent
commit
bb683bd393
No known key found for this signature in database
GPG Key ID: 52A2C7DEE2DFA6F7
  1. 14
      src/base/http/types.h
  2. 6
      src/webui/abstractwebapplication.cpp
  3. 16
      src/webui/www/private/index.html
  4. 6
      src/webui/www/private/login.html
  5. 2
      src/webui/www/public/about.html
  6. 8
      src/webui/www/public/addtrackers.html
  7. 4
      src/webui/www/public/confirmdeletion.html
  8. 24
      src/webui/www/public/download.html
  9. 4
      src/webui/www/public/downloadlimit.html
  10. 18
      src/webui/www/public/filters.html
  11. 4
      src/webui/www/public/newcategory.html
  12. 4
      src/webui/www/public/preferences.html
  13. 10
      src/webui/www/public/preferences_content.html
  14. 4
      src/webui/www/public/properties_content.html
  15. 4
      src/webui/www/public/rename.html
  16. 10
      src/webui/www/public/scripts/client.js
  17. 4
      src/webui/www/public/setlocation.html
  18. 18
      src/webui/www/public/upload.html
  19. 4
      src/webui/www/public/uploadlimit.html

14
src/base/http/types.h

@ -37,6 +37,9 @@
namespace Http namespace Http
{ {
const char METHOD_GET[] = "GET";
const char METHOD_POST[] = "POST";
const char HEADER_CACHE_CONTROL[] = "cache-control"; const char HEADER_CACHE_CONTROL[] = "cache-control";
const char HEADER_CONTENT_ENCODING[] = "content-encoding"; const char HEADER_CONTENT_ENCODING[] = "content-encoding";
const char HEADER_CONTENT_LENGTH[] = "content-length"; const char HEADER_CONTENT_LENGTH[] = "content-length";
@ -52,13 +55,14 @@ namespace Http
const char HEADER_X_FRAME_OPTIONS[] = "x-frame-options"; const char HEADER_X_FRAME_OPTIONS[] = "x-frame-options";
const char HEADER_X_XSS_PROTECTION[] = "x-xss-protection"; const char HEADER_X_XSS_PROTECTION[] = "x-xss-protection";
const char CONTENT_TYPE_CSS[] = "text/css; charset=UTF-8"; const char CONTENT_TYPE_HTML[] = "text/html";
const char CONTENT_TYPE_GIF[] = "image/gif"; const char CONTENT_TYPE_JS[] = "application/javascript";
const char CONTENT_TYPE_HTML[] = "text/html; charset=UTF-8";
const char CONTENT_TYPE_JS[] = "application/javascript; charset=UTF-8";
const char CONTENT_TYPE_JSON[] = "application/json"; const char CONTENT_TYPE_JSON[] = "application/json";
const char CONTENT_TYPE_BMP[] = "image/bmp";
const char CONTENT_TYPE_GIF[] = "image/gif";
const char CONTENT_TYPE_JPEG[] = "image/jpeg";
const char CONTENT_TYPE_PNG[] = "image/png"; const char CONTENT_TYPE_PNG[] = "image/png";
const char CONTENT_TYPE_TXT[] = "text/plain; charset=UTF-8"; const char CONTENT_TYPE_TXT[] = "text/plain";
const char CONTENT_TYPE_SVG[] = "image/svg+xml"; const char CONTENT_TYPE_SVG[] = "image/svg+xml";
// portability: "\r\n" doesn't guarantee mapping to the correct value // portability: "\r\n" doesn't guarantee mapping to the correct value

6
src/webui/abstractwebapplication.cpp

@ -225,9 +225,6 @@ bool AbstractWebApplication::readFile(const QString& path, QByteArray &data, QSt
QString dataStr = QString::fromUtf8(data.constData()); QString dataStr = QString::fromUtf8(data.constData());
translateDocument(dataStr); translateDocument(dataStr);
if (path.endsWith("about.html") || path.endsWith("index.html") || path.endsWith("client.js"))
dataStr.replace("${VERSION}", QBT_VERSION);
data = dataStr.toUtf8(); data = dataStr.toUtf8();
translatedFiles_[path] = data; // cashing translated file translatedFiles_[path] = data; // cashing translated file
} }
@ -296,6 +293,9 @@ void AbstractWebApplication::translateDocument(QString& data)
else { else {
found = false; // no more translatable strings found = false; // no more translatable strings
} }
data.replace(QLatin1String("${LANG}"), locale.left(2));
data.replace(QLatin1String("${VERSION}"), QBT_VERSION);
} }
} }

16
src/webui/www/private/index.html

@ -1,8 +1,8 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=10; IE=9; IE=8;" /> <meta http-equiv="X-UA-Compatible" content="IE=10" />
<title>qBittorrent ${VERSION} QBT_TR(Web UI)QBT_TR[CONTEXT=OptionsDialog]</title> <title>qBittorrent ${VERSION} QBT_TR(Web UI)QBT_TR[CONTEXT=OptionsDialog]</title>
<link rel="stylesheet" href="css/dynamicTable.css" type="text/css" /> <link rel="stylesheet" href="css/dynamicTable.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="css/style.css" /> <link rel="stylesheet" type="text/css" href="css/style.css" />
@ -50,12 +50,10 @@
<li class="divider"><a id="resumeLink"><img class="MyMenuIcon" alt="QBT_TR(&Resume)QBT_TR[CONTEXT=MainWindow]" src="theme/media-playback-start" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Resume)QBT_TR[CONTEXT=MainWindow]</a></li> <li class="divider"><a id="resumeLink"><img class="MyMenuIcon" alt="QBT_TR(&Resume)QBT_TR[CONTEXT=MainWindow]" src="theme/media-playback-start" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Resume)QBT_TR[CONTEXT=MainWindow]</a></li>
<li><a id="pauseLink"><img class="MyMenuIcon" src="theme/media-playback-pause" alt="QBT_TR(&Pause)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Pause)QBT_TR[CONTEXT=MainWindow]</a></li> <li><a id="pauseLink"><img class="MyMenuIcon" src="theme/media-playback-pause" alt="QBT_TR(&Pause)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Pause)QBT_TR[CONTEXT=MainWindow]</a></li>
<li class="divider"><a id="deleteLink"><img class="MyMenuIcon" src="theme/list-remove" alt="QBT_TR(&Delete)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Delete)QBT_TR[CONTEXT=MainWindow]</a></li> <li class="divider"><a id="deleteLink"><img class="MyMenuIcon" src="theme/list-remove" alt="QBT_TR(&Delete)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Delete)QBT_TR[CONTEXT=MainWindow]</a></li>
<span id="queueingLinks"> <li id="topPrioItem" class="divider"><a id="topPrioLink"><img class="MyMenuIcon" src="theme/go-top" alt="QBT_TR(Top Priority)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Top Priority)QBT_TR[CONTEXT=MainWindow]</a></li>
<li class="divider"><a id="topPrioLink"><img class="MyMenuIcon" src="theme/go-top" alt="QBT_TR(Top Priority)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Top Priority)QBT_TR[CONTEXT=MainWindow]</a></li> <li id="increasePrioItem"><a id="increasePrioLink"><img class="MyMenuIcon" src="theme/go-up" alt="QBT_TR(Increase Priority)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Increase Priority)QBT_TR[CONTEXT=MainWindow]</a></li>
<li><a id="increasePrioLink"><img class="MyMenuIcon" src="theme/go-up" alt="QBT_TR(Increase Priority)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Increase Priority)QBT_TR[CONTEXT=MainWindow]</a></li> <li id="decreasePrioItem"><a id="decreasePrioLink"><img class="MyMenuIcon" src="theme/go-down" alt="QBT_TR(Decrease Priority)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Decrease Priority)QBT_TR[CONTEXT=MainWindow]</a></li>
<li><a id="decreasePrioLink"><img class="MyMenuIcon" src="theme/go-down" alt="QBT_TR(Decrease Priority)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Decrease Priority)QBT_TR[CONTEXT=MainWindow]</a></li> <li id="bottomPrioItem"><a id="bottomPrioLink"><img class="MyMenuIcon" src="theme/go-bottom" alt="QBT_TR(Minimum Priority)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Minimum Priority)QBT_TR[CONTEXT=MainWindow]</a></li>
<li><a id="bottomPrioLink"><img class="MyMenuIcon" src="theme/go-bottom" alt="QBT_TR(Minimum Priority)QBT_TR[CONTEXT=MainWindow]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Minimum Priority)QBT_TR[CONTEXT=MainWindow]</a></li>
</span>
<li class="divider"><a id="recheckLink"><img class="MyMenuIcon" src="theme/document-edit-verify" alt="QBT_TR(Force Recheck)QBT_TR[CONTEXT=TransferListWidget]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Force recheck)QBT_TR[CONTEXT=TransferListWidget]</a></li> <li class="divider"><a id="recheckLink"><img class="MyMenuIcon" src="theme/document-edit-verify" alt="QBT_TR(Force Recheck)QBT_TR[CONTEXT=TransferListWidget]" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(Force recheck)QBT_TR[CONTEXT=TransferListWidget]</a></li>
</ul> </ul>
</li> </li>

6
src/webui/www/private/login.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>qBittorrent QBT_TR(Web UI)QBT_TR[CONTEXT=OptionsDialog]</title> <title>qBittorrent QBT_TR(Web UI)QBT_TR[CONTEXT=OptionsDialog]</title>
@ -74,7 +74,7 @@
<img src="images/skin/qbittorrent-tray.svg" alt="qBittorrent logo" style="height: 11em;"/> <img src="images/skin/qbittorrent-tray.svg" alt="qBittorrent logo" style="height: 11em;"/>
</div> </div>
<div id="formplace" class="col"> <div id="formplace" class="col">
<form id="loginform" action=""> <form id="loginform">
<div class="row"><label for="username">QBT_TR(Username)QBT_TR[CONTEXT=HttpServer]</label><br /><input type="text" id="username" name="username" /></div> <div class="row"><label for="username">QBT_TR(Username)QBT_TR[CONTEXT=HttpServer]</label><br /><input type="text" id="username" name="username" /></div>
<div class="row"><label for="password">QBT_TR(Password)QBT_TR[CONTEXT=HttpServer]</label><br /><input type="password" id="password" name="password" /></div> <div class="row"><label for="password">QBT_TR(Password)QBT_TR[CONTEXT=HttpServer]</label><br /><input type="password" id="password" name="password" /></div>
<div class="row"><input type="submit" id="login" value="QBT_TR(Login)QBT_TR[CONTEXT=HttpServer]" /></div> <div class="row"><input type="submit" id="login" value="QBT_TR(Login)QBT_TR[CONTEXT=HttpServer]" /></div>

2
src/webui/www/public/about.html

@ -1,4 +1,4 @@
<img src="images/skin/mascot.png" align="right"></img> <img src="images/skin/mascot.png" style="float: right;" alt="qBittorrent Mascot" />
<h3>qBittorrent ${VERSION} QBT_TR(Web UI)QBT_TR[CONTEXT=OptionsDialog]</h3> <h3>qBittorrent ${VERSION} QBT_TR(Web UI)QBT_TR[CONTEXT=OptionsDialog]</h3>
<p>QBT_TR(An advanced BitTorrent client programmed in C++, based on Qt toolkit and libtorrent-rasterbar.)QBT_TR[CONTEXT=about]</p> <p>QBT_TR(An advanced BitTorrent client programmed in C++, based on Qt toolkit and libtorrent-rasterbar.)QBT_TR[CONTEXT=about]</p>
<p>Copyright (c) 2011-2018 The qBittorrent project</p> <p>Copyright (c) 2011-2018 The qBittorrent project</p>

8
src/webui/www/public/addtrackers.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>QBT_TR(Trackers addition dialog)QBT_TR[CONTEXT=TrackersAdditionDlg]</title> <title>QBT_TR(Trackers addition dialog)QBT_TR[CONTEXT=TrackersAdditionDlg]</title>
@ -25,12 +25,12 @@
</script> </script>
</head> </head>
<body> <body>
<center> <div style="text-align: center;">
<br/> <br/>
<h2 class="vcenter">QBT_TR(List of trackers to add (one per line):)QBT_TR[CONTEXT=TrackersAdditionDlg]</h2> <h2 class="vcenter">QBT_TR(List of trackers to add (one per line):)QBT_TR[CONTEXT=TrackersAdditionDlg]</h2>
<textarea name="list" id="trackersUrls" rows="10" cols="1"></textarea> <textarea name="list" id="trackersUrls" rows="10" cols="1"></textarea>
<br/> <br/>
<input type="button" value="QBT_TR(Add)QBT_TR[CONTEXT=HttpServer]" id="addTrackersButton"/> <input type="button" value="QBT_TR(Add)QBT_TR[CONTEXT=HttpServer]" id="addTrackersButton"/>
</center> </div>
</body> </body>
</html> </html>

4
src/webui/www/public/confirmdeletion.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>QBT_TR(Deletion confirmation - qBittorrent)QBT_TR[CONTEXT=confirmDeletionDlg]</title> <title>QBT_TR(Deletion confirmation - qBittorrent)QBT_TR[CONTEXT=confirmDeletionDlg]</title>

24
src/webui/www/public/download.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>QBT_TR(Add Torrent Links)QBT_TR[CONTEXT=downloadFromURL]</title> <title>QBT_TR(Add Torrent Links)QBT_TR[CONTEXT=downloadFromURL]</title>
@ -11,7 +11,7 @@
<body> <body>
<iframe id="download_frame" name="download_frame" class="invisible" src="javascript:false;"></iframe> <iframe id="download_frame" name="download_frame" class="invisible" src="javascript:false;"></iframe>
<form action="command/download" enctype="multipart/form-data" method="post" id="downloadForm" style="text-align: center;" target="download_frame"> <form action="command/download" enctype="multipart/form-data" method="post" id="downloadForm" style="text-align: center;" target="download_frame">
<center> <div style="text-align: center;">
<br/> <br/>
<h2 class="vcenter">QBT_TR(Download Torrents from their URLs or Magnet links)QBT_TR[CONTEXT=HttpServer]</h2> <h2 class="vcenter">QBT_TR(Download Torrents from their URLs or Magnet links)QBT_TR[CONTEXT=HttpServer]</h2>
<textarea id="urls" rows="10" name="urls"></textarea> <textarea id="urls" rows="10" name="urls"></textarea>
@ -27,7 +27,7 @@
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="rename" class="leftLabelLarge">QBT_TR(Rename torrent)QBT_TR[CONTEXT=HttpServer]</label> <label for="rename" class="leftLabelLarge">QBT_TR(Rename torrent)QBT_TR[CONTEXT=HttpServer]</label>
<input type="text" name="rename" style="width: 16em;"/> <input type="text" id="rename" name="rename" style="width: 16em;"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="category" class="leftLabelLarge">QBT_TR(Category:)QBT_TR[CONTEXT=AddNewTorrentDialog]</label> <label for="category" class="leftLabelLarge">QBT_TR(Category:)QBT_TR[CONTEXT=AddNewTorrentDialog]</label>
@ -40,33 +40,33 @@
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="skip_checking" class="leftLabelLarge">QBT_TR(Skip hash check)QBT_TR[CONTEXT=AddNewTorrentDialog]</label> <label for="skip_checking" class="leftLabelLarge">QBT_TR(Skip hash check)QBT_TR[CONTEXT=AddNewTorrentDialog]</label>
<input type="checkbox" name="skip_checking" value="true"/> <input type="checkbox" id="skip_checking" name="skip_checking" value="true"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="root_folder" class="leftLabelLarge">QBT_TR(Create subfolder)QBT_TR[CONTEXT=AddNewTorrentDialog]</label> <label for="root_folder" class="leftLabelLarge">QBT_TR(Create subfolder)QBT_TR[CONTEXT=AddNewTorrentDialog]</label>
<input type="checkbox" name="root_folder" value="true" checked="checked"/> <input type="checkbox" id="root_folder" name="root_folder" value="true" checked="checked"/>
</div>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="sequentialDownload" class="leftLabelLarge">QBT_TR(Download in sequential order)QBT_TR[CONTEXT=TransferListWidget]</label> <label for="sequentialDownload" class="leftLabelLarge">QBT_TR(Download in sequential order)QBT_TR[CONTEXT=TransferListWidget]</label>
<input type="checkbox" name="sequentialDownload" value="true"/> <input type="checkbox" id="sequentialDownload" name="sequentialDownload" value="true"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="firstLastPiecePrio" class="leftLabelLarge">QBT_TR(Download first and last pieces first)QBT_TR[CONTEXT=TransferListWidget]</label> <label for="firstLastPiecePrio" class="leftLabelLarge">QBT_TR(Download first and last pieces first)QBT_TR[CONTEXT=TransferListWidget]</label>
<input type="checkbox" name="firstLastPiecePrio" value="true"/> <input type="checkbox" id="firstLastPiecePrio" name="firstLastPiecePrio" value="true"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="dlLimit" class="leftLabelLarge">QBT_TR(Limit download rate)QBT_TR[CONTEXT=HttpServer]</label> <label for="dlLimit" class="leftLabelLarge">QBT_TR(Limit download rate)QBT_TR[CONTEXT=HttpServer]</label>
<input type="text" name="dlLimit" style="width: 16em;" placeholder="Bytes/s"/> <input type="text" id="dlLimit" name="dlLimit" style="width: 16em;" placeholder="Bytes/s"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="upLimit" class="leftLabelLarge">QBT_TR(Limit upload rate)QBT_TR[CONTEXT=HttpServer]</label> <label for="upLimit" class="leftLabelLarge">QBT_TR(Limit upload rate)QBT_TR[CONTEXT=HttpServer]</label>
<input type="text" name="upLimit" style="width: 16em;" placeholder="Bytes/s"/> <input type="text" id="upLimit" name="upLimit" style="width: 16em;" placeholder="Bytes/s"/>
</div> </div>
<div id="submitbutton" style="margin-top: 12px; text-align: center;"> <div id="submitbutton" style="margin-top: 12px; text-align: center;">
<button type="submit" id="submitButton">QBT_TR(Download)QBT_TR[CONTEXT=downloadFromURL]</button> <button type="submit" id="submitButton">QBT_TR(Download)QBT_TR[CONTEXT=downloadFromURL]</button>
</div> </div>
</center> </fieldset>
</div>
</form> </form>
<script type="text/javascript"> <script type="text/javascript">

4
src/webui/www/public/downloadlimit.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>QBT_TR(Torrent Download Speed Limiting)QBT_TR[CONTEXT=TransferListWidget]</title> <title>QBT_TR(Torrent Download Speed Limiting)QBT_TR[CONTEXT=TransferListWidget]</title>

18
src/webui/www/public/filters.html

@ -1,14 +1,14 @@
<span class="filterTitle">QBT_TR(Status)QBT_TR[CONTEXT=TransferListFiltersWidget]</span> <span class="filterTitle">QBT_TR(Status)QBT_TR[CONTEXT=TransferListFiltersWidget]</span>
<ul class="filterList"> <ul class="filterList">
<li id="all_filter"><a href="#" onclick="setFilter('all');return false;"><img src="images/skin/filterall.png"/>QBT_TR(All (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li> <li id="all_filter"><a href="#" onclick="setFilter('all');return false;"><img src="images/skin/filterall.png" alt="All" />QBT_TR(All (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li>
<li id="downloading_filter"><a href="#" onclick="setFilter('downloading');return false;"><img src="images/skin/downloading.png"/>QBT_TR(Downloading (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li> <li id="downloading_filter"><a href="#" onclick="setFilter('downloading');return false;"><img src="images/skin/downloading.png" alt="Downloading" />QBT_TR(Downloading (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li>
<li id="seeding_filter"><a href="#" onclick="setFilter('seeding');return false;"><img src="images/skin/uploading.png"/>QBT_TR(Seeding (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li> <li id="seeding_filter"><a href="#" onclick="setFilter('seeding');return false;"><img src="images/skin/uploading.png" alt="Seeding" />QBT_TR(Seeding (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li>
<li id="completed_filter"><a href="#" onclick="setFilter('completed');return false;"><img src="images/skin/completed.png"/>QBT_TR(Completed (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li> <li id="completed_filter"><a href="#" onclick="setFilter('completed');return false;"><img src="images/skin/completed.png" alt="Completed" />QBT_TR(Completed (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li>
<li id="resumed_filter"><a href="#" onclick="setFilter('resumed');return false;"><img src="images/skin/resumed.png"/>QBT_TR(Resumed (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li> <li id="resumed_filter"><a href="#" onclick="setFilter('resumed');return false;"><img src="images/skin/resumed.png" alt="Resumed" />QBT_TR(Resumed (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li>
<li id="paused_filter"><a href="#" onclick="setFilter('paused');return false;"><img src="images/skin/paused.png"/>QBT_TR(Paused (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li> <li id="paused_filter"><a href="#" onclick="setFilter('paused');return false;"><img src="images/skin/paused.png" alt="Paused" />QBT_TR(Paused (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li>
<li id="active_filter"><a href="#" onclick="setFilter('active');return false;"><img src="images/skin/filteractive.png"/>QBT_TR(Active (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li> <li id="active_filter"><a href="#" onclick="setFilter('active');return false;"><img src="images/skin/filteractive.png" alt="Active" />QBT_TR(Active (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li>
<li id="inactive_filter"><a href="#" onclick="setFilter('inactive');return false;"><img src="images/skin/filterinactive.png"/>QBT_TR(Inactive (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li> <li id="inactive_filter"><a href="#" onclick="setFilter('inactive');return false;"><img src="images/skin/filterinactive.png" alt="Inactive" />QBT_TR(Inactive (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li>
<li id="errored_filter"><a href="#" onclick="setFilter('errored');return false;"><img src="images/skin/error.png"/>QBT_TR(Errored (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li> <li id="errored_filter"><a href="#" onclick="setFilter('errored');return false;"><img src="images/skin/error.png" alt="Errored" />QBT_TR(Errored (0))QBT_TR[CONTEXT=StatusFiltersWidget]</a></li>
</ul> </ul>
<br/> <br/>
<span class="filterTitle">QBT_TR(Categories)QBT_TR[CONTEXT=TransferListFiltersWidget]</span> <span class="filterTitle">QBT_TR(Categories)QBT_TR[CONTEXT=TransferListFiltersWidget]</span>

4
src/webui/www/public/newcategory.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>QBT_TR(New Category)QBT_TR[CONTEXT=TransferListWidget]</title> <title>QBT_TR(New Category)QBT_TR[CONTEXT=TransferListWidget]</title>

4
src/webui/www/public/preferences.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>QBT_TR(Download from URLs)QBT_TR[CONTEXT=downloadFromURL]</title> <title>QBT_TR(Download from URLs)QBT_TR[CONTEXT=downloadFromURL]</title>

10
src/webui/www/public/preferences_content.html

@ -17,7 +17,7 @@
<label for="appendext_checkbox">QBT_TR(Append .!qB extension to incomplete files)QBT_TR[CONTEXT=OptionsDialog]</label> <label for="appendext_checkbox">QBT_TR(Append .!qB extension to incomplete files)QBT_TR[CONTEXT=OptionsDialog]</label>
</span><br/><br/> </span><br/><br/>
QBT_TR(Automatically add torrents from:)QBT_TR[CONTEXT=OptionsDialog]<br/> QBT_TR(Automatically add torrents from:)QBT_TR[CONTEXT=OptionsDialog]<br/>
<table border="1" id="watched_folders_tab"> <table id="watched_folders_tab" style="border: 1px solid black;">
<thead><tr><th>QBT_TR(Monitored Folder)QBT_TR[CONTEXT=ScanFoldersModel]</th><th>QBT_TR(Override Save Location)QBT_TR[CONTEXT=ScanFoldersModel]</th></tr></thead> <thead><tr><th>QBT_TR(Monitored Folder)QBT_TR[CONTEXT=ScanFoldersModel]</th><th>QBT_TR(Override Save Location)QBT_TR[CONTEXT=ScanFoldersModel]</th></tr></thead>
<tbody></tbody> <tbody></tbody>
<tfoot><tr> <tfoot><tr>
@ -70,7 +70,7 @@
<legend><input type="checkbox" id="autorun_checkbox" onclick="updateAutoRun();"/> <legend><input type="checkbox" id="autorun_checkbox" onclick="updateAutoRun();"/>
<label for="autorun_checkbox">QBT_TR(Run external program on torrent completion)QBT_TR[CONTEXT=OptionsDialog]</label></legend> <label for="autorun_checkbox">QBT_TR(Run external program on torrent completion)QBT_TR[CONTEXT=OptionsDialog]</label></legend>
<input type="text" id="autorunProg_txt" style="width: 400px;"/><br/> <input type="text" id="autorunProg_txt" style="width: 400px;"/><br/>
<i>QBT_TR(Supported parameters (case sensitive):)QBT_TR[CONTEXT=OptionsDialog] <div style="font-style: italic;">QBT_TR(Supported parameters (case sensitive):)QBT_TR[CONTEXT=OptionsDialog]
<ul> <ul>
<li>QBT_TR(%N: Torrent name)QBT_TR[CONTEXT=OptionsDialog]</li> <li>QBT_TR(%N: Torrent name)QBT_TR[CONTEXT=OptionsDialog]</li>
<li>QBT_TR(%L: Category)QBT_TR[CONTEXT=OptionsDialog]</li> <li>QBT_TR(%L: Category)QBT_TR[CONTEXT=OptionsDialog]</li>
@ -83,7 +83,7 @@
<li>QBT_TR(%I: Info hash)QBT_TR[CONTEXT=OptionsDialog]</li> <li>QBT_TR(%I: Info hash)QBT_TR[CONTEXT=OptionsDialog]</li>
</ul> </ul>
QBT_TR(Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N"))QBT_TR[CONTEXT=OptionsDialog] QBT_TR(Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N"))QBT_TR[CONTEXT=OptionsDialog]
</i> </div>
</fieldset> </fieldset>
</div> </div>
@ -256,7 +256,7 @@
<option value="8">QBT_TR(Saturday)QBT_TR[CONTEXT=HttpServer]</option> <option value="8">QBT_TR(Saturday)QBT_TR[CONTEXT=HttpServer]</option>
<option value="9">QBT_TR(Sunday)QBT_TR[CONTEXT=HttpServer]</option> <option value="9">QBT_TR(Sunday)QBT_TR[CONTEXT=HttpServer]</option>
</select> </select>
</br/> <br/>
</fieldset> </fieldset>
</fieldset> </fieldset>
@ -472,7 +472,7 @@
</div> </div>
<br/> <br/>
<center><input type="button" value="QBT_TR(Save)QBT_TR[CONTEXT=HttpServer]" onclick="applyPreferences();"/></center> <div style="text-align: center;"><input type="button" value="QBT_TR(Save)QBT_TR[CONTEXT=HttpServer]" onclick="applyPreferences();"/></div>
<script type="text/javascript"> <script type="text/javascript">
// Downloads tab // Downloads tab

4
src/webui/www/public/properties_content.html

@ -52,7 +52,7 @@
<table class="dynamicTable" style="width: 100%"> <table class="dynamicTable" style="width: 100%">
<thead> <thead>
<tr> <tr>
<th style="width: 30%;">QBT_TR(URL)QBT_TR[CONTEXT=TrackerList] <img src="theme/list-add" id="addTrackersPlus"/></th> <th style="width: 30%;">QBT_TR(URL)QBT_TR[CONTEXT=TrackerList] <img src="theme/list-add" id="addTrackersPlus" alt="Add Trackers" /></th>
<th style="width: 10%;">QBT_TR(Status)QBT_TR[CONTEXT=TrackerList]</th> <th style="width: 10%;">QBT_TR(Status)QBT_TR[CONTEXT=TrackerList]</th>
<th style="width: 10%;">QBT_TR(Peers)QBT_TR[CONTEXT=TrackerList]</th> <th style="width: 10%;">QBT_TR(Peers)QBT_TR[CONTEXT=TrackerList]</th>
<th style="width: 50%;">QBT_TR(Message)QBT_TR[CONTEXT=TrackerList]</th> <th style="width: 50%;">QBT_TR(Message)QBT_TR[CONTEXT=TrackerList]</th>
@ -64,7 +64,7 @@
</div> </div>
<div id="prop_peers" class="invisible"> <div id="prop_peers" class="invisible">
<div id="peers"> <div>
<div id="torrentPeersTableFixedHeaderDiv" class="dynamicTableFixedHeaderDiv"> <div id="torrentPeersTableFixedHeaderDiv" class="dynamicTableFixedHeaderDiv">
<table class="dynamicTable" style="position:relative;"> <table class="dynamicTable" style="position:relative;">
<thead> <thead>

4
src/webui/www/public/rename.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>QBT_TR(Rename)QBT_TR[CONTEXT=TransferListWidget]</title> <title>QBT_TR(Rename)QBT_TR[CONTEXT=TransferListWidget]</title>

10
src/webui/www/public/scripts/client.js

@ -407,12 +407,18 @@ window.addEvent('load', function () {
torrentsTable.columns['priority'].force_hide = !queueing_enabled; torrentsTable.columns['priority'].force_hide = !queueing_enabled;
torrentsTable.updateColumn('priority'); torrentsTable.updateColumn('priority');
if (queueing_enabled) { if (queueing_enabled) {
$('queueingLinks').removeClass('invisible'); $('topPrioItem').removeClass('invisible');
$('increasePrioItem').removeClass('invisible');
$('decreasePrioItem').removeClass('invisible');
$('bottomPrioItem').removeClass('invisible');
$('queueingButtons').removeClass('invisible'); $('queueingButtons').removeClass('invisible');
$('queueingMenuItems').removeClass('invisible'); $('queueingMenuItems').removeClass('invisible');
} }
else { else {
$('queueingLinks').addClass('invisible'); $('topPrioItem').addClass('invisible');
$('increasePrioItem').addClass('invisible');
$('decreasePrioItem').addClass('invisible');
$('bottomPrioItem').addClass('invisible');
$('queueingButtons').addClass('invisible'); $('queueingButtons').addClass('invisible');
$('queueingMenuItems').addClass('invisible'); $('queueingMenuItems').addClass('invisible');
} }

4
src/webui/www/public/setlocation.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>QBT_TR(Set location)QBT_TR[CONTEXT=HttpServer]</title> <title>QBT_TR(Set location)QBT_TR[CONTEXT=HttpServer]</title>

18
src/webui/www/public/upload.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>QBT_TR(Upload local torrent)QBT_TR[CONTEXT=HttpServer]</title> <title>QBT_TR(Upload local torrent)QBT_TR[CONTEXT=HttpServer]</title>
@ -23,7 +23,7 @@
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="rename" class="leftLabelLarge">QBT_TR(Rename torrent)QBT_TR[CONTEXT=HttpServer]</label> <label for="rename" class="leftLabelLarge">QBT_TR(Rename torrent)QBT_TR[CONTEXT=HttpServer]</label>
<input type="text" name="rename" style="width: 16em;"/> <input type="text" id="rename" name="rename" style="width: 16em;"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="category" class="leftLabelLarge">QBT_TR(Category:)QBT_TR[CONTEXT=AddNewTorrentDialog]</label> <label for="category" class="leftLabelLarge">QBT_TR(Category:)QBT_TR[CONTEXT=AddNewTorrentDialog]</label>
@ -36,27 +36,27 @@
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="skip_checking" class="leftLabelLarge">QBT_TR(Skip hash check)QBT_TR[CONTEXT=AddNewTorrentDialog]</label> <label for="skip_checking" class="leftLabelLarge">QBT_TR(Skip hash check)QBT_TR[CONTEXT=AddNewTorrentDialog]</label>
<input type="checkbox" name="skip_checking" value="true"/> <input type="checkbox" id="skip_checking" name="skip_checking" value="true"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="root_folder" class="leftLabelLarge">QBT_TR(Create subfolder)QBT_TR[CONTEXT=AddNewTorrentDialog]</label> <label for="root_folder" class="leftLabelLarge">QBT_TR(Create subfolder)QBT_TR[CONTEXT=AddNewTorrentDialog]</label>
<input type="checkbox" name="root_folder" value="true" checked="checked"/> <input type="checkbox" id="root_folder" name="root_folder" value="true" checked="checked"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="sequentialDownload" class="leftLabelLarge">QBT_TR(Download in sequential order)QBT_TR[CONTEXT=TransferListWidget]</label> <label for="sequentialDownload" class="leftLabelLarge">QBT_TR(Download in sequential order)QBT_TR[CONTEXT=TransferListWidget]</label>
<input type="checkbox" name="sequentialDownload" value="true"/> <input type="checkbox" id="sequentialDownload" name="sequentialDownload" value="true"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="firstLastPiecePrio" class="leftLabelLarge">QBT_TR(Download first and last pieces first)QBT_TR[CONTEXT=TransferListWidget]</label> <label for="firstLastPiecePrio" class="leftLabelLarge">QBT_TR(Download first and last pieces first)QBT_TR[CONTEXT=TransferListWidget]</label>
<input type="checkbox" name="firstLastPiecePrio" value="true"/> <input type="checkbox" id="firstLastPiecePrio" name="firstLastPiecePrio" value="true"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="dlLimit" class="leftLabelLarge">QBT_TR(Limit download rate)QBT_TR[CONTEXT=HttpServer]</label> <label for="dlLimit" class="leftLabelLarge">QBT_TR(Limit download rate)QBT_TR[CONTEXT=HttpServer]</label>
<input type="text" name="dlLimit" style="width: 16em;" placeholder="Bytes/s"/> <input type="text" id="dlLimit" name="dlLimit" style="width: 16em;" placeholder="Bytes/s"/>
</div> </div>
<div class="formRow"> <div class="formRow">
<label for="upLimit" class="leftLabelLarge">QBT_TR(Limit upload rate)QBT_TR[CONTEXT=HttpServer]</label> <label for="upLimit" class="leftLabelLarge">QBT_TR(Limit upload rate)QBT_TR[CONTEXT=HttpServer]</label>
<input type="text" name="upLimit" style="width: 16em;" placeholder="Bytes/s"/> <input type="text" id="upLimit" name="upLimit" style="width: 16em;" placeholder="Bytes/s"/>
</div> </div>
<div id="submitbutton" style="margin-top: 30px; text-align: center;"> <div id="submitbutton" style="margin-top: 30px; text-align: center;">
<button type="submit" style="font-size: 1em;">QBT_TR(Upload Torrents)QBT_TR[CONTEXT=HttpServer]</button> <button type="submit" style="font-size: 1em;">QBT_TR(Upload Torrents)QBT_TR[CONTEXT=HttpServer]</button>

4
src/webui/www/public/uploadlimit.html

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <html lang="${LANG}">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>QBT_TR(Torrent Upload Speed Limiting)QBT_TR[CONTEXT=TransferListWidget]</title> <title>QBT_TR(Torrent Upload Speed Limiting)QBT_TR[CONTEXT=TransferListWidget]</title>

Loading…
Cancel
Save