Skip to content

Commit a95cbe9

Browse files
committedJul 25, 2017
Move 'Run as batch' button to bottom of algorithm dialog
Inserting it into the tab widget doesn't work well cross platform/between hidpi/lowdpi displays. So instead add it as a normal button in the button box. Also fix capitalization of button text Fixes #16767
1 parent 06374a6 commit a95cbe9

File tree

2 files changed

+8
-18
lines changed

2 files changed

+8
-18
lines changed
 

‎python/plugins/processing/algs/gdal/GdalAlgorithmDialog.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
QLineEdit,
3434
QComboBox,
3535
QCheckBox,
36-
QSizePolicy)
36+
QSizePolicy,
37+
QDialogButtonBox)
3738

3839
from qgis.gui import QgsMessageBar
3940

@@ -57,15 +58,9 @@ def __init__(self, alg):
5758

5859
self.setMainWidget(GdalParametersPanel(self, alg))
5960

60-
cornerWidget = QWidget()
61-
layout = QVBoxLayout()
62-
layout.setContentsMargins(0, 0, 0, 5)
63-
self.tabWidget.setStyleSheet("QTabBar::tab { height: 30px; }")
64-
runAsBatchButton = QPushButton(self.tr("Run as batch process..."))
65-
runAsBatchButton.clicked.connect(self.runAsBatch)
66-
layout.addWidget(runAsBatchButton)
67-
cornerWidget.setLayout(layout)
68-
self.tabWidget.setCornerWidget(cornerWidget)
61+
self.runAsBatchButton = QPushButton(self.tr("Run as Batch Process…"))
62+
self.runAsBatchButton.clicked.connect(self.runAsBatch)
63+
self.buttonBox.addButton(self.runAsBatchButton, QDialogButtonBox.ResetRole) # reset role to ensure left alignment
6964

7065
self.mainWidget.parametersHaveChanged()
7166

‎python/plugins/processing/gui/AlgorithmDialog.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import time
3131

3232
from qgis.PyQt.QtCore import Qt
33-
from qgis.PyQt.QtWidgets import QMessageBox, QApplication, QPushButton, QWidget, QVBoxLayout, QSizePolicy
33+
from qgis.PyQt.QtWidgets import QMessageBox, QApplication, QPushButton, QWidget, QVBoxLayout, QSizePolicy, QDialogButtonBox
3434
from qgis.PyQt.QtGui import QCursor, QColor, QPalette
3535

3636
from qgis.core import (QgsProject,
@@ -83,14 +83,9 @@ def __init__(self, alg):
8383
self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
8484
self.layout().insertWidget(0, self.bar)
8585

86-
self.cornerWidget = QWidget()
87-
layout = QVBoxLayout()
88-
layout.setContentsMargins(0, 0, 0, 5)
89-
self.runAsBatchButton = QPushButton(self.tr("Run as batch process..."))
86+
self.runAsBatchButton = QPushButton(self.tr("Run as Batch Process…"))
9087
self.runAsBatchButton.clicked.connect(self.runAsBatch)
91-
layout.addWidget(self.runAsBatchButton)
92-
self.cornerWidget.setLayout(layout)
93-
self.tabWidget.setCornerWidget(self.cornerWidget)
88+
self.buttonBox.addButton(self.runAsBatchButton, QDialogButtonBox.ResetRole) # reset role to ensure left alignment
9489

9590
def getParametersPanel(self, alg, parent):
9691
return ParametersPanel(parent, alg)

0 commit comments

Comments
 (0)
Please sign in to comment.