diff --git a/web/index.html b/web/index.html index 162c9f165..c025289db 100755 --- a/web/index.html +++ b/web/index.html @@ -360,8 +360,9 @@
  • Activity
  • Age
  • Name
  • -
  • Progress
  • Ratio
  • +
  • Size
  • +
  • Progress
  • Queue Order
  • State
  • diff --git a/web/javascript/common.js b/web/javascript/common.js index b4d147902..0e5631a03 100644 --- a/web/javascript/common.js +++ b/web/javascript/common.js @@ -157,6 +157,7 @@ Prefs._SortByAge = 'age'; Prefs._SortByActivity = 'activity'; Prefs._SortByName = 'name'; Prefs._SortByQueue = 'queue_order'; +Prefs._SortBySize = 'size'; Prefs._SortByProgress = 'percent_completed'; Prefs._SortByRatio = 'ratio'; Prefs._SortByState = 'state'; diff --git a/web/javascript/torrent.js b/web/javascript/torrent.js index 3833dce5d..beb9fa7f1 100644 --- a/web/javascript/torrent.js +++ b/web/javascript/torrent.js @@ -408,6 +408,14 @@ Torrent.compareByProgress = function(ta, tb) return (a - b) || Torrent.compareByRatio(ta, tb); }; +Torrent.compareBySize = function(ta, tb) +{ + var a = ta.getTotalSize(), + b = tb.getTotalSize(); + + return (a - b) || Torrent.compareByName(ta, tb); +} + Torrent.compareTorrents = function(a, b, sortMethod, sortDirection) { var i; @@ -426,6 +434,9 @@ Torrent.compareTorrents = function(a, b, sortMethod, sortDirection) case Prefs._SortByProgress: i = Torrent.compareByProgress(a,b); break; + case Prefs._SortBySize: + i = Torrent.compareBySize(a,b); + break; case Prefs._SortByState: i = Torrent.compareByState(a,b); break; @@ -464,6 +475,9 @@ Torrent.sortTorrents = function(torrents, sortMethod, sortDirection) case Prefs._SortByProgress: torrents.sort(this.compareByProgress); break; + case Prefs._SortBySize: + torrents.sort(this.compareBySize); + break; case Prefs._SortByState: torrents.sort(this.compareByState); break;