X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fbufferviewsettingspage.cpp;h=5447735c81c0cfa92bcfb357046bdf481fe99fd4;hp=e8392920e18db43b00d216c0ce5a2e10f09935e7;hb=f824db0e31b54969e0b7fa0b5405b1e9173d482c;hpb=997fd2faaf19b25128fa7516be89aa5b0c165ae7 diff --git a/src/qtui/settingspages/bufferviewsettingspage.cpp b/src/qtui/settingspages/bufferviewsettingspage.cpp index e8392920..5447735c 100644 --- a/src/qtui/settingspages/bufferviewsettingspage.cpp +++ b/src/qtui/settingspages/bufferviewsettingspage.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -61,6 +61,8 @@ BufferViewSettingsPage::BufferViewSettingsPage(QWidget *parent) connect(ui.hideInactiveBuffers, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.networkSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.minimumActivitySelector, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); + + connect(ui.networkSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(enableStatusBuffers(int))); } BufferViewSettingsPage::~BufferViewSettingsPage() { @@ -279,6 +281,12 @@ void BufferViewSettingsPage::updateBufferView() { loadConfig(config); } +void BufferViewSettingsPage::enableStatusBuffers(int networkIdx) { + // we don't show a status buffer if we show multiple networks as selecting + // the network is the same as selecting the status buffer. + ui.onlyStatusBuffers->setEnabled(networkIdx != 0); +} + void BufferViewSettingsPage::on_addBufferView_clicked() { if(!Client::bufferViewManager()) return; @@ -342,10 +350,11 @@ void BufferViewSettingsPage::on_deleteBufferView_clicked() { QList::iterator iter = _newBufferViews.begin(); while(iter != _newBufferViews.end()) { if(*iter == config) { - _newBufferViews.erase(iter); + iter = _newBufferViews.erase(iter); break; + } else { + iter++; } - iter++; } delete config; if(_deleteBufferViews.isEmpty() && _changedBufferViews.isEmpty() && _newBufferViews.isEmpty()) @@ -455,7 +464,7 @@ bool BufferViewSettingsPage::testHasChanged() { while(iter != iterEnd) { if(&(iter.key()) == &(iter.value())) { iter.value()->deleteLater(); - _changedBufferViews.erase(iter); + iter = _changedBufferViews.erase(iter); } else { changed = true; iter++;