#include <QColor>
#include <QDropEvent>
#include <QFlags>
+#include <QPixmap>
#include <QPointer>
#include <QSet>
#include <QSortFilterProxyModel>
NoServers = 0x40,
FullCustom = 0x80
};
- Q_DECLARE_FLAGS(Modes, Mode);
+ Q_DECLARE_FLAGS(Modes, Mode)
BufferViewFilter(QAbstractItemModel *model, BufferViewConfig *config = 0);
virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent);
QVariant data(const QModelIndex &index, int role) const;
+ QVariant icon(const QModelIndex &index) const;
QVariant foreground(const QModelIndex &index) const;
void setConfig(BufferViewConfig *config);
inline BufferViewConfig *config() const { return _config; }
+ virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder);
+
public slots:
void checkPreviousCurrentForRemoval(const QModelIndex ¤t, const QModelIndex &previous);
void checkItemForRemoval(const QModelIndex &index) { checkItemsForRemoval(index, index); }
signals:
void _dataChanged(const QModelIndex &source_topLeft, const QModelIndex &source_bottomRight);
+ void configChanged();
private slots:
void configInitialized();
private:
QPointer<BufferViewConfig> _config;
+ Qt::SortOrder _sortOrder;
QColor _FgColorInactiveActivity;
QColor _FgColorNoActivity;
QColor _FgColorHighlightActivity;
QColor _FgColorNewMessageActivity;
QColor _FgColorOtherActivity;
+
+ QPixmap _userOfflineIcon;
+ QPixmap _userAwayIcon;
+ QPixmap _userOnlineIcon;
+
void loadColors();
bool filterAcceptBuffer(const QModelIndex &) const;