Files
transmission/qt/FilterBar.h
Mike Gelfand 585e3df30c Show notice on top of filtered torrents list
This has a couple of benefits: 1) it is clearly visible to the user that
the list is filtered (doesn't display all the torrents) even when filter
bar is hidden, 2) doesn't lead to filter bar controls being shifted to
the left/right as when "Show:" label text changes.
2015-10-19 20:30:26 +00:00

62 lines
1.4 KiB
C++

/*
* This file Copyright (C) 2010-2015 Mnemosyne LLC
*
* It may be used under the GNU GPL versions 2 or 3
* or any future license endorsed by Mnemosyne LLC.
*
* $Id$
*/
#ifndef QTR_FILTER_BAR_H
#define QTR_FILTER_BAR_H
#include <QWidget>
class QLabel;
class QStandardItemModel;
class QTimer;
class FilterBarComboBox;
class FilterBarLineEdit;
class Prefs;
class TorrentFilter;
class TorrentModel;
class FilterBar: public QWidget
{
Q_OBJECT
public:
FilterBar (Prefs& prefs, const TorrentModel& torrents, const TorrentFilter& filter, QWidget * parent = nullptr);
virtual ~FilterBar ();
private:
FilterBarComboBox * createTrackerCombo (QStandardItemModel *);
FilterBarComboBox * createActivityCombo ();
void refreshTrackers ();
QString getCountString (int n) const;
private slots:
void recountSoon ();
void recount ();
void refreshPref (int key);
void onActivityIndexChanged (int index);
void onTrackerIndexChanged (int index);
void onTextChanged (const QString&);
private:
Prefs& myPrefs;
const TorrentModel& myTorrents;
const TorrentFilter& myFilter;
FilterBarComboBox * myActivityCombo;
FilterBarComboBox * myTrackerCombo;
QLabel * myCountLabel;
QStandardItemModel * myTrackerModel;
QTimer * myRecountTimer;
bool myIsBootstrapping;
FilterBarLineEdit * myLineEdit;
};
#endif // QTR_FILTER_BAR_H