Changeset 13439


Ignore:
Timestamp:
Aug 18, 2012, 3:46:22 PM (7 years ago)
Author:
jordan
Message:

(trunk web) #4993 "Add Set Location on WebUI" -- use luizpaulo's patch to implement this

Location:
trunk/web
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/index.html

    r13336 r13439  
    301301                                        <a href="#upload" id="upload_confirm_button">Upload</a>
    302302                                        <a href="#cancel" id="upload_cancel_button">Cancel</a>
     303                                </form>
     304                        </div>
     305                </div>
     306
     307                <div class="dialog_container" id="move_container" style="display:none;">
     308                        <div class="dialog_top_bar"></div>
     309                        <div class="dialog_window">
     310                                <div class="dialog_logo" id="move_dialog_logo"></div>
     311                                <h2 class="dialog_heading">Set Location</h2>
     312                                <form action="#" method="post" id="torrent_move_form"
     313                                        enctype="multipart/form-data" target="torrent_move_frame">
     314                                        <div class="dialog_message">
     315                                                <label for="torrent_path">Location:</label>
     316                                                <input type="text" id="torrent_path"/>
     317                                        </div>
     318                                        <a href="#move" id="move_confirm_button">Apply</a>
     319                                        <a href="#cancel" id="move_cancel_button">Cancel</a>
    303320                                </form>
    304321                        </div>
     
    395412                                <li class="separator"></li>
    396413                                <li id="context_verify">Verify Local Data</li>
     414                                <li id="context_move">Set Location...</li>
    397415                                <li class="separator"></li>
    398416                                <li id="context_reannounce">Ask tracker for more peers</li>
  • trunk/web/javascript/dialog.js

    r13392 r13439  
    104104                // Just in case
    105105                $('#upload_container').hide();
     106                $('#move_container').hide();
    106107                $('body').addClass('dialog_showing');
    107108                transmission.updateButtonStates();
  • trunk/web/javascript/remote.js

    r13015 r13439  
    158158                this.sendTorrentActionRequests('torrent-stop', torrent_ids, callback, context);
    159159        },
     160
     161        moveTorrents: function(torrent_ids, new_location, callback, context) {
     162                var remote = this;
     163                this.sendTorrentSetRequests( 'torrent-set-location', torrent_ids,
     164                        {"move": true, "location": new_location}, callback, context);
     165        },
     166
    160167        removeTorrents: function(torrent_ids, callback, context) {
    161168                this.sendTorrentActionRequests('torrent-remove', torrent_ids, callback, context);
  • trunk/web/javascript/torrent.js

    r13308 r13439  
    7777        'status',
    7878        'trackers',
     79        'downloadDir',
    7980        'uploadedEver',
    8081        'uploadRatio'
     
    9899        'corruptEver',
    99100        'desiredAvailable',
    100         'downloadDir',
    101101        'downloadedEver',
    102102        'fileStats',
  • trunk/web/javascript/transmission.js

    r13336 r13439  
    5454                $('#upload_confirm_button').click($.proxy(this.confirmUploadClicked,this));
    5555                $('#upload_cancel_button').click($.proxy(this.hideUploadDialog,this));
     56
     57                $('#move_confirm_button').click($.proxy(this.confirmMoveClicked,this));
     58                $('#move_cancel_button').click($.proxy(this.hideMoveDialog,this));
     59
    5660                $('#turtle-button').click($.proxy(this.toggleTurtleClicked,this));
    5761                $('#compact-button').click($.proxy(this.toggleCompactClicked,this));
     
    177181                        context_resume_selected:      function() { tr.startSelectedTorrents(false); },
    178182                        context_resume_now_selected:  function() { tr.startSelectedTorrents(true); },
     183                        context_move:                 function() { tr.moveSelectedTorrents(false); },
    179184                        context_remove:               function() { tr.removeSelectedTorrents(); },
    180185                        context_removedata:           function() { tr.removeSelectedTorrentsAndData(); },
     
    501506        {
    502507                var i, uri, uris=null,
    503                     types = ["text/uri-list", "text/plain"];
     508                    types = ["text/uri-list", "text/plain"],
    504509                    paused = this.shouldAddedTorrentsStart();
    505510
     
    530535        confirmUploadClicked: function() {
    531536                this.uploadTorrentFile(true);
     537                this.hideUploadDialog();
     538        },
     539
     540        hideMoveDialog: function() {
     541                $('#move_container').hide();
     542                this.updateButtonStates();
     543        },
     544
     545        confirmMoveClicked: function() {
     546                this.moveSelectedTorrents(true);
    532547                this.hideUploadDialog();
    533548        },
     
    888903        },
    889904
     905        promptSetLocation: function(confirmed, torrents) {
     906                if (! confirmed) {
     907                        var path;
     908                        if (torrents.length === 1) {
     909                                path = torrents[0].getDownloadDir();
     910                        } else {
     911                                path = $("#download-dir").val();
     912                        }
     913                        $('input#torrent_path').attr('value', path);
     914                        $('#move_container').show();
     915                        $('#torrent_path').focus();
     916                } else {
     917                        var ids = this.getTorrentIds(torrents);
     918                        this.remote.moveTorrents(
     919                                ids,
     920                                $("input#torrent_path").val(),
     921                                this.refreshTorrents,
     922                                this);
     923                        $('#move_container').hide();
     924                }
     925        },
     926
     927        moveSelectedTorrents: function(confirmed) {
     928                var torrents = this.getSelectedTorrents();
     929                if (torrents.length)
     930                        this.promptSetLocation(confirmed, torrents);
     931        },
     932
    890933        removeSelectedTorrents: function() {
    891934                var torrents = this.getSelectedTorrents();
     
    900943        },
    901944
    902         promptToRemoveTorrents:function(torrents)
    903         {
     945        promptToRemoveTorrents: function(torrents) {
    904946                if (torrents.length === 1)
    905947                {
  • trunk/web/style/transmission/common.css

    r13276 r13439  
    10841084  padding: 0px; }
    10851085
     1086div#move_container input#torrent_path {
     1087  width: 286px;
     1088  padding: 2px; }
     1089
    10861090iframe#torrent_upload_frame {
    10871091  display: block;
  • trunk/web/style/transmission/common.scss

    r13276 r13439  
    934934}
    935935
     936div#move_container input#torrent_path {
     937        width: 286px;
     938        padding: 2px;
     939}
     940
     941
    936942iframe#torrent_upload_frame {
    937943        display: block; /* Don't change this : safari forms won't target hidden frames (they open a new window) */
Note: See TracChangeset for help on using the changeset viewer.