Changeset 7881


Ignore:
Timestamp:
Feb 12, 2009, 5:20:43 PM (13 years ago)
Author:
duncanbeevers
Message:

(trunk web) Add option to remove data when removing torrent from web interface

Location:
trunk/web
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/index.html

    r7762 r7881  
    3131                                 <li id="open"><div id="open_link"><div class="toolbar_image"></div>Open</div></li>
    3232                                 <li id="remove" class="disabled"><div id="remove_link"><div class="toolbar_image"></div>Remove</div></li>
     33                                 <li id="removedata" class="disabled"><div id="removedata_link"><div class="toolbar_image"></div>Remove Data</div></li>
    3334                                 <li class="divider">&nbsp;</li>
    3435                                 <li id="pause_selected" class="disabled"><div id="pause_selected_link"><div class="toolbar_image"></div>Pause</div></li>
     
    348349                                <li id="context_resume_selected" class="disabled context_resume_selected">Resume Selected</li>
    349350                                <li id="context_remove">Remove From List...</li>
     351                                <li id="context_removedata">Delete Data And Remove From List...</li>
    350352                                <li id="context_toggle_inspector">Show Inspector</li>
    351353                                <li class="separator"></li>
  • trunk/web/javascript/menu.js

    r6318 r7881  
    1212               
    1313                menu_style: {
    14                         width: '210px',
     14                        width: '310px',
    1515                        backgroundColor: '#fff',
    1616                        border: 'none',
  • trunk/web/javascript/transmission.js

    r7762 r7881  
    4747                $('#resume_selected_link').bind('click', this.startSelectedClicked);
    4848                $('#remove_link').bind('click',  this.removeClicked);
     49                $('#removedata_link').bind('click',  this.removeDataClicked);
    4950                $('#filter_all_link').parent().bind('click', this.showAllClicked);
    5051                $('#filter_downloading_link').parent().bind('click', this.showDownloadingClicked);
     
    198199                transmission.removeSelectedTorrents( );
    199200        },
     201        contextRemoveDataSelected: function( ) {
     202                transmission.removeSelectedTorrentsAndData( );
     203        },
    200204        contextToggleInspector: function( ) {
    201205                transmission.toggleInspector( );
     
    217221                        context_resume_selected:   this.contextStartSelected,
    218222                        context_remove:            this.contextRemoveSelected,
     223                        context_removedata:        this.contextRemoveDataSelected,
    219224                        context_toggle_inspector:  this.contextToggleInspector,
    220225                        context_select_all:        this.contextSelectAll,
     
    544549                if( tr.isButtonEnabled( event ) ) {
    545550                        tr.removeSelectedTorrents( );
     551                        tr.hideiPhoneAddressbar( );
     552                }
     553        },
     554
     555        removeDataClicked: function( event ) { 
     556                var tr = transmission;
     557                if( tr.isButtonEnabled( event ) ) {
     558                        tr.removeSelectedTorrentsAndData( );
    546559                        tr.hideiPhoneAddressbar( );
    547560                }
     
    11881201        },
    11891202
     1203        removeSelectedTorrentsAndData: function() {
     1204                var torrents = this.getSelectedTorrents( );
     1205                if( torrents.length )
     1206                        this.promptToRemoveTorrentsAndData( torrents );
     1207        },
     1208
    11901209        promptToRemoveTorrents:function( torrents )
    11911210        {
     
    12051224        },
    12061225
     1226        promptToRemoveTorrentsAndData:function( torrents )
     1227        {
     1228                if( torrents.length == 1 )
     1229                {
     1230                        var torrent = torrents[0],
     1231                                header = 'Remove ' + torrent.name() + ' and delete data?',
     1232                                message = 'All data downloaded for this torrent will be deleted. Are you sure you want to remove it?';
     1233                        dialog.confirm( header, message, 'Remove', 'transmission.removeTorrentsAndData', torrents );
     1234                }
     1235                else
     1236                {
     1237                        var header = 'Remove ' + torrents.length + ' transfers and delete data?',
     1238                                message = 'All data downloaded for these torrents will be deleted. Are you sure you want to remove them?';
     1239                        dialog.confirm( header, message, 'Remove', 'transmission.removeTorrentsAndData', torrents );
     1240                }
     1241        },
     1242
    12071243        removeTorrents: function( torrents ) {
    12081244                this.remote.removeTorrents( torrents );
     1245        },
     1246
     1247        removeTorrentsAndData: function( torrents ) {
     1248                this.remote.removeTorrentsAndData( torrents );
    12091249        },
    12101250
     
    13371377                        this.setEnabled( 'li.context_resume_selected', havePausedSelection );
    13381378                        this.setEnabled( 'li#remove', haveSelection );
     1379                        this.setEnabled( 'li#removedata', haveSelection );
    13391380                        this.setEnabled( 'li#pause_all', haveActive );
    13401381                        this.setEnabled( 'li#resume_all', havePaused );
  • trunk/web/javascript/transmission.remote.js

    r7762 r7881  
    122122                this.sendTorrentCommand( 'torrent-remove', torrents );
    123123        },
     124        removeTorrentsAndData: function( torrents ) {
     125                var remote = this,
     126                        o = { };
     127                o.method = 'torrent-remove';
     128                o.arguments = { };
     129                o.arguments['delete-local-data'] = true;
     130                o.arguments.ids = [ ];
     131                if( torrents != null )
     132                        for( var i=0, len=torrents.length; i<len; ++i )
     133                                o.arguments.ids.push( torrents[i].id() );
     134                this.sendRequest( RPC._Root, $.toJSON(o), function( ) {
     135                        remote.loadTorrents();
     136                }, "json" );
     137        },
    124138        addTorrentByUrl: function( url, options ) {
    125139                this.sendRequest( RPC._Root, $.toJSON({
  • trunk/web/stylesheets/common.css

    r7762 r7881  
    114114}
    115115
     116li#removedata div div.toolbar_image, li#removedata.disabled div:active div.toolbar_image {
     117        background-position: left -32px;
     118}
     119
    116120li#remove div:active div.toolbar_image {
     121        background-position: right -32px;
     122}
     123
     124li#removedata div:active div.toolbar_image {
    117125        background-position: right -32px;
    118126}
Note: See TracChangeset for help on using the changeset viewer.