X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fbufferviewsettingspage.cpp;h=f0a8230fb178b083bffee302c1ec1d6487ae2410;hp=f8133de77851bd9667513ff98675a45717251842;hb=83072dd24a252b6f4baa2b40e91018929a607088;hpb=75d7f7d582826603236394a37f43feb4cd725bb0 diff --git a/src/qtui/settingspages/bufferviewsettingspage.cpp b/src/qtui/settingspages/bufferviewsettingspage.cpp index f8133de7..f0a8230f 100644 --- a/src/qtui/settingspages/bufferviewsettingspage.cpp +++ b/src/qtui/settingspages/bufferviewsettingspage.cpp @@ -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() { @@ -221,9 +223,10 @@ void BufferViewSettingsPage::newBufferView(const QString &bufferViewName) { config->setInitialized(); QList 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); @@ -278,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; @@ -427,9 +436,10 @@ void BufferViewSettingsPage::saveConfig(BufferViewConfig *config) { if(_newBufferViews.contains(config)) { QList 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); }