X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbufferviewconfig.cpp;h=d54097d4ee597f8ff6ae2f6617d213c8104d7405;hp=7a893b3eeb06de3ed1ac3a6e1b6860cfbf96fcc5;hb=288bdd13039b6f94b50155982b74b67b0b79a9f9;hpb=4e0445e459c690cfa6013c5ad574e94f9214827b diff --git a/src/common/bufferviewconfig.cpp b/src/common/bufferviewconfig.cpp index 7a893b3e..d54097d4 100644 --- a/src/common/bufferviewconfig.cpp +++ b/src/common/bufferviewconfig.cpp @@ -20,10 +20,25 @@ #include "bufferviewconfig.h" +#include "bufferinfo.h" + BufferViewConfig::BufferViewConfig(int bufferViewId, QObject *parent) + : SyncableObject(parent), + _bufferViewId(bufferViewId), + _addNewBuffersAutomatically(true), + _sortAlphabetically(true), + _hideInactiveBuffers(false), + _allowedBufferTypes(BufferInfo::StatusBuffer | BufferInfo::ChannelBuffer | BufferInfo::QueryBuffer | BufferInfo::GroupBuffer), + _minimumActivity(0) +{ + setObjectName(QString::number(bufferViewId)); +} + +BufferViewConfig::BufferViewConfig(int bufferViewId, const QVariantMap &properties, QObject *parent) : SyncableObject(parent), _bufferViewId(bufferViewId) { + fromVariantMap(properties); setObjectName(QString::number(bufferViewId)); } @@ -58,3 +73,81 @@ void BufferViewConfig::setSortAlphabetically(bool sortAlphabetically) { _sortAlphabetically = sortAlphabetically; emit sortAlphabeticallySet(sortAlphabetically); } + +void BufferViewConfig::setAllowedBufferTypes(int bufferTypes) { + if(_allowedBufferTypes == bufferTypes) + return; + + _allowedBufferTypes = bufferTypes; + emit allowedBufferTypesSet(bufferTypes); +} + +void BufferViewConfig::setMinimumActivity(int activity) { + if(_minimumActivity == activity) + return; + + _minimumActivity = activity; + emit minimumActivitySet(activity); +} + +void BufferViewConfig::setHideInactiveBuffers(bool hideInactiveBuffers) { + if(_hideInactiveBuffers == hideInactiveBuffers) + return; + + _hideInactiveBuffers = hideInactiveBuffers; + emit hideInactiveBuffersSet(hideInactiveBuffers); +} + +QVariantList BufferViewConfig::initBufferList() const { + QVariantList buffers; + + foreach(BufferId bufferId, _buffers) { + buffers << qVariantFromValue(bufferId); + } + + return buffers; +} + +void BufferViewConfig::initSetBufferList(const QVariantList &buffers) { + _buffers.clear(); + + foreach(QVariant buffer, buffers) { + _buffers << buffer.value(); + } + + emit bufferListSet(); +} + +void BufferViewConfig::initSetBufferList(const QList &buffers) { + _buffers.clear(); + + foreach(BufferId bufferId, buffers) { + _buffers << bufferId; + } + + emit bufferListSet(); +} + +void BufferViewConfig::addBuffer(const BufferId &bufferId, int pos) { + if(_buffers.contains(bufferId)) + return; + + _buffers.insert(pos, bufferId); + emit bufferAdded(bufferId, pos); +} + +void BufferViewConfig::moveBuffer(const BufferId &bufferId, int pos) { + if(!_buffers.contains(bufferId)) + return; + + _buffers.move(_buffers.indexOf(bufferId), pos); + emit bufferMoved(bufferId, pos); +} + +void BufferViewConfig::removeBuffer(const BufferId &bufferId) { + if(!_buffers.contains(bufferId)) + return; + + _buffers.removeAt(_buffers.indexOf(bufferId)); + emit bufferRemoved(bufferId); +}