diff --git a/python/plugins/processing/modeler/ModelerDialog.py b/python/plugins/processing/modeler/ModelerDialog.py
index f51d0b505892..394bf45b388c 100644
--- a/python/plugins/processing/modeler/ModelerDialog.py
+++ b/python/plugins/processing/modeler/ModelerDialog.py
@@ -32,7 +32,7 @@
from qgis.PyQt import uic
from qgis.PyQt.QtCore import Qt, QRectF, QMimeData, QPoint, QPointF, QSettings, QByteArray, QSize, pyqtSignal
-from qgis.PyQt.QtWidgets import QGraphicsView, QTreeWidget, QMessageBox, QFileDialog, QTreeWidgetItem, QSizePolicy
+from qgis.PyQt.QtWidgets import QGraphicsView, QTreeWidget, QMessageBox, QFileDialog, QTreeWidgetItem, QSizePolicy, QMainWindow
from qgis.PyQt.QtGui import QIcon, QImage, QPainter
from qgis.core import QgsApplication
from qgis.gui import QgsMessageBar
@@ -67,6 +67,17 @@ def __init__(self, alg=None):
self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
self.centralWidget().layout().insertWidget(0, self.bar)
+ try:
+ self.setDockOptions(self.dockOptions() | QMainWindow.GroupedDragging)
+ except:
+ pass
+
+ self.addDockWidget(Qt.LeftDockWidgetArea, self.propertiesDock)
+ self.addDockWidget(Qt.LeftDockWidgetArea, self.inputsDock)
+ self.addDockWidget(Qt.LeftDockWidgetArea, self.algorithmsDock)
+ self.tabifyDockWidget(self.inputsDock, self.algorithmsDock)
+ self.inputsDock.raise_()
+
self.zoom = 1
self.setWindowFlags(Qt.WindowMinimizeButtonHint |
@@ -76,9 +87,7 @@ def __init__(self, alg=None):
settings = QSettings()
self.restoreState(settings.value("/Processing/stateModeler", QByteArray()))
self.restoreGeometry(settings.value("/Processing/geometryModeler", QByteArray()))
- self.splitter.restoreState(settings.value("/Processing/stateModelerSplitter", QByteArray()))
- self.tabWidget.setCurrentIndex(0)
self.scene = ModelerScene(self)
self.scene.setSceneRect(QRectF(0, 0, self.CANVAS_SIZE, self.CANVAS_SIZE))
@@ -231,7 +240,6 @@ def closeEvent(self, evt):
settings = QSettings()
settings.setValue("/Processing/stateModeler", self.saveState())
settings.setValue("/Processing/geometryModeler", self.saveGeometry())
- settings.setValue("/Processing/stateModelerSplitter", self.splitter.saveState())
if self.hasChanged:
ret = QMessageBox.question(
diff --git a/python/plugins/processing/ui/DlgModeler.ui b/python/plugins/processing/ui/DlgModeler.ui
index 1fb8879c5133..425357937571 100644
--- a/python/plugins/processing/ui/DlgModeler.ui
+++ b/python/plugins/processing/ui/DlgModeler.ui
@@ -22,122 +22,272 @@
6
-
-
-
- Qt::Horizontal
+
+
+
+
+
+
+ QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable
+
+
+ Model properties
+
+
+ 1
+
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+
+ 0
+ 0
+
-
-
-
- 300
- 0
-
-
-
- QTabWidget::South
-
-
- 1
+
+ Qt::WheelFocus
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Plain
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 287
+ 500
+
-
-
- Inputs
-
-
-
- 4
-
-
- 0
-
-
-
-
-
- true
-
-
- false
-
-
+
+
+ 4
+
+
+ 6
+
+
-
+
+
+ 4
+
+
-
+
- 1
+ Name
-
-
-
-
-
-
-
- Algorithms
-
-
-
- 4
-
-
- 0
-
- -
-
-
- Enter algorithm name to filter list
-
-
-
- -
-
-
- true
-
-
- false
-
-
+
+
+ -
+
+
+ Enter model name here
+
+
+
+ -
+
- 1
+ Group
+
+
+
+ -
+
+
+ Enter group name here
-
-
-
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+ QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable
+
+
+ Inputs
+
+
+ 1
+
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Qt::WheelFocus
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Plain
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 287
+ 1113
+
+
+
4
-
-
-
-
- Model
+
+ 6
+
+
-
+
+
+ 4
-
-
- -
-
-
- Enter model name here
+
+ 6
-
+
-
+
+
+ true
+
+
+ false
+
+
+
+ 1
+
+
+
+
+
- -
-
-
- Group
+
+
+
+
+
+
+
+
+ QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable
+
+
+ Algorithms
+
+
+ 1
+
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Qt::WheelFocus
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Plain
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 287
+ 1113
+
+
+
+
+ 4
+
+
+ 6
+
+
-
+
+
+ 4
-
-
- -
-
-
- Enter group name here
+
+ 6
-
-
- -
-
+
-
+
+
+ Enter algorithm name to filter list
+
+
+
+ -
+
+
+ true
+
+
+ false
+
+
+
+ 1
+
+
+
+
+
@@ -269,6 +419,23 @@
QLineEdit
+
+ QgsDockWidget
+ QDockWidget
+
+
+
+ QgsCollapsibleGroupBox
+ QGroupBox
+
+ 1
+
+
+ QgsCollapsibleGroupBoxBasic
+ QGroupBox
+
+ 1
+