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() {
config->setInitialized();
QList<BufferId> bufferIds;
if(config->addNewBuffersAutomatically()) {
- bufferIds = Client::networkModel()->allBufferIds();
if(config->sortAlphabetically())
- qSort(bufferIds.begin(), bufferIds.end(), bufferIdLessThan);
+ bufferIds = Client::networkModel()->allBufferIdsSorted();
+ else
+ bufferIds = Client::networkModel()->allBufferIds();
}
config->initSetBufferList(bufferIds);
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;
QList<BufferViewConfig *>::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())
if(_newBufferViews.contains(config)) {
QList<BufferId> bufferIds;
if(config->addNewBuffersAutomatically()) {
- bufferIds = Client::networkModel()->allBufferIds();
if(config->sortAlphabetically())
- qSort(bufferIds.begin(), bufferIds.end(), bufferIdLessThan);
+ bufferIds = Client::networkModel()->allBufferIdsSorted();
+ else
+ bufferIds = Client::networkModel()->allBufferIds();
}
config->initSetBufferList(bufferIds);
}
while(iter != iterEnd) {
if(&(iter.key()) == &(iter.value())) {
iter.value()->deleteLater();
- _changedBufferViews.erase(iter);
+ iter = _changedBufferViews.erase(iter);
} else {
changed = true;
iter++;