X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fbufferviewfilter.cpp;h=5b9d684573c208d34bd207ec085a061c3aa8a6ba;hp=5b58ee5618709f80731053724e00ca481da40547;hb=deba2421d87cbdea05c925cb3425042559d6ba21;hpb=0b17a8e987118c138c91b756f5fed4166a23a354 diff --git a/src/uisupport/bufferviewfilter.cpp b/src/uisupport/bufferviewfilter.cpp index 5b58ee56..5b9d6845 100644 --- a/src/uisupport/bufferviewfilter.cpp +++ b/src/uisupport/bufferviewfilter.cpp @@ -29,8 +29,10 @@ #include "buffersettings.h" #include "client.h" #include "clientbufferviewconfig.h" +#include "graphicalui.h" #include "iconloader.h" #include "networkmodel.h" +#include "uistyle.h" class CheckRemovalEvent : public QEvent { public: @@ -45,11 +47,6 @@ BufferViewFilter::BufferViewFilter(QAbstractItemModel *model, BufferViewConfig * : QSortFilterProxyModel(model), _config(0), _sortOrder(Qt::AscendingOrder), - _channelJoinedIcon(SmallIcon("irc-channel-active")), - _channelPartedIcon(SmallIcon("irc-channel-inactive")), - _userOfflineIcon(SmallIcon("im-user-offline")), - _userAwayIcon(SmallIcon("im-user-away")), - _userOnlineIcon(SmallIcon("im-user")), _editMode(false), _enableEditMode(tr("Show / Hide buffers"), this) { @@ -65,14 +62,6 @@ BufferViewFilter::BufferViewFilter(QAbstractItemModel *model, BufferViewConfig * _enableEditMode.setChecked(_editMode); connect(&_enableEditMode, SIGNAL(toggled(bool)), this, SLOT(enableEditMode(bool))); - BufferSettings bufferSettings; - _showUserStateIcons = bufferSettings.showUserStateIcons(); - bufferSettings.notify("ShowUserStateIcons", this, SLOT(showUserStateIconsChanged())); -} - -void BufferViewFilter::showUserStateIconsChanged() { - BufferSettings bufferSettings; - _showUserStateIcons = bufferSettings.showUserStateIcons(); } void BufferViewFilter::setConfig(BufferViewConfig *config) { @@ -401,8 +390,11 @@ bool BufferViewFilter::networkLessThan(const QModelIndex &source_left, const QMo QVariant BufferViewFilter::data(const QModelIndex &index, int role) const { switch(role) { + case Qt::FontRole: + case Qt::ForegroundRole: + case Qt::BackgroundRole: case Qt::DecorationRole: - return icon(index); + return GraphicalUi::uiStyle()->bufferViewItemData(mapToSource(index), role); case Qt::CheckStateRole: return checkedState(index); default: @@ -410,39 +402,6 @@ QVariant BufferViewFilter::data(const QModelIndex &index, int role) const { } } -QVariant BufferViewFilter::icon(const QModelIndex &index) const { - if(!_showUserStateIcons || (config() && config()->disableDecoration())) - return QVariant(); - - if(index.column() != 0) - return QVariant(); - - QModelIndex source_index = mapToSource(index); - NetworkModel::ItemType itemType = (NetworkModel::ItemType)sourceModel()->data(source_index, NetworkModel::ItemTypeRole).toInt(); - BufferInfo::Type bufferType = (BufferInfo::Type)sourceModel()->data(source_index, NetworkModel::BufferTypeRole).toInt(); - bool isActive = sourceModel()->data(source_index, NetworkModel::ItemActiveRole).toBool(); - - if(itemType != NetworkModel::BufferItemType) - return QVariant(); - - switch(bufferType) { - case BufferInfo::ChannelBuffer: - if(isActive) - return _channelJoinedIcon; - else - return _channelPartedIcon; - case BufferInfo::QueryBuffer: - if(!isActive) - return _userOfflineIcon; - if(sourceModel()->data(source_index, NetworkModel::UserAwayRole).toBool()) - return _userAwayIcon; - else - return _userOnlineIcon; - default: - return QVariant(); - } -} - QVariant BufferViewFilter::checkedState(const QModelIndex &index) const { if(!_editMode || !config()) return QVariant();