Add a Tags (multi-label) feature to the GUI. Closes #13.

See https://github.com/qbittorrent/qBittorrent/issues/13 for details.
This commit is contained in:
Tony Gregerson 2017-06-04 19:22:17 -05:00
parent ff80208534
commit 467e516801
27 changed files with 1315 additions and 35 deletions

View file

@ -59,6 +59,18 @@ void TransferListSortModel::disableCategoryFilter()
invalidateFilter();
}
void TransferListSortModel::setTagFilter(const QString &tag)
{
if (m_filter.setTag(tag))
invalidateFilter();
}
void TransferListSortModel::disableTagFilter()
{
if (m_filter.setTag(TorrentFilter::AnyTag))
invalidateFilter();
}
void TransferListSortModel::setTrackerFilter(const QStringList &hashes)
{
if (m_filter.setHashSet(hashes.toSet()))
@ -75,6 +87,7 @@ bool TransferListSortModel::lessThan(const QModelIndex &left, const QModelIndex
{
switch (sortColumn()) {
case TorrentModel::TR_CATEGORY:
case TorrentModel::TR_TAGS:
case TorrentModel::TR_NAME: {
QVariant vL = left.data();
QVariant vR = right.data();