2022-01-20 18:27:56 +00:00
|
|
|
// This file Copyright © 2009-2022 Mnemosyne LLC.
|
|
|
|
// It may be used under GPLv2 (SPDX: GPL-2.0), GPLv3 (SPDX: GPL-3.0),
|
|
|
|
// or any future license endorsed by Mnemosyne LLC.
|
|
|
|
// License text can be found in the licenses/ folder.
|
2009-04-11 18:25:12 +00:00
|
|
|
|
2015-06-10 21:27:11 +00:00
|
|
|
#include "Filters.h"
|
2009-04-11 18:25:12 +00:00
|
|
|
|
2020-06-23 23:54:08 +00:00
|
|
|
// 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;
|
|
|
|
}
|
|
|
|
}
|