Files
transmission/qt/TorrentFilter.h
Mike Gelfand dadffa2c0f Align type qualifiers to the right (code style)
This way all the qualifiers (`const`, `volatile`, `mutable`) are grouped
together, e.g. `T const* const x` vs. `const T* const x`. Also helps reading
types right-to-left, e.g. "constant pointer to constant T" vs. "constant
pointer to T which is constant".
2017-04-20 19:53:20 +03:00

54 lines
1.1 KiB
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.
*
*/
#pragma once
#include <QSortFilterProxyModel>
class QString;
class FilterMode;
class Prefs;
class Torrent;
class TorrentFilter : public QSortFilterProxyModel
{
Q_OBJECT
public:
enum TextMode
{
FILTER_BY_NAME,
FILTER_BY_FILES,
FILTER_BY_TRACKER
};
public:
TorrentFilter(Prefs const& prefs);
virtual ~TorrentFilter();
int hiddenRowCount() const;
void countTorrentsPerMode(int* setmeCounts) const;
protected:
// QSortFilterProxyModel
virtual bool filterAcceptsRow(int, QModelIndex const&) const;
virtual bool lessThan(QModelIndex const&, QModelIndex const&) const;
private:
bool activityFilterAcceptsTorrent(Torrent const* tor, FilterMode const& mode) const;
bool trackerFilterAcceptsTorrent(Torrent const* tor, QString const& tracker) const;
private slots:
void refreshPref(int key);
private:
Prefs const& myPrefs;
};