Merge pull request #6475 from OpenGG/master

[WebUI-API] Add "skip_checking" and "paused" to "/command/download" and "/command/upload"
This commit is contained in:
sledgehammer999 2017-04-17 17:12:24 +03:00 committed by GitHub
commit 018574e546
6 changed files with 44 additions and 4 deletions

View file

@ -192,14 +192,14 @@ QList<QByteArray> RequestParser::splitMultipartData(const QByteArray& data, cons
start = end + sepLength; // skip first boundary
while ((end = data.indexOf(sep, start)) >= 0) {
ret << data.mid(start, end - start);
ret << data.mid(start, end - EOL.length() - start);
start = end + sepLength;
}
// last or single part
sep = boundary + "--" + EOL;
if ((end = data.indexOf(sep, start)) >= 0)
ret << data.mid(start, end - start);
ret << data.mid(start, end - EOL.length() - start);
}
return ret;

View file

@ -252,7 +252,7 @@ void AbstractWebApplication::translateDocument(QString& data)
"options_imp", "Preferences", "TrackersAdditionDlg", "ScanFoldersModel",
"PropTabBar", "TorrentModel", "downloadFromURL", "MainWindow", "misc",
"StatusBar", "AboutDlg", "about", "PeerListWidget", "StatusFiltersWidget",
"CategoryFiltersList", "TransferListDelegate"
"CategoryFiltersList", "TransferListDelegate", "AddNewTorrentDialog"
};
const size_t context_count = sizeof(contexts) / sizeof(contexts[0]);
int i = 0;

View file

@ -367,6 +367,8 @@ void WebApplication::action_command_download()
CHECK_URI(0);
QString urls = request().posts["urls"];
QStringList list = urls.split('\n');
bool skipChecking = request().posts["skip_checking"] == "true";
bool addPaused = request().posts["paused"] == "true";
QString savepath = request().posts["savepath"];
QString category = request().posts["category"];
QString cookie = request().posts["cookie"];
@ -390,6 +392,11 @@ void WebApplication::action_command_download()
category = category.trimmed();
BitTorrent::AddTorrentParams params;
// TODO: Check if destination actually exists
params.skipChecking = skipChecking;
params.addPaused = addPaused;
params.savePath = savepath;
params.category = category;
@ -406,6 +413,8 @@ void WebApplication::action_command_upload()
{
qDebug() << Q_FUNC_INFO;
CHECK_URI(0);
bool skipChecking = request().posts["skip_checking"] == "true";
bool addPaused = request().posts["paused"] == "true";
QString savepath = request().posts["savepath"];
QString category = request().posts["category"];
@ -423,6 +432,11 @@ void WebApplication::action_command_upload()
}
else {
BitTorrent::AddTorrentParams params;
// TODO: Check if destination actually exists
params.skipChecking = skipChecking;
params.addPaused = addPaused;
params.savePath = savepath;
params.category = category;
if (!BitTorrent::Session::instance()->addTorrent(torrentInfo, params)) {

View file

@ -29,6 +29,15 @@
<label for="category" class="leftLabelLarge">QBT_TR(Category:)QBT_TR</label>
<input type="text" id="category" name="category" style="width: 16em;"/>
</div>
<div class="formRow">
<label for="start_torrent" class="leftLabelLarge">QBT_TR(Start torrent)QBT_TR</label>
<input type="checkbox" id="start_torrent" checked="checked" style="width: 16em;"/>
<input type="hidden" id="add_paused" name="paused" value="true" disabled="disabled"/>
</div>
<div class="formRow">
<label for="skip_checking" class="leftLabelLarge">QBT_TR(Skip hash check)QBT_TR</label>
<input type="checkbox" name="skip_checking" value="true" style="width: 16em;"/>
</div>
<div id="submitbutton" style="margin-top: 12px; text-align: center;">
<button type="submit" id="submitButton">QBT_TR(Download)QBT_TR</button>
</div>
@ -47,6 +56,10 @@ $('download_frame').addEventListener("load", function() {
if (submitted)
window.parent.closeWindows();
});
$('start_torrent').addEventListener('change', function() {
$('add_paused').disabled = $('start_torrent').checked;
});
</script>
<div id="download_spinner" class="mochaSpinner"></div>
</body>

View file

@ -97,7 +97,7 @@ initializeWindows = function() {
paddingVertical: 0,
paddingHorizontal: 0,
width: 500,
height: 200
height: 220
});
updateMainData();
});

View file

@ -25,6 +25,15 @@
<label for="category" class="leftLabelLarge">QBT_TR(Category:)QBT_TR</label>
<input type="text" id="category" name="category"/ style="width: 16em;"/>
</div>
<div class="formRow">
<label for="start_torrent" class="leftLabelLarge">QBT_TR(Start torrent)QBT_TR</label>
<input type="checkbox" id="start_torrent" checked="checked" style="width: 16em;"/>
<input type="hidden" id="add_paused" name="paused" value="true" disabled="disabled"/>
</div>
<div class="formRow">
<label for="skip_checking" class="leftLabelLarge">QBT_TR(Skip hash check)QBT_TR</label>
<input type="checkbox" name="skip_checking" value="true" style="width: 16em;"/>
</div>
<div id="submitbutton" style="margin-top: 30px; text-align: center;">
<button type="submit" style="font-size: 1em;">QBT_TR(Upload Torrents)QBT_TR</button>
</div>
@ -43,6 +52,10 @@ $('upload_frame').addEventListener("load", function() {
if (submitted)
window.parent.closeWindows();
});
$('start_torrent').addEventListener('change', function() {
$('add_paused').disabled = $('start_torrent').checked;
});
</script>
<div id="upload_spinner" class="mochaSpinner"></div>
</body>