break;
dock = qobject_cast<BufferViewDock *>(action->parent());
- if(dock && actionData.toInt() != bufferViewConfigId) {
+ if(dock && actionData.toInt() == bufferViewConfigId) {
removeAction(action);
dock->deleteLater();
}
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() {
BufferViewConfig *changedConfig = new BufferViewConfig(-1, this);
changedConfig->fromVariantMap(config->toVariantMap());
_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)));
+ connect(config, SIGNAL(bufferRemoved(const BufferId &)), changedConfig, SLOT(removeBuffer(const BufferId &)));
+ connect(config, SIGNAL(addBufferRequested(const BufferId &, int)), changedConfig, SLOT(addBuffer(const BufferId &, int)));
+ connect(config, SIGNAL(moveBufferRequested(const BufferId &, int)), changedConfig, SLOT(moveBuffer(const BufferId &, int)));
+ connect(config, SIGNAL(removeBufferRequested(const BufferId &)), changedConfig, SLOT(removeBuffer(const BufferId &)));
// if this is the currently displayed view we have to change the config of the preview filter
BufferViewFilter *filter = qobject_cast<BufferViewFilter *>(ui.bufferViewPreview->model());
{
setConfig(config);
setSourceModel(model);
+ connect(model, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(source_rowsInserted(const QModelIndex &, int, int)));
+
// setSortCaseSensitivity(Qt::CaseInsensitive);
setDynamicSortFilter(true);
}
networkId = bufferList[i].first;
bufferId = bufferList[i].second;
if(droppedNetworkId == networkId) {
+ if(row < 0)
+ row = 0;
if(row < rowCount(parent)) {
BufferId beforeBufferId = parent.child(row, 0).data(NetworkModel::BufferIdRole).value<BufferId>();
pos = config()->bufferList().indexOf(beforeBufferId);
if(_config->hideInactiveBuffers() && !source_bufferIndex.data(NetworkModel::ItemActiveRole).toBool())
return false;
- if(_config->minimumActivity() > source_bufferIndex.data(NetworkModel::BufferActivityRole).toInt())
- return false;
+ // FIXME: this can result in bad loops :(
+ // if(_config->minimumActivity() > source_bufferIndex.data(NetworkModel::BufferActivityRole).toInt())
+ // return false;
- BufferId bufferId = sourceModel()->data(source_bufferIndex, NetworkModel::BufferIdRole).value<BufferId>();
- return _config->bufferList().contains(bufferId);
+ BufferId bufferId = sourceModel()->data(source_bufferIndex, NetworkModel::BufferIdRole).value<BufferId>();
+ return _config->bufferList().contains(bufferId);
}
bool BufferViewFilter::filterAcceptNetwork(const QModelIndex &source_index) const {
}
+void BufferViewFilter::source_rowsInserted(const QModelIndex &parent, int start, int end) {
+ if(parent.data(NetworkModel::ItemTypeRole) != NetworkModel::NetworkItemType)
+ return;
+
+ if(!config() || !config()->addNewBuffersAutomatically())
+ return;
+
+ for(int row = start; row <= end; row++) {
+ addBuffer(parent.child(row, 0).data(NetworkModel::BufferIdRole).value<BufferId>());
+ }
+}
// ******************************
// Helper
public slots:
void removeBuffer(const QModelIndex &);
+ void source_rowsInserted(const QModelIndex &parent, int start, int end);
protected:
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
{ using namespace Global;
quasselVersion = "0.2.0-beta1-pre";
- quasselDate = "2008-04-13";
- quasselBuild = 731;
+ quasselDate = "2008-04-14";
+ quasselBuild = 735;
//! Minimum client build number the core needs
clientBuildNeeded = 731;