X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fuisupport%2Fbufferviewfilter.cpp;h=ec14de08cc339cf9a9401f4112ac1887570ad4fe;hb=f6b9eeda207d42c99fc3e9085631722cf2ec83dc;hp=5b9d684573c208d34bd207ec085a061c3aa8a6ba;hpb=deba2421d87cbdea05c925cb3425042559d6ba21;p=quassel.git diff --git a/src/uisupport/bufferviewfilter.cpp b/src/uisupport/bufferviewfilter.cpp index 5b9d6845..ec14de08 100644 --- a/src/uisupport/bufferviewfilter.cpp +++ b/src/uisupport/bufferviewfilter.cpp @@ -83,7 +83,9 @@ void BufferViewFilter::setConfig(BufferViewConfig *config) { if(config->isInitialized()) { configInitialized(); } else { - connect(config, SIGNAL(initDone()), this, SLOT(configInitialized())); + // we use a queued connection here since manipulating the connection list of a sending object + // doesn't seem to be such a good idea while executing a connected slots. + connect(config, SIGNAL(initDone()), this, SLOT(configInitialized()), Qt::QueuedConnection); invalidate(); } } @@ -92,18 +94,19 @@ void BufferViewFilter::configInitialized() { if(!config()) return; - connect(config(), SIGNAL(bufferViewNameSet(const QString &)), this, SLOT(invalidate())); - connect(config(), SIGNAL(networkIdSet(const NetworkId &)), this, SLOT(invalidate())); - connect(config(), SIGNAL(addNewBuffersAutomaticallySet(bool)), this, SLOT(invalidate())); - connect(config(), SIGNAL(sortAlphabeticallySet(bool)), this, SLOT(invalidate())); - connect(config(), SIGNAL(hideInactiveBuffersSet(bool)), this, SLOT(invalidate())); - connect(config(), SIGNAL(allowedBufferTypesSet(int)), this, SLOT(invalidate())); - connect(config(), SIGNAL(minimumActivitySet(int)), this, SLOT(invalidate())); - connect(config(), SIGNAL(bufferListSet()), this, SLOT(invalidate())); - connect(config(), SIGNAL(bufferAdded(const BufferId &, int)), this, SLOT(invalidate())); - connect(config(), SIGNAL(bufferMoved(const BufferId &, int)), this, SLOT(invalidate())); - connect(config(), SIGNAL(bufferRemoved(const BufferId &)), this, SLOT(invalidate())); - connect(config(), SIGNAL(bufferPermanentlyRemoved(const BufferId &)), this, SLOT(invalidate())); +// connect(config(), SIGNAL(bufferViewNameSet(const QString &)), this, SLOT(invalidate())); + connect(config(), SIGNAL(configChanged()), this, SLOT(invalidate())); +// connect(config(), SIGNAL(networkIdSet(const NetworkId &)), this, SLOT(invalidate())); +// connect(config(), SIGNAL(addNewBuffersAutomaticallySet(bool)), this, SLOT(invalidate())); +// connect(config(), SIGNAL(sortAlphabeticallySet(bool)), this, SLOT(invalidate())); +// connect(config(), SIGNAL(hideInactiveBuffersSet(bool)), this, SLOT(invalidate())); +// connect(config(), SIGNAL(allowedBufferTypesSet(int)), this, SLOT(invalidate())); +// connect(config(), SIGNAL(minimumActivitySet(int)), this, SLOT(invalidate())); +// connect(config(), SIGNAL(bufferListSet()), this, SLOT(invalidate())); +// connect(config(), SIGNAL(bufferAdded(const BufferId &, int)), this, SLOT(invalidate())); +// connect(config(), SIGNAL(bufferMoved(const BufferId &, int)), this, SLOT(invalidate())); +// connect(config(), SIGNAL(bufferRemoved(const BufferId &)), this, SLOT(invalidate())); +// connect(config(), SIGNAL(bufferPermanentlyRemoved(const BufferId &)), this, SLOT(invalidate())); disconnect(config(), SIGNAL(initDone()), this, SLOT(configInitialized())); @@ -394,6 +397,8 @@ QVariant BufferViewFilter::data(const QModelIndex &index, int role) const { case Qt::ForegroundRole: case Qt::BackgroundRole: case Qt::DecorationRole: + if((config() && config()->disableDecoration())) + return QVariant(); return GraphicalUi::uiStyle()->bufferViewItemData(mapToSource(index), role); case Qt::CheckStateRole: return checkedState(index);