transmission/qt/Filters.cc

41 lines
941 B
C++

/*
* This file Copyright (C) 2009-2015 Mnemosyne LLC
*
* It may be used under the GNU GPL versions 2 or 3
* or any future license endorsed by Mnemosyne LLC.
*
*/
#include "Filters.h"
// NB: if you change this function, update TorrentFields too
bool FilterMode::test(Torrent const& tor, int mode)
{
switch (mode)
{
case SHOW_ACTIVE:
return tor.peersWeAreUploadingTo() > 0 || tor.peersWeAreDownloadingFrom() > 0 || tor.isVerifying();
case SHOW_DOWNLOADING:
return tor.isDownloading() || tor.isWaitingToDownload();
case SHOW_ERROR:
return tor.hasError();
case SHOW_FINISHED:
return tor.isFinished();
case SHOW_PAUSED:
return tor.isPaused();
case SHOW_SEEDING:
return tor.isSeeding() || tor.isWaitingToSeed();
case SHOW_VERIFYING:
return tor.isVerifying() || tor.isWaitingToVerify();
default: // SHOW_ALL
return true;
}
}