-void CoreBufferViewManager::requestCreateBufferView(const QString &bufferViewName) {
- // FIXME retreive new Id from database or whereever this stuff will be stored
- int maxId = -1;
- BufferViewConfigHash::const_iterator iter = bufferViewConfigHash().constBegin();
- BufferViewConfigHash::const_iterator iterEnd = bufferViewConfigHash().constEnd();
- while(iter != iterEnd) {
- if((*iter)->bufferViewName() == bufferViewName)
- return;
-
- if((*iter)->bufferViewId() > maxId)
- maxId = (*iter)->bufferViewId();
-
- iter++;
- }
- maxId++;
-
- CoreBufferViewConfig *config = new CoreBufferViewConfig(maxId);
- config->setBufferViewName(bufferViewName);
- addBufferViewConfig(config);
+void CoreBufferViewManager::saveBufferViews()
+{
+ QVariantMap views;
+
+ BufferViewConfigHash::const_iterator iter = bufferViewConfigHash().constBegin();
+ BufferViewConfigHash::const_iterator iterEnd = bufferViewConfigHash().constEnd();
+ while (iter != iterEnd) {
+ views[QString::number((*iter)->bufferViewId())] = (*iter)->toVariantMap();
+ ++iter;
+ }
+
+ Core::setUserSetting(_coreSession->user(), "BufferViews", views);
+}
+
+void CoreBufferViewManager::requestCreateBufferView(const QVariantMap& properties)
+{
+ QString bufferViewName = properties["bufferViewName"].toString();
+ int maxId = -1;
+ BufferViewConfigHash::const_iterator iter = bufferViewConfigHash().constBegin();
+ BufferViewConfigHash::const_iterator iterEnd = bufferViewConfigHash().constEnd();
+ while (iter != iterEnd) {
+ if ((*iter)->bufferViewName() == bufferViewName)
+ return;
+
+ if ((*iter)->bufferViewId() > maxId)
+ maxId = (*iter)->bufferViewId();
+
+ ++iter;
+ }
+ maxId++;
+
+ addBufferViewConfig(new CoreBufferViewConfig(maxId, properties, this));
+}
+
+void CoreBufferViewManager::requestCreateBufferViews(const QVariantList& properties)
+{
+ QVariantList::const_iterator iter = properties.constBegin();
+ QVariantList::const_iterator iterEnd = properties.constEnd();
+ while (iter != iterEnd) {
+ requestCreateBufferView((*iter).toMap());
+ ++iter;
+ }
+}
+
+void CoreBufferViewManager::requestDeleteBufferView(int bufferViewId)
+{
+ deleteBufferViewConfig(bufferViewId);
+}
+
+void CoreBufferViewManager::requestDeleteBufferViews(const QVariantList& bufferViews)
+{
+ foreach (QVariant bufferView, bufferViews) {
+ deleteBufferViewConfig(bufferView.toInt());
+ }