X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fbufferviewsettingspage.cpp;h=6c059246109b7e76e6acc0d1be9e8cfc8c8dff14;hp=5710bd70c5160cd9147178ad9cf977c241201e62;hb=f429bd6dfbea50ad4690875f1466a920f7a3b509;hpb=8db1c0298b0b9baf3af072a5ef368b2f2d14169d diff --git a/src/qtui/settingspages/bufferviewsettingspage.cpp b/src/qtui/settingspages/bufferviewsettingspage.cpp index 5710bd70..6c059246 100644 --- a/src/qtui/settingspages/bufferviewsettingspage.cpp +++ b/src/qtui/settingspages/bufferviewsettingspage.cpp @@ -23,6 +23,7 @@ #include #include "client.h" +#include "iconloader.h" #include "network.h" #include "bufferviewconfig.h" #include "bufferviewfilter.h" @@ -35,13 +36,17 @@ BufferViewSettingsPage::BufferViewSettingsPage(QWidget *parent) _ignoreWidgetChanges(false) { ui.setupUi(this); + ui.renameBufferView->setIcon(SmallIcon("edit-rename")); + ui.addBufferView->setIcon(SmallIcon("list-add")); + ui.deleteBufferView->setIcon(SmallIcon("edit-delete")); + reset(); ui.bufferViewList->setSortingEnabled(true); ui.settingsGroupBox->setEnabled(false); ui.bufferViewPreview->setEnabled(false); - setEnabled(Client::isConnected()); // need a core connection! + coreConnectionStateChanged(Client::isConnected()); // need a core connection! connect(Client::instance(), SIGNAL(coreConnectionStateChanged(bool)), this, SLOT(coreConnectionStateChanged(bool))); connect(ui.bufferViewList->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT(bufferViewSelectionChanged(const QItemSelection &, const QItemSelection &))); @@ -54,9 +59,6 @@ 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())); - - // FIXME: (see FIXME in BufferViewFilter::filterAcceptBuffer()) - ui.minimumActivitySelector->setEnabled(false); } BufferViewSettingsPage::~BufferViewSettingsPage() { @@ -84,7 +86,7 @@ void BufferViewSettingsPage::reset() { } _deleteBufferViews.clear(); - + setChangedState(false); } @@ -102,7 +104,7 @@ void BufferViewSettingsPage::load() { _ignoreWidgetChanges = true; // load network selector ui.networkSelector->clear(); - ui.networkSelector->addItem("All"); + ui.networkSelector->addItem(tr("All")); ui.networkSelector->setItemData(0, qVariantFromValue(NetworkId())); const Network *net; foreach(NetworkId netId, Client::networkIds()) { @@ -111,7 +113,7 @@ void BufferViewSettingsPage::load() { ui.networkSelector->setItemData(ui.networkSelector->count() - 1, qVariantFromValue(net->networkId())); } _ignoreWidgetChanges = false; - + ui.bufferViewList->setCurrentRow(0); } @@ -128,7 +130,7 @@ void BufferViewSettingsPage::save() { if(Client::bufferViewManager()) { Client::bufferViewManager()->requestDeleteBufferViews(deleteConfigs); } - + QHash::iterator changedConfigIter = _changedBufferViews.begin(); QHash::iterator changedConfigIterEnd = _changedBufferViews.end(); BufferViewConfig *config, *changedConfig; @@ -199,9 +201,7 @@ void BufferViewSettingsPage::newBufferView(const QString &bufferViewName) { QList bufferIds; if(config->addNewBuffersAutomatically()) { - foreach(BufferInfo bufferInfo, Client::allBufferInfos()) { - bufferIds << bufferInfo.bufferId(); - } + bufferIds = Client::networkModel()->allBufferIds(); if(config->sortAlphabetically()) qSort(bufferIds.begin(), bufferIds.end(), bufferIdLessThan); } @@ -211,7 +211,7 @@ void BufferViewSettingsPage::newBufferView(const QString &bufferViewName) { addBufferView(config); ui.bufferViewList->setCurrentRow(listPos(config)); } - + int BufferViewSettingsPage::listPos(BufferViewConfig *config) { QObject *obj; for(int i = 0; i < ui.bufferViewList->count(); i++) { @@ -249,7 +249,7 @@ void BufferViewSettingsPage::updateBufferView() { void BufferViewSettingsPage::on_addBufferView_clicked() { if(!Client::bufferViewManager()) return; - + QStringList existing; foreach(BufferViewConfig *bufferConfig, Client::bufferViewManager()->bufferViewConfigs()) { existing << bufferConfig->bufferViewName(); @@ -268,7 +268,7 @@ void BufferViewSettingsPage::on_renameBufferView_clicked() { if(!Client::bufferViewManager()) return; - + BufferViewConfig *config = bufferView(ui.bufferViewList->currentRow()); if(!config) return; @@ -324,7 +324,7 @@ void BufferViewSettingsPage::bufferViewSelectionChanged(const QItemSelection &cu void BufferViewSettingsPage::loadConfig(BufferViewConfig *config) { if(!config) return; - + _ignoreWidgetChanges = true; ui.onlyStatusBuffers->setChecked(BufferInfo::StatusBuffer & config->allowedBufferTypes()); ui.onlyChannelBuffers->setChecked(BufferInfo::ChannelBuffer & config->allowedBufferTypes()); @@ -351,14 +351,14 @@ void BufferViewSettingsPage::loadConfig(BufferViewConfig *config) { ui.minimumActivitySelector->setCurrentIndex(activityIndex); ui.bufferViewPreview->setFilteredModel(Client::bufferModel(), config); - + _ignoreWidgetChanges = false; } void BufferViewSettingsPage::saveConfig(BufferViewConfig *config) { if(!config) return; - + int allowedBufferTypes = 0; if(ui.onlyStatusBuffers->isChecked()) allowedBufferTypes |= BufferInfo::StatusBuffer; @@ -381,9 +381,7 @@ void BufferViewSettingsPage::saveConfig(BufferViewConfig *config) { if(_newBufferViews.contains(config)) { QList bufferIds; if(config->addNewBuffersAutomatically()) { - foreach(BufferInfo bufferInfo, Client::allBufferInfos()) { - bufferIds << bufferInfo.bufferId(); - } + bufferIds = Client::networkModel()->allBufferIds(); if(config->sortAlphabetically()) qSort(bufferIds.begin(), bufferIds.end(), bufferIdLessThan); } @@ -421,12 +419,13 @@ bool BufferViewSettingsPage::testHasChanged() { BufferViewConfig *BufferViewSettingsPage::cloneConfig(BufferViewConfig *config) { if(!config || config->bufferViewId() < 0) return config; - + if(_changedBufferViews.contains(config)) return _changedBufferViews[config]; BufferViewConfig *changedConfig = new BufferViewConfig(-1, this); changedConfig->fromVariantMap(config->toVariantMap()); + changedConfig->setInitialized(); _changedBufferViews[config] = changedConfig; connect(config, SIGNAL(bufferAdded(const BufferId &, int)), changedConfig, SLOT(addBuffer(const BufferId &, int))); connect(config, SIGNAL(bufferMoved(const BufferId &, int)), changedConfig, SLOT(moveBuffer(const BufferId &, int)));