X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbufferviewconfig.cpp;h=3bd71f79e8472509f117946749c756f269eeb55c;hp=935d175f8f51f310f1235a04c334d9acca43a26b;hb=1f21c1f9613031ae263eeed0c4883bfcd5488343;hpb=731ec69d4608ba95e3ae4f154b8ca1852e1db2e5 diff --git a/src/common/bufferviewconfig.cpp b/src/common/bufferviewconfig.cpp index 935d175f..3bd71f79 100644 --- a/src/common/bufferviewconfig.cpp +++ b/src/common/bufferviewconfig.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,219 +15,353 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #include "bufferviewconfig.h" -#include "bufferinfo.h" +BufferViewConfig::BufferViewConfig(int bufferViewId, QObject* parent) + : SyncableObject(parent) + , _bufferViewId(bufferViewId) +{ + setObjectName(QString::number(bufferViewId)); +} -BufferViewConfig::BufferViewConfig(int bufferViewId, QObject *parent) - : SyncableObject(parent), - _bufferViewId(bufferViewId), - _addNewBuffersAutomatically(true), - _sortAlphabetically(true), - _hideInactiveBuffers(false), - _disableDecoration(false), - _allowedBufferTypes(BufferInfo::StatusBuffer | BufferInfo::ChannelBuffer | BufferInfo::QueryBuffer | BufferInfo::GroupBuffer), - _minimumActivity(0) +BufferViewConfig::BufferViewConfig(int bufferViewId, const QVariantMap& properties, QObject* parent) + : SyncableObject(parent) + , _bufferViewId(bufferViewId) { - setObjectName(QString::number(bufferViewId)); + fromVariantMap(properties); + setObjectName(QString::number(bufferViewId)); } -BufferViewConfig::BufferViewConfig(int bufferViewId, const QVariantMap &properties, QObject *parent) - : SyncableObject(parent), - _bufferViewId(bufferViewId), - _disableDecoration(false) // FIXME remove as soon as we have bumped the protocol version to v8 +int BufferViewConfig::bufferViewId() const { - fromVariantMap(properties); - setObjectName(QString::number(bufferViewId)); + return _bufferViewId; } -void BufferViewConfig::setBufferViewName(const QString &bufferViewName) { - if(_bufferViewName == bufferViewName) - return; +QString BufferViewConfig::bufferViewName() const +{ + return _bufferViewName; +} - _bufferViewName = bufferViewName; - emit bufferViewNameSet(bufferViewName); +NetworkId BufferViewConfig::networkId() const +{ + return _networkId; } -void BufferViewConfig::setNetworkId(const NetworkId &networkId) { - if(_networkId == networkId) - return; +bool BufferViewConfig::addNewBuffersAutomatically() const +{ + return _addNewBuffersAutomatically; +} - _networkId = networkId; - emit networkIdSet(networkId); +bool BufferViewConfig::sortAlphabetically() const +{ + return _sortAlphabetically; } -void BufferViewConfig::setAddNewBuffersAutomatically(bool addNewBuffersAutomatically) { - if(_addNewBuffersAutomatically == addNewBuffersAutomatically) - return; +bool BufferViewConfig::disableDecoration() const +{ + return _disableDecoration; +} - _addNewBuffersAutomatically = addNewBuffersAutomatically; - emit addNewBuffersAutomaticallySet(addNewBuffersAutomatically); +int BufferViewConfig::allowedBufferTypes() const +{ + return _allowedBufferTypes; } -void BufferViewConfig::setSortAlphabetically(bool sortAlphabetically) { - if(_sortAlphabetically == sortAlphabetically) - return; +int BufferViewConfig::minimumActivity() const +{ + return _minimumActivity; +} - _sortAlphabetically = sortAlphabetically; - emit sortAlphabeticallySet(sortAlphabetically); +bool BufferViewConfig::hideInactiveBuffers() const +{ + return _hideInactiveBuffers; } -void BufferViewConfig::setDisableDecoration(bool disableDecoration) { - if(_disableDecoration == disableDecoration) - return; +bool BufferViewConfig::hideInactiveNetworks() const +{ + return _hideInactiveNetworks; +} - _disableDecoration = disableDecoration; - emit disableDecorationSet(disableDecoration); +bool BufferViewConfig::showSearch() const +{ + return _showSearch; } -void BufferViewConfig::setAllowedBufferTypes(int bufferTypes) { - if(_allowedBufferTypes == bufferTypes) - return; +QList BufferViewConfig::bufferList() const +{ + return _buffers; +} - _allowedBufferTypes = bufferTypes; - emit allowedBufferTypesSet(bufferTypes); +QSet BufferViewConfig::removedBuffers() const +{ + return _removedBuffers; } -void BufferViewConfig::setMinimumActivity(int activity) { - if(_minimumActivity == activity) - return; +QSet BufferViewConfig::temporarilyRemovedBuffers() const +{ + return _temporarilyRemovedBuffers; +} + +QVariantList BufferViewConfig::initBufferList() const +{ + QVariantList buffers; + + foreach (BufferId bufferId, _buffers) { + buffers << QVariant::fromValue(bufferId); + } - _minimumActivity = activity; - emit minimumActivitySet(activity); + return buffers; } -void BufferViewConfig::setHideInactiveBuffers(bool hideInactiveBuffers) { - if(_hideInactiveBuffers == hideInactiveBuffers) - return; +void BufferViewConfig::initSetBufferList(const QVariantList& buffers) +{ + _buffers.clear(); + + foreach (QVariant buffer, buffers) { + _buffers << buffer.value(); + } - _hideInactiveBuffers = hideInactiveBuffers; - emit hideInactiveBuffersSet(hideInactiveBuffers); + emit configChanged(); // used to track changes in the settingspage } -QVariantList BufferViewConfig::initBufferList() const { - QVariantList buffers; +QVariantList BufferViewConfig::initRemovedBuffers() const +{ + QVariantList removedBuffers; + + foreach (BufferId bufferId, _removedBuffers) { + removedBuffers << QVariant::fromValue(bufferId); + } + + return removedBuffers; +} + +void BufferViewConfig::initSetRemovedBuffers(const QVariantList& buffers) +{ + _removedBuffers.clear(); + + foreach (QVariant buffer, buffers) { + _removedBuffers << buffer.value(); + } +} + +QVariantList BufferViewConfig::initTemporarilyRemovedBuffers() const +{ + QVariantList temporarilyRemovedBuffers; + + foreach (BufferId bufferId, _temporarilyRemovedBuffers) { + temporarilyRemovedBuffers << QVariant::fromValue(bufferId); + } + + return temporarilyRemovedBuffers; +} - foreach(BufferId bufferId, _buffers) { - buffers << qVariantFromValue(bufferId); - } +void BufferViewConfig::initSetTemporarilyRemovedBuffers(const QVariantList& buffers) +{ + _temporarilyRemovedBuffers.clear(); - return buffers; + foreach (QVariant buffer, buffers) { + _temporarilyRemovedBuffers << buffer.value(); + } } -void BufferViewConfig::initSetBufferList(const QVariantList &buffers) { - _buffers.clear(); +void BufferViewConfig::setBufferViewName(const QString& bufferViewName) +{ + if (_bufferViewName == bufferViewName) + return; + + _bufferViewName = bufferViewName; + SYNC(ARG(bufferViewName)) + emit bufferViewNameSet(bufferViewName); +} - foreach(QVariant buffer, buffers) { - _buffers << buffer.value(); - } +void BufferViewConfig::setNetworkId(const NetworkId& networkId) +{ + if (_networkId == networkId) + return; - // normaly initSeters don't need an emit. this one is to track changes in the settingspage - emit bufferListSet(); + _networkId = networkId; + SYNC(ARG(networkId)) + emit networkIdSet(networkId); + emit configChanged(); } -void BufferViewConfig::initSetBufferList(const QList &buffers) { - _buffers.clear(); +void BufferViewConfig::setAddNewBuffersAutomatically(bool addNewBuffersAutomatically) +{ + if (_addNewBuffersAutomatically == addNewBuffersAutomatically) + return; - foreach(BufferId bufferId, buffers) { - _buffers << bufferId; - } + _addNewBuffersAutomatically = addNewBuffersAutomatically; + SYNC(ARG(addNewBuffersAutomatically)) + emit configChanged(); +} + +void BufferViewConfig::setSortAlphabetically(bool sortAlphabetically) +{ + if (_sortAlphabetically == sortAlphabetically) + return; - // normaly initSeters don't need an emit. this one is to track changes in the settingspage - emit bufferListSet(); + _sortAlphabetically = sortAlphabetically; + SYNC(ARG(sortAlphabetically)) + emit configChanged(); } -QVariantList BufferViewConfig::initRemovedBuffers() const { - QVariantList removedBuffers; +void BufferViewConfig::setDisableDecoration(bool disableDecoration) +{ + if (_disableDecoration == disableDecoration) + return; - foreach(BufferId bufferId, _removedBuffers) { - removedBuffers << qVariantFromValue(bufferId); - } + _disableDecoration = disableDecoration; + SYNC(ARG(disableDecoration)) +} - return removedBuffers; +void BufferViewConfig::setAllowedBufferTypes(int bufferTypes) +{ + if (_allowedBufferTypes == bufferTypes) + return; + + _allowedBufferTypes = bufferTypes; + SYNC(ARG(bufferTypes)) + emit configChanged(); } -void BufferViewConfig::initSetRemovedBuffers(const QVariantList &buffers) { - _removedBuffers.clear(); +void BufferViewConfig::setMinimumActivity(int activity) +{ + if (_minimumActivity == activity) + return; - foreach(QVariant buffer, buffers) { - _removedBuffers << buffer.value(); - } + _minimumActivity = activity; + SYNC(ARG(activity)) + emit configChanged(); } -QVariantList BufferViewConfig::initTemporarilyRemovedBuffers() const { - QVariantList temporarilyRemovedBuffers; +void BufferViewConfig::setHideInactiveBuffers(bool hideInactiveBuffers) +{ + if (_hideInactiveBuffers == hideInactiveBuffers) + return; - foreach(BufferId bufferId, _temporarilyRemovedBuffers) { - temporarilyRemovedBuffers << qVariantFromValue(bufferId); - } + _hideInactiveBuffers = hideInactiveBuffers; + SYNC(ARG(hideInactiveBuffers)) + emit configChanged(); +} - return temporarilyRemovedBuffers; +void BufferViewConfig::setHideInactiveNetworks(bool hideInactiveNetworks) +{ + if (_hideInactiveNetworks == hideInactiveNetworks) + return; + + _hideInactiveNetworks = hideInactiveNetworks; + SYNC(ARG(hideInactiveNetworks)) + emit configChanged(); } -void BufferViewConfig::initSetTemporarilyRemovedBuffers(const QVariantList &buffers) { - _temporarilyRemovedBuffers.clear(); +void BufferViewConfig::setShowSearch(bool showSearch) +{ + if (_showSearch == showSearch) { + return; + } - foreach(QVariant buffer, buffers) { - _temporarilyRemovedBuffers << buffer.value(); - } + _showSearch = showSearch; + SYNC(ARG(showSearch)) + emit configChanged(); } -void BufferViewConfig::addBuffer(const BufferId &bufferId, int pos) { - if(_buffers.contains(bufferId)) - return; +void BufferViewConfig::setBufferList(const QList& buffers) +{ + _buffers = buffers; + emit configChanged(); +} + +void BufferViewConfig::addBuffer(const BufferId& bufferId, int pos) +{ + if (_buffers.contains(bufferId)) + return; + + if (pos < 0) + pos = 0; + if (pos > _buffers.count()) + pos = _buffers.count(); - if(pos < 0) - pos = 0; - if(pos > _buffers.count()) - pos = _buffers.count(); + if (_removedBuffers.contains(bufferId)) + _removedBuffers.remove(bufferId); - if(_removedBuffers.contains(bufferId)) - _removedBuffers.remove(bufferId); + if (_temporarilyRemovedBuffers.contains(bufferId)) + _temporarilyRemovedBuffers.remove(bufferId); - if(_temporarilyRemovedBuffers.contains(bufferId)) - _temporarilyRemovedBuffers.remove(bufferId); + _buffers.insert(pos, bufferId); + SYNC(ARG(bufferId), ARG(pos)) + emit bufferAdded(bufferId, pos); + emit configChanged(); +} - _buffers.insert(pos, bufferId); - emit bufferAdded(bufferId, pos); +void BufferViewConfig::moveBuffer(const BufferId& bufferId, int pos) +{ + if (!_buffers.contains(bufferId)) + return; + + if (pos < 0) + pos = 0; + if (pos >= _buffers.count()) + pos = _buffers.count() - 1; + + _buffers.move(_buffers.indexOf(bufferId), pos); + SYNC(ARG(bufferId), ARG(pos)) + emit bufferMoved(bufferId, pos); + emit configChanged(); } -void BufferViewConfig::moveBuffer(const BufferId &bufferId, int pos) { - if(!_buffers.contains(bufferId)) - return; +void BufferViewConfig::removeBuffer(const BufferId& bufferId) +{ + if (_buffers.contains(bufferId)) + _buffers.removeAt(_buffers.indexOf(bufferId)); - if(pos < 0) - pos = 0; - if(pos >= _buffers.count()) - pos = _buffers.count() - 1; + if (_removedBuffers.contains(bufferId)) + _removedBuffers.remove(bufferId); - _buffers.move(_buffers.indexOf(bufferId), pos); - emit bufferMoved(bufferId, pos); + _temporarilyRemovedBuffers << bufferId; + SYNC(ARG(bufferId)) + emit bufferRemoved(bufferId); + emit configChanged(); } -void BufferViewConfig::removeBuffer(const BufferId &bufferId) { - if(_buffers.contains(bufferId)) - _buffers.removeAt(_buffers.indexOf(bufferId)); +void BufferViewConfig::removeBufferPermanently(const BufferId& bufferId) +{ + if (_buffers.contains(bufferId)) + _buffers.removeAt(_buffers.indexOf(bufferId)); - if(_removedBuffers.contains(bufferId)) - _removedBuffers.remove(bufferId); + if (_temporarilyRemovedBuffers.contains(bufferId)) + _temporarilyRemovedBuffers.remove(bufferId); - _temporarilyRemovedBuffers << bufferId; + _removedBuffers << bufferId; - emit bufferRemoved(bufferId); + SYNC(ARG(bufferId)) + emit bufferPermanentlyRemoved(bufferId); + emit configChanged(); } -void BufferViewConfig::removeBufferPermanently(const BufferId &bufferId) { - if(_buffers.contains(bufferId)) - _buffers.removeAt(_buffers.indexOf(bufferId)); +void BufferViewConfig::requestSetBufferViewName(const QString& bufferViewName) +{ + REQUEST(ARG(bufferViewName)) +} - if(_temporarilyRemovedBuffers.contains(bufferId)) - _temporarilyRemovedBuffers.remove(bufferId); +void BufferViewConfig::requestAddBuffer(const BufferId& bufferId, int pos) +{ + REQUEST(ARG(bufferId), ARG(pos)) +} - _removedBuffers << bufferId; +void BufferViewConfig::requestMoveBuffer(const BufferId& bufferId, int pos) +{ + REQUEST(ARG(bufferId), ARG(pos)) +} - emit bufferPermanentlyRemoved(bufferId); +void BufferViewConfig::requestRemoveBuffer(const BufferId& bufferId) +{ + REQUEST(ARG(bufferId)) +} + +void BufferViewConfig::requestRemoveBufferPermanently(const BufferId& bufferId) +{ + REQUEST(ARG(bufferId)) }