mirror of
https://github.com/transmission/transmission.git
synced 2025-12-23 03:48:41 +00:00
(trunk web) revert the web client back to r11156 to erase the traces of the attempt to get clutch working with jQuery's GUI widgets.
This commit is contained in:
@@ -27,7 +27,6 @@ Transmission.prototype =
|
||||
this._current_search = '';
|
||||
this._torrents = { };
|
||||
this._rows = [ ];
|
||||
this._prefs = { };
|
||||
|
||||
// Initialize the clutch preferences
|
||||
Prefs.getClutchPrefs( this );
|
||||
@@ -46,7 +45,9 @@ Transmission.prototype =
|
||||
$('#filter_downloading_link').parent().bind('click', function(e){ tr.showDownloadingClicked(e); });
|
||||
$('#filter_seeding_link').parent().bind('click', function(e){ tr.showSeedingClicked(e); });
|
||||
$('#filter_paused_link').parent().bind('click', function(e){ tr.showPausedClicked(e); });
|
||||
$('#filter_finished_link').parent().bind('click', function(e){ tr.showFinishedClicked(e); });
|
||||
$('#prefs_save_button').bind('click', function(e) { tr.savePrefsClicked(e); return false;});
|
||||
$('#prefs_cancel_button').bind('click', function(e){ tr.cancelPrefsClicked(e); return false; });
|
||||
$('#stats_close_button').bind('click', function(e){ tr.closeStatsClicked(e); return false; });
|
||||
$('.inspector_tab').bind('click', function(e){ tr.inspectorTabClicked(e, this); });
|
||||
$('.file_wanted_control').live('click', function(e){ tr.fileWantedClicked(e, this); });
|
||||
$('.file_priority_control').live('click', function(e){ tr.filePriorityClicked(e, this); });
|
||||
@@ -73,7 +74,6 @@ Transmission.prototype =
|
||||
this.createSettingsMenu();
|
||||
}
|
||||
this.initTurtleDropDowns();
|
||||
this.initPrefs();
|
||||
|
||||
this._torrent_list = $('#torrent_list')[0];
|
||||
this._inspector_file_list = $('#inspector_file_list')[0];
|
||||
@@ -338,8 +338,8 @@ Transmission.prototype =
|
||||
var i, out, hour, mins, start, end, value, content;
|
||||
// Build the list of times
|
||||
out = "";
|
||||
start = $('#alt-speed-time-begin')[0];
|
||||
end = $('#alt-speed-time-end')[0];
|
||||
start = $('#turtle_start_time')[0];
|
||||
end = $('#turtle_end_time')[0];
|
||||
for (i = 0; i < 24 * 4; i++) {
|
||||
hour = parseInt(i / 4);
|
||||
mins = ((i % 4) * 15);
|
||||
@@ -632,6 +632,50 @@ Transmission.prototype =
|
||||
this.hidePrefsDialog( );
|
||||
},
|
||||
|
||||
savePrefsClicked: function(event)
|
||||
{
|
||||
// handle the clutch prefs locally
|
||||
var tr = this;
|
||||
var rate = parseInt( $('#prefs_form #refresh_rate')[0].value );
|
||||
if( rate != tr[Prefs._RefreshRate] ) {
|
||||
tr.setPref( Prefs._RefreshRate, rate );
|
||||
tr.togglePeriodicRefresh( false );
|
||||
tr.togglePeriodicRefresh( true );
|
||||
}
|
||||
|
||||
var up_bytes = parseInt( $('#prefs_form #upload_rate' )[0].value );
|
||||
var dn_bytes = parseInt( $('#prefs_form #download_rate')[0].value );
|
||||
var turtle_up_bytes = parseInt( $('#prefs_form #turtle_upload_rate' )[0].value );
|
||||
var turtle_dn_bytes = parseInt( $('#prefs_form #turtle_download_rate')[0].value );
|
||||
|
||||
// pass the new prefs upstream to the RPC server
|
||||
var o = { };
|
||||
o[RPC._StartAddedTorrent] = $('#prefs_form #auto_start')[0].checked;
|
||||
o[RPC._PeerPort] = parseInt( $('#prefs_form #port')[0].value );
|
||||
o[RPC._UpSpeedLimit] = up_bytes;
|
||||
o[RPC._DownSpeedLimit] = dn_bytes;
|
||||
o[RPC._DownloadDir] = $('#prefs_form #download_location')[0].value;
|
||||
o[RPC._UpSpeedLimited] = $('#prefs_form #limit_upload' )[0].checked;
|
||||
o[RPC._DownSpeedLimited] = $('#prefs_form #limit_download')[0].checked;
|
||||
o[RPC._Encryption] = $('#prefs_form #encryption')[0].checked
|
||||
? RPC._EncryptionRequired
|
||||
: RPC._EncryptionPreferred;
|
||||
o[RPC._TurtleDownSpeedLimit] = turtle_dn_bytes;
|
||||
o[RPC._TurtleUpSpeedLimit] = turtle_up_bytes;
|
||||
o[RPC._TurtleTimeEnabled] = $('#prefs_form #turtle_schedule')[0].checked;
|
||||
o[RPC._TurtleTimeBegin] = parseInt( $('#prefs_form #turtle_start_time').val() );
|
||||
o[RPC._TurtleTimeEnd] = parseInt( $('#prefs_form #turtle_end_time').val() );
|
||||
o[RPC._TurtleTimeDay] = parseInt( $('#prefs_form #turtle_days').val() );
|
||||
|
||||
tr.remote.savePrefs( o );
|
||||
|
||||
tr.hidePrefsDialog( );
|
||||
},
|
||||
|
||||
closeStatsClicked: function(event) {
|
||||
this.hideStatsDialog( );
|
||||
},
|
||||
|
||||
removeClicked: function( event ) {
|
||||
var tr = this;
|
||||
if( tr.isButtonEnabled( event ) ) {
|
||||
@@ -736,7 +780,6 @@ Transmission.prototype =
|
||||
case Prefs._FilterSeeding: c = '#filter_seeding_link'; break;
|
||||
case Prefs._FilterDownloading: c = '#filter_downloading_link'; break;
|
||||
case Prefs._FilterPaused: c = '#filter_paused_link'; break;
|
||||
case Prefs._FilterFinished: c = '#filter_finished_link'; break;
|
||||
}
|
||||
$(c).parent().siblings().removeClass('selected');
|
||||
$(c).parent().addClass('selected');
|
||||
@@ -760,9 +803,6 @@ Transmission.prototype =
|
||||
showPausedClicked: function(event) {
|
||||
this.setFilter( Prefs._FilterPaused );
|
||||
},
|
||||
showFinishedClicked: function(event) {
|
||||
this.setFilter( Prefs._FilterFinished );
|
||||
},
|
||||
|
||||
/*
|
||||
* 'Clutch Preferences' was clicked (iPhone only)
|
||||
@@ -829,11 +869,11 @@ Transmission.prototype =
|
||||
var tr = this;
|
||||
if (state && this._periodic_session_refresh == null) {
|
||||
// sanity check
|
||||
if( !this._prefs[Prefs._SessionRefreshRate] )
|
||||
this._prefs[Prefs._SessionRefreshRate] = 10;
|
||||
if( !this[Prefs._SessionRefreshRate] )
|
||||
this[Prefs._SessionRefreshRate] = 5;
|
||||
remote = this.remote;
|
||||
this._periodic_session_refresh = setInterval(
|
||||
function(){ tr.loadDaemonPrefs(); }, this._prefs[Prefs._SessionRefreshRate] * 1000
|
||||
function(){ tr.loadDaemonPrefs(); }, this[Prefs._SessionRefreshRate] * 1000
|
||||
);
|
||||
} else {
|
||||
clearInterval(this._periodic_session_refresh);
|
||||
@@ -861,8 +901,12 @@ Transmission.prototype =
|
||||
},
|
||||
|
||||
toggleTurtleClicked: function() {
|
||||
var key = RPC._TurtleState;
|
||||
this.setPrefIfDifferent( key, !this._prefs[key] );
|
||||
// Toggle the value
|
||||
this[Prefs._TurtleState] = !this[Prefs._TurtleState];
|
||||
// Store the result
|
||||
var args = { };
|
||||
args[RPC._TurtleState] = this[Prefs._TurtleState];
|
||||
this.remote.savePrefs( args );
|
||||
},
|
||||
|
||||
updateSelectedData: function()
|
||||
@@ -877,7 +921,7 @@ Transmission.prototype =
|
||||
updateTurtleButton: function() {
|
||||
var w = $('#turtle_button');
|
||||
var t;
|
||||
if ( this._prefs[RPC._TurtleState] ) {
|
||||
if ( this[Prefs._TurtleState] ) {
|
||||
w.addClass('turtleEnabled');
|
||||
w.removeClass('turtleDisabled');
|
||||
t = "Click to disable Temporary Speed Limits";
|
||||
@@ -897,125 +941,30 @@ Transmission.prototype =
|
||||
*
|
||||
*--------------------------------------------*/
|
||||
|
||||
showPrefsDialog: function( )
|
||||
{
|
||||
var tr = this;
|
||||
|
||||
var preferredWidth = 450;
|
||||
var preferredHeight = 400;
|
||||
var windowWidth = $(window).width();
|
||||
var windowHeight = $(window).height();
|
||||
var fullscreen = (windowWidth<=preferredWidth) || (windowHeight<=preferredHeight);
|
||||
|
||||
var args = {
|
||||
close: function(event, ui) { tr.togglePeriodicSessionRefresh( true ); },
|
||||
width: fullscreen ? windowWidth : preferredWidth,
|
||||
height: fullscreen ? windowHeight : preferredHeight,
|
||||
resizable: !fullscreen,
|
||||
draggable: !fullscreen,
|
||||
title: 'Preferences',
|
||||
hide: 'blind',
|
||||
buttons: { }
|
||||
};
|
||||
|
||||
if( fullscreen )
|
||||
args.position = [ 0, 0 ];
|
||||
else
|
||||
args.buttons = { 'Close': function() { $(this).dialog('close'); } };
|
||||
|
||||
$("#prefs_dialog" ).dialog( args );
|
||||
tr.togglePeriodicSessionRefresh( false );
|
||||
showPrefsDialog: function( ) {
|
||||
$('body').addClass('prefs_showing');
|
||||
$('#prefs_container').show();
|
||||
this.hideiPhoneAddressbar();
|
||||
if( Safari3 )
|
||||
setTimeout("$('div#prefs_container div.dialog_window').css('top', '0px');",10);
|
||||
this.updateButtonStates( );
|
||||
this.togglePeriodicSessionRefresh(false);
|
||||
},
|
||||
|
||||
prefsKeys: [ 'alt-speed-down', 'alt-speed-enabled',
|
||||
'alt-speed-time-begin', 'alt-speed-time-enabled',
|
||||
'alt-speed-time-end', 'alt-speed-time-day',
|
||||
'alt-speed-up', 'blocklist-enabled',
|
||||
'blocklist-size', 'cache-size', 'config-dir',
|
||||
'download-dir', 'dht-enabled', 'encryption',
|
||||
'idle-seeding-limit', 'idle-seeding-limit-enabled',
|
||||
'incomplete-dir', 'incomplete-dir-enabled',
|
||||
'lpd-enabled',
|
||||
'peer-limit-global', 'peer-limit-per-torrent',
|
||||
'pex-enabled',
|
||||
'peer-port', 'peer-port-random-on-start',
|
||||
'port-forwarding-enabled', 'rename-partial-files',
|
||||
'rpc-version', 'rpc-version-minimum',
|
||||
'script-torrent-done-filename',
|
||||
'script-torrent-done-enabled',
|
||||
'seedRatioLimit', 'seedRatioLimited',
|
||||
'speed-limit-down', 'speed-limit-down-enabled',
|
||||
'speed-limit-up', 'speed-limit-up-enabled',
|
||||
'start-added-torrents',
|
||||
'trash-original-torrent-files',
|
||||
'version' ],
|
||||
|
||||
setPrefIfDifferent: function( key, value ) {
|
||||
var tr = this;
|
||||
if( tr._prefs[key] != value ) {
|
||||
var args = { };
|
||||
args[key] = value;
|
||||
tr.updatePrefs( args ); // tell our local copy about the change
|
||||
tr.remote.savePrefs( args ); // tell our server about the change
|
||||
hidePrefsDialog: function( )
|
||||
{
|
||||
$('body.prefs_showing').removeClass('prefs_showing');
|
||||
if (iPhone) {
|
||||
this.hideiPhoneAddressbar();
|
||||
$('#prefs_container').hide();
|
||||
} else if (Safari3) {
|
||||
$('div#prefs_container div.dialog_window').css('top', '-425px');
|
||||
setTimeout("$('#prefs_container').hide();",500);
|
||||
} else {
|
||||
$('#prefs_container').hide();
|
||||
}
|
||||
},
|
||||
|
||||
initPrefs: function( )
|
||||
{
|
||||
var tr = this;
|
||||
|
||||
$("#update_blocklist_button").button();
|
||||
$("#prefs_tabs").tabs();
|
||||
|
||||
$.each( this.prefsKeys, function( index, key ) {
|
||||
$(':input#'+key).change( function( e ) {
|
||||
var control = e.target;
|
||||
var value;
|
||||
if( control.type == 'checkbox' )
|
||||
value = control.checked;
|
||||
else {
|
||||
value = parseFloat( e.target.value );
|
||||
if( value == NaN ) value = parseInt( e.target.value );
|
||||
if( value == NaN ) value = e.target.value;
|
||||
}
|
||||
tr.setPrefIfDifferent( key, value );
|
||||
|
||||
if( key == 'peer-port' ) {
|
||||
// changing the port invalidates the port status
|
||||
delete tr._prefs['port-is-open'];
|
||||
tr.updatePrefs( tr._prefs );
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('#port-status-spinner').hide();
|
||||
$(':button#port-test').click(function(e) {
|
||||
e.target.disabled = true;
|
||||
$('#port-status-label' ).html( 'Testing...' );
|
||||
var img = $('#port-status-spinner');
|
||||
img.show();
|
||||
var args = { };
|
||||
tr.remote.portTest( function(data){
|
||||
//console.log(data.arguments);
|
||||
e.target.disabled = false;
|
||||
img.hide();
|
||||
tr.updatePrefs( data.arguments );
|
||||
}, true );
|
||||
});
|
||||
|
||||
$('#blocklist-update-spinner').hide();
|
||||
$(':button#blocklist-update').click(function(e) {
|
||||
e.target.disabled = true;
|
||||
var img = $('#blocklist-update-spinner');
|
||||
img.show();
|
||||
var args = { };
|
||||
tr.remote.blocklistUpdate( function(data){
|
||||
console.log(data.arguments);
|
||||
e.target.disabled = false;
|
||||
img.hide();
|
||||
tr.updatePrefs( data.arguments );
|
||||
}, true );
|
||||
});
|
||||
this.updateButtonStates( );
|
||||
this.togglePeriodicSessionRefresh(true);
|
||||
},
|
||||
|
||||
/*
|
||||
@@ -1023,65 +972,74 @@ Transmission.prototype =
|
||||
*/
|
||||
updatePrefs: function( prefs )
|
||||
{
|
||||
var tr = this;
|
||||
var updateTurtle = false;
|
||||
|
||||
// remember them for later
|
||||
$.extend(this._prefs, prefs);
|
||||
this._prefs = prefs;
|
||||
|
||||
// update the prefs dialog
|
||||
var key;
|
||||
for( key in prefs ) {
|
||||
$(':input#'+key).each(function(index,e) {
|
||||
if( e.type=='checkbox')
|
||||
e.checked = prefs[key];
|
||||
else
|
||||
e.value = prefs[key];
|
||||
});
|
||||
var up_limited = prefs[RPC._UpSpeedLimited];
|
||||
var dn_limited = prefs[RPC._DownSpeedLimited];
|
||||
var up_limit_k = prefs[RPC._UpSpeedLimit];
|
||||
var dn_limit_k = prefs[RPC._DownSpeedLimit];
|
||||
var turtle_up_limit_k = prefs[RPC._TurtleUpSpeedLimit];
|
||||
var turtle_dn_limit_k = prefs[RPC._TurtleDownSpeedLimit];
|
||||
|
||||
// extra pieces
|
||||
if( key === RPC._DownSpeedLimit )
|
||||
$('#limited_download_rate').html('Limit (' + Transmission.fmt.speed(this._prefs[RPC._DownSpeedLimit]) + ')' );
|
||||
else if( key === RPC._DownSpeedLimited )
|
||||
$(this._prefs[RPC._DownSpeedLimited] ? '#limited_download_rate' : '#unlimited_download_rate').deselectMenuSiblings().selectMenuItem();
|
||||
else if( key == RPC._UpSpeedLimit )
|
||||
$('#limited_upload_rate').html('Limit (' + Transmission.fmt.speed(this._prefs[RPC._UpSpeedLimit]) + ')' );
|
||||
else if( key === RPC._UpSpeedLimited )
|
||||
$(this._prefs[RPC._UpSpeedLimited] ? '#limited_upload_rate' : '#unlimited_upload_rate').deselectMenuSiblings().selectMenuItem();
|
||||
else if( key === RPC._TurtleState )
|
||||
updateTurtle = true;
|
||||
else if( key === RPC._TurtleUpSpeedLimit )
|
||||
updateTurtle = true;
|
||||
else if( key === RPC._TurtleDownSpeedLimit )
|
||||
updateTurtle = true;
|
||||
else if( key == 'blocklist-size' )
|
||||
$('#' + key).html( '' + prefs[key] );
|
||||
else if( key == 'port-is-open' )
|
||||
$('#port-status-label' ).html( 'Port is ' + (prefs[key] ? 'open' : 'closed') );
|
||||
$('div.download_location input')[0].value = prefs[RPC._DownloadDir];
|
||||
$('div.port input')[0].value = prefs[RPC._PeerPort];
|
||||
$('div.auto_start input')[0].checked = prefs[RPC._StartAddedTorrent];
|
||||
$('input#limit_download')[0].checked = dn_limited;
|
||||
$('input#download_rate')[0].value = dn_limit_k;
|
||||
$('input#limit_upload')[0].checked = up_limited;
|
||||
$('input#upload_rate')[0].value = up_limit_k;
|
||||
$('input#refresh_rate')[0].value = prefs[Prefs._RefreshRate];
|
||||
$('div.encryption input')[0].checked = prefs[RPC._Encryption] == RPC._EncryptionRequired;
|
||||
$('input#turtle_download_rate')[0].value = turtle_dn_limit_k;
|
||||
$('input#turtle_upload_rate')[0].value = turtle_up_limit_k;
|
||||
$('input#turtle_schedule')[0].checked = prefs[RPC._TurtleTimeEnabled];
|
||||
$('select#turtle_start_time').val( prefs[RPC._TurtleTimeBegin] );
|
||||
$('select#turtle_end_time').val( prefs[RPC._TurtleTimeEnd] );
|
||||
$('select#turtle_days').val( prefs[RPC._TurtleTimeDay] );
|
||||
$('#transmission_version').text( prefs[RPC._DaemonVersion] );
|
||||
|
||||
if (!iPhone)
|
||||
{
|
||||
setInnerHTML( $('#limited_download_rate')[0], 'Limit (' + Transmission.fmt.speed(dn_limit_k) + ')' );
|
||||
var key = dn_limited ? '#limited_download_rate'
|
||||
: '#unlimited_download_rate';
|
||||
$(key).deselectMenuSiblings().selectMenuItem();
|
||||
|
||||
setInnerHTML( $('#limited_upload_rate')[0], 'Limit (' + Transmission.fmt.speed(up_limit_k) + ')' );
|
||||
key = up_limited ? '#limited_upload_rate'
|
||||
: '#unlimited_upload_rate';
|
||||
$(key).deselectMenuSiblings().selectMenuItem();
|
||||
}
|
||||
|
||||
if( this._prefs['port-is-open'] == undefined )
|
||||
$('#port-status-label').html( '<i>Status unknown</i>' );
|
||||
|
||||
if( updateTurtle )
|
||||
this.updateTurtleButton();
|
||||
this[Prefs._TurtleState] = prefs[RPC._TurtleState];
|
||||
this.updateTurtleButton();
|
||||
},
|
||||
|
||||
showStatsDialog: function( ) {
|
||||
var tr = this;
|
||||
tr.loadDaemonStats();
|
||||
tr.togglePeriodicStatsRefresh(true);
|
||||
$("#stats_dialog" ).dialog( {
|
||||
title: 'Statistics',
|
||||
hide: 'blind',
|
||||
width: 266,
|
||||
buttons: {
|
||||
'Close': function() {
|
||||
tr.togglePeriodicStatsRefresh(false);
|
||||
$(this).dialog('close');
|
||||
}
|
||||
}
|
||||
});
|
||||
this.loadDaemonStats();
|
||||
$('body').addClass('stats_showing');
|
||||
$('#stats_container').show();
|
||||
this.hideiPhoneAddressbar();
|
||||
if( Safari3 )
|
||||
setTimeout("$('div#stats_container div.dialog_window').css('top', '0px');",10);
|
||||
this.updateButtonStates( );
|
||||
this.togglePeriodicStatsRefresh(true);
|
||||
},
|
||||
|
||||
hideStatsDialog: function( ){
|
||||
$('body.stats_showing').removeClass('stats_showing');
|
||||
if (iPhone) {
|
||||
this.hideiPhoneAddressbar();
|
||||
$('#stats_container').hide();
|
||||
} else if (Safari3) {
|
||||
$('div#stats_container div.dialog_window').css('top', '-425px');
|
||||
setTimeout("$('#stats_container').hide();",500);
|
||||
} else {
|
||||
$('#stats_container').hide();
|
||||
}
|
||||
this.updateButtonStates( );
|
||||
this.togglePeriodicStatsRefresh(false);
|
||||
},
|
||||
|
||||
/*
|
||||
@@ -1099,7 +1057,7 @@ Transmission.prototype =
|
||||
setInnerHTML( $('#stats_session_downloaded')[0], Transmission.fmt.size(session["downloadedBytes"]) );
|
||||
setInnerHTML( $('#stats_session_ratio')[0], Transmission.fmt.ratioString(Math.ratio(session["uploadedBytes"],session["downloadedBytes"])));
|
||||
setInnerHTML( $('#stats_session_duration')[0], Transmission.fmt.timeInterval(session["secondsActive"]) );
|
||||
setInnerHTML( $('#stats_total_count')[0], 'Started ' + total["sessionCount"] + " times" );
|
||||
setInnerHTML( $('#stats_total_count')[0], total["sessionCount"] + " times" );
|
||||
setInnerHTML( $('#stats_total_uploaded')[0], Transmission.fmt.size(total["uploadedBytes"]) );
|
||||
setInnerHTML( $('#stats_total_downloaded')[0], Transmission.fmt.size(total["downloadedBytes"]) );
|
||||
setInnerHTML( $('#stats_total_ratio')[0], Transmission.fmt.ratioString(Math.ratio(total["uploadedBytes"],total["downloadedBytes"])));
|
||||
@@ -1155,18 +1113,21 @@ Transmission.prototype =
|
||||
|
||||
// Limit the download rate
|
||||
case 'footer_download_rate_menu':
|
||||
//var args = { };
|
||||
var args = { };
|
||||
if ($element.is('#unlimited_download_rate')) {
|
||||
$element.deselectMenuSiblings().selectMenuItem();
|
||||
tr.setPrefIfDifferent( RPC._DownSpeedLimited, false );
|
||||
args[RPC._DownSpeedLimited] = false;
|
||||
} else {
|
||||
var rate_str = ($element[0].innerHTML).replace(/[^0-9]/ig, '');
|
||||
var rate_val = parseInt( rate_str );
|
||||
setInnerHTML( $('#limited_download_rate')[0], 'Limit (' + Transmission.fmt.speed(rate_val) + ')' );
|
||||
$('#limited_download_rate').deselectMenuSiblings().selectMenuItem();
|
||||
tr.setPrefIfDifferent( RPC._DownSpeedLimit, rate_val );
|
||||
tr.setPrefIfDifferent( RPC._DownSpeedLimited, true );
|
||||
$('div.preference input#download_rate')[0].value = rate_str;
|
||||
args[RPC._DownSpeedLimit] = rate_val;
|
||||
args[RPC._DownSpeedLimited] = true;
|
||||
}
|
||||
$('div.preference input#limit_download')[0].checked = args[RPC._DownSpeedLimited];
|
||||
tr.remote.savePrefs( args );
|
||||
break;
|
||||
|
||||
// Limit the upload rate
|
||||
@@ -1174,15 +1135,18 @@ Transmission.prototype =
|
||||
var args = { };
|
||||
if ($element.is('#unlimited_upload_rate')) {
|
||||
$element.deselectMenuSiblings().selectMenuItem();
|
||||
tr.setPrefIfDifferent( RPC._UpSpeedLimited, false );
|
||||
args[RPC._UpSpeedLimited] = false;
|
||||
} else {
|
||||
var rate_str = ($element[0].innerHTML).replace(/[^0-9]/ig, '');
|
||||
var rate_val = parseInt( rate_str );
|
||||
setInnerHTML( $('#limited_upload_rate')[0], 'Limit (' + Transmission.fmt.speed(rate_val) + ')' );
|
||||
$('#limited_upload_rate').deselectMenuSiblings().selectMenuItem();
|
||||
tr.setPrefIfDifferent( RPC._UpSpeedLimit, rate_val );
|
||||
tr.setPrefIfDifferent( RPC._UpSpeedLimited, true );
|
||||
$('div.preference input#upload_rate')[0].value = rate_str;
|
||||
args[RPC._UpSpeedLimit] = rate_val;
|
||||
args[RPC._UpSpeedLimited] = true;
|
||||
}
|
||||
$('div.preference input#limit_upload')[0].checked = args[RPC._UpSpeedLimited];
|
||||
tr.remote.savePrefs( args );
|
||||
break;
|
||||
|
||||
// Sort the torrent list
|
||||
@@ -1428,7 +1392,7 @@ Transmission.prototype =
|
||||
html += '<td class="percentCol">' + Math.floor(peer.progress*100) + '%' + '</td>';
|
||||
html += '<td>' + peer.flagStr + '</td>';
|
||||
html += '<td>' + peer.address + '</td>';
|
||||
html += '<td class="clientCol">' + peer.clientName + '</td>';
|
||||
html += '<td>' + peer.clientName + '</td>';
|
||||
html += '</tr>';
|
||||
}
|
||||
html += '</table></div>';
|
||||
@@ -1860,24 +1824,16 @@ Transmission.prototype =
|
||||
var torrent = torrents[0];
|
||||
var header = 'Remove ' + torrent.name() + '?';
|
||||
var message = 'Once removed, continuing the transfer will require the torrent file. Are you sure you want to remove it?';
|
||||
askUser( header, message, 'Remove', transmission.removeTorrents, torrents );
|
||||
dialog.confirm( header, message, 'Remove', 'transmission.removeTorrents', torrents );
|
||||
}
|
||||
else
|
||||
{
|
||||
var header = 'Remove ' + torrents.length + ' transfers?';
|
||||
var message = 'Once removed, continuing the transfers will require the torrent files. Are you sure you want to remove them?';
|
||||
askUser( header, message, 'Remove', transmission.removeTorrents, torrents );
|
||||
dialog.confirm( header, message, 'Remove', 'transmission.removeTorrents', torrents );
|
||||
}
|
||||
},
|
||||
|
||||
removeTorrents: function( torrents ) {
|
||||
console.log( "in removeTorrents" );
|
||||
console.log( torrents );
|
||||
var torrent_ids = jQuery.map(torrents, function(t) { return t.id(); } );
|
||||
var tr = this;
|
||||
//this.remote.removeTorrents( torrent_ids, function(){ tr.refreshTorrents() } );
|
||||
},
|
||||
|
||||
promptToRemoveTorrentsAndData:function( torrents )
|
||||
{
|
||||
if( torrents.length == 1 )
|
||||
@@ -1885,16 +1841,22 @@ Transmission.prototype =
|
||||
var torrent = torrents[0],
|
||||
header = 'Remove ' + torrent.name() + ' and delete data?',
|
||||
message = 'All data downloaded for this torrent will be deleted. Are you sure you want to remove it?';
|
||||
askUser( header, message, 'Remove', transmission.removeTorrentsAndData, torrents );
|
||||
dialog.confirm( header, message, 'Remove', 'transmission.removeTorrentsAndData', torrents );
|
||||
}
|
||||
else
|
||||
{
|
||||
var header = 'Remove ' + torrents.length + ' transfers and delete data?',
|
||||
message = 'All data downloaded for these torrents will be deleted. Are you sure you want to remove them?';
|
||||
askUser( header, message, 'Remove', transmission.removeTorrentsAndData, torrents );
|
||||
dialog.confirm( header, message, 'Remove', 'transmission.removeTorrentsAndData', torrents );
|
||||
}
|
||||
},
|
||||
|
||||
removeTorrents: function( torrents ) {
|
||||
var torrent_ids = jQuery.map(torrents, function(t) { return t.id(); } );
|
||||
var tr = this;
|
||||
this.remote.removeTorrents( torrent_ids, function(){ tr.refreshTorrents() } );
|
||||
},
|
||||
|
||||
removeTorrentsAndData: function( torrents ) {
|
||||
this.remote.removeTorrentsAndData( torrents );
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user