#include <QMessageBox>
#include "client.h"
+#include "iconloader.h"
#include "network.h"
#include "bufferviewconfig.h"
#include "bufferviewfilter.h"
_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 &)));
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() {
}
_deleteBufferViews.clear();
-
+
setChangedState(false);
}
_ignoreWidgetChanges = true;
// load network selector
ui.networkSelector->clear();
- ui.networkSelector->addItem("All");
+ ui.networkSelector->addItem(tr("All"));
ui.networkSelector->setItemData(0, qVariantFromValue<NetworkId>(NetworkId()));
const Network *net;
foreach(NetworkId netId, Client::networkIds()) {
ui.networkSelector->setItemData(ui.networkSelector->count() - 1, qVariantFromValue<NetworkId>(net->networkId()));
}
_ignoreWidgetChanges = false;
-
+
ui.bufferViewList->setCurrentRow(0);
}
if(Client::bufferViewManager()) {
Client::bufferViewManager()->requestDeleteBufferViews(deleteConfigs);
}
-
+
QHash<BufferViewConfig *, BufferViewConfig *>::iterator changedConfigIter = _changedBufferViews.begin();
QHash<BufferViewConfig *, BufferViewConfig *>::iterator changedConfigIterEnd = _changedBufferViews.end();
BufferViewConfig *config, *changedConfig;
QList<BufferId> 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);
}
addBufferView(config);
ui.bufferViewList->setCurrentRow(listPos(config));
}
-
+
int BufferViewSettingsPage::listPos(BufferViewConfig *config) {
QObject *obj;
for(int i = 0; i < ui.bufferViewList->count(); i++) {
void BufferViewSettingsPage::on_addBufferView_clicked() {
if(!Client::bufferViewManager())
return;
-
+
QStringList existing;
foreach(BufferViewConfig *bufferConfig, Client::bufferViewManager()->bufferViewConfigs()) {
existing << bufferConfig->bufferViewName();
if(!Client::bufferViewManager())
return;
-
+
BufferViewConfig *config = bufferView(ui.bufferViewList->currentRow());
if(!config)
return;
void BufferViewSettingsPage::loadConfig(BufferViewConfig *config) {
if(!config)
return;
-
+
_ignoreWidgetChanges = true;
ui.onlyStatusBuffers->setChecked(BufferInfo::StatusBuffer & config->allowedBufferTypes());
ui.onlyChannelBuffers->setChecked(BufferInfo::ChannelBuffer & config->allowedBufferTypes());
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;
if(_newBufferViews.contains(config)) {
QList<BufferId> 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);
}
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)));