transmission/qt/TorrentDelegate.h

54 lines
1.5 KiB
C
Raw Normal View History

2009-04-09 18:55:47 +00:00
/*
* This file Copyright (C) 2009-2015 Mnemosyne LLC
2009-04-09 18:55:47 +00:00
*
* It may be used under the GNU GPL versions 2 or 3
* or any future license endorsed by Mnemosyne LLC.
2009-04-09 18:55:47 +00:00
*
*/
#pragma once
2009-04-09 18:55:47 +00:00
#include <QStyledItemDelegate>
2009-04-09 18:55:47 +00:00
class QStyle;
2015-06-12 22:12:12 +00:00
class QStyleOptionProgressBar;
2009-04-09 18:55:47 +00:00
class Torrent;
class TorrentDelegate: public QStyledItemDelegate
2009-04-09 18:55:47 +00:00
{
2013-09-14 22:45:04 +00:00
Q_OBJECT
2009-04-09 18:55:47 +00:00
2013-09-14 22:45:04 +00:00
public:
2015-06-12 22:12:12 +00:00
explicit TorrentDelegate (QObject * parent = nullptr);
virtual ~TorrentDelegate ();
2009-04-09 18:55:47 +00:00
2015-06-12 22:12:12 +00:00
// QAbstractItemDelegate
virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const;
virtual void paint(QPainter * painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
2009-04-09 18:55:47 +00:00
2013-09-14 22:45:04 +00:00
protected:
QSize margin (const QStyle& style) const;
2015-06-12 22:12:12 +00:00
void setProgressBarPercentDone (const QStyleOptionViewItem& option, const Torrent&) const;
// Our own overridables
2013-09-14 22:45:04 +00:00
virtual QSize sizeHint (const QStyleOptionViewItem&, const Torrent&) const;
2015-06-12 22:12:12 +00:00
virtual void drawTorrent (QPainter * painter, const QStyleOptionViewItem& option, const Torrent&) const;
2009-04-09 18:55:47 +00:00
2015-06-12 22:12:12 +00:00
static QString statusString (const Torrent& tor);
static QString progressString (const Torrent& tor);
static QString shortStatusString (const Torrent& tor);
static QString shortTransferString (const Torrent& tor);
protected:
QStyleOptionProgressBar * myProgressBarStyle;
2015-06-12 22:12:12 +00:00
static QColor blueBrush;
static QColor greenBrush;
static QColor silverBrush;
static QColor blueBack;
static QColor greenBack;
static QColor silverBack;
2009-04-09 18:55:47 +00:00
};