Selecting sort alphabetically prohibits now reordering the buffer view.
If you edit an existing buffer view in the settings page checking
"sort alphabetically" will cause a resort. Unchecking doesn't
"randomize" (or whatever) the view and leaves it in the sorted state,
but you can now reorder it again.
+ config->setLocked(QtUiSettings().value("LockLayout", false).toBool());
BufferViewDock *dock = new BufferViewDock(config, this);
//create the view and initialize it's filter
BufferViewDock *dock = new BufferViewDock(config, this);
//create the view and initialize it's filter
foreach(VerticalDock *dock, docks) {
dock->showTitle(!lock);
}
foreach(VerticalDock *dock, docks) {
dock->showTitle(!lock);
}
- foreach(ClientBufferViewConfig *config, Client::bufferViewManager()->clientBufferViewConfigs()) {
- config->setLocked(lock);
+ if(Client::bufferViewManager()) {
+ foreach(ClientBufferViewConfig *config, Client::bufferViewManager()->clientBufferViewConfigs()) {
+ config->setLocked(lock);
+ }
}
QtUiSettings().setValue("LockLayout", lock);
}
}
QtUiSettings().setValue("LockLayout", lock);
}
#include "buffermodel.h"
#include "clientbufferviewmanager.h"
#include "networkmodel.h"
#include "buffermodel.h"
#include "clientbufferviewmanager.h"
#include "networkmodel.h"
BufferViewSettingsPage::BufferViewSettingsPage(QWidget *parent)
: SettingsPage(tr("General"), tr("Buffer Views"), parent),
BufferViewSettingsPage::BufferViewSettingsPage(QWidget *parent)
: SettingsPage(tr("General"), tr("Buffer Views"), parent),
}
_ignoreWidgetChanges = false;
}
_ignoreWidgetChanges = false;
if(!useBufferViewHint || !selectBufferViewById(bufferViewHint))
ui.bufferViewList->setCurrentRow(0);
}
if(!useBufferViewHint || !selectBufferViewById(bufferViewHint))
ui.bufferViewList->setCurrentRow(0);
}
_useBufferViewHint = true;
_bufferViewHint = currentConfig->bufferViewId();
}
_useBufferViewHint = true;
_bufferViewHint = currentConfig->bufferViewId();
}
QVariantList newConfigs;
QVariantList deleteConfigs;
QVariantList changedConfigs;
QVariantList newConfigs;
QVariantList deleteConfigs;
QVariantList changedConfigs;
config->setInitialized();
QList<BufferId> bufferIds;
if(config->addNewBuffersAutomatically()) {
config->setInitialized();
QList<BufferId> bufferIds;
if(config->addNewBuffersAutomatically()) {
- if(config->sortAlphabetically())
+ if(config->sortAlphabetically()) {
bufferIds = Client::networkModel()->allBufferIdsSorted();
bufferIds = Client::networkModel()->allBufferIdsSorted();
bufferIds = Client::networkModel()->allBufferIds();
bufferIds = Client::networkModel()->allBufferIds();
+ qSort(bufferIds);
+ config->setProperty("OriginalBufferList", toVariantList<BufferId>(bufferIds));
+ }
}
config->initSetBufferList(bufferIds);
}
config->initSetBufferList(bufferIds);
minimumActivity = 1 << (ui.minimumActivitySelector->currentIndex() - 1);
config->setMinimumActivity(minimumActivity);
minimumActivity = 1 << (ui.minimumActivitySelector->currentIndex() - 1);
config->setMinimumActivity(minimumActivity);
- if(_newBufferViews.contains(config)) {
- QList<BufferId> bufferIds;
- if(config->addNewBuffersAutomatically()) {
- if(config->sortAlphabetically())
- bufferIds = Client::networkModel()->allBufferIdsSorted();
- else
- bufferIds = Client::networkModel()->allBufferIds();
- }
+ QList<BufferId> bufferIds = fromVariantList<BufferId>(config->property("OriginalBufferList").toList());
+ if(config->sortAlphabetically())
+ Client::networkModel()->sortBufferIds(bufferIds);
+
+ if(!_newBufferViews.contains(config) || config->addNewBuffersAutomatically())
config->initSetBufferList(bufferIds);
config->initSetBufferList(bufferIds);
}
void BufferViewSettingsPage::widgetHasChanged() {
}
void BufferViewSettingsPage::widgetHasChanged() {
connect(config, SIGNAL(moveBufferRequested(const BufferId &, int)), changedConfig, SLOT(moveBuffer(const BufferId &, int)));
connect(config, SIGNAL(removeBufferRequested(const BufferId &)), changedConfig, SLOT(removeBuffer(const BufferId &)));
connect(config, SIGNAL(moveBufferRequested(const BufferId &, int)), changedConfig, SLOT(moveBuffer(const BufferId &, int)));
connect(config, SIGNAL(removeBufferRequested(const BufferId &)), changedConfig, SLOT(removeBuffer(const BufferId &)));
+ changedConfig->setProperty("OriginalBufferList", toVariantList<BufferId>(config->bufferList()));
// 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());
if(filter && filter->config() == config)
// 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());
if(filter && filter->config() == config)
NetworkId leftNetworkId = sourceModel()->data(source_left, NetworkModel::NetworkIdRole).value<NetworkId>();
NetworkId rightNetworkId = sourceModel()->data(source_right, NetworkModel::NetworkIdRole).value<NetworkId>();
NetworkId leftNetworkId = sourceModel()->data(source_left, NetworkModel::NetworkIdRole).value<NetworkId>();
NetworkId rightNetworkId = sourceModel()->data(source_right, NetworkModel::NetworkIdRole).value<NetworkId>();
- if(config() && config()->sortAlphabetically())
- return QSortFilterProxyModel::lessThan(source_left, source_right);
- else
- return leftNetworkId < rightNetworkId;
+ return QSortFilterProxyModel::lessThan(source_left, source_right);
}
QVariant BufferViewFilter::data(const QModelIndex &index, int role) const {
}
QVariant BufferViewFilter::data(const QModelIndex &index, int role) const {