Skip to content

Commit d8e1cf3

Browse files
committed
[processing] load UI files dynamically
1 parent 30dbd8f commit d8e1cf3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+253
-2034
lines changed

python/plugins/processing/CMakeLists.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,9 @@ ADD_SUBDIRECTORY(modeler)
88
ADD_SUBDIRECTORY(script)
99
ADD_SUBDIRECTORY(tools)
1010
ADD_SUBDIRECTORY(tests)
11-
12-
FILE(GLOB UI_FILES ui/*.ui)
13-
PYQT4_WRAP_UI(PYUI_FILES ${UI_FILES})
11+
ADD_SUBDIRECTORY(ui)
1412

1513
FILE(GLOB OTHER_FILES metadata.txt)
1614
FILE(GLOB PY_FILES *.py)
1715

1816
PLUGIN_INSTALL(processing . ${PY_FILES} ${OTHER_FILES})
19-
PLUGIN_INSTALL(processing ui ${PYUI_FILES} ui/__init__.py)
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
FILE(GLOB PY_FILES *.py)
2-
32
FILE(GLOB UI_FILES *.ui)
4-
PYQT4_WRAP_UI(PYUI_FILES ${UI_FILES})
53

6-
PLUGIN_INSTALL(processing ./algs/qgis/ui ${PY_FILES} ${PYUI_FILES})
4+
PLUGIN_INSTALL(processing ./algs/qgis/ui ${PY_FILES} ${UI_FILES})

python/plugins/processing/algs/qgis/ui/FieldsCalculatorDialog.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import os
2929
import re
3030

31+
from PyQt4 import uic
3132
from PyQt4.QtCore import Qt, QSettings
3233
from PyQt4.QtGui import QDialog, QFileDialog, QApplication, QCursor, QMessageBox
3334
from qgis.gui import QgsEncodingFileDialog
@@ -38,12 +39,14 @@
3839
from processing.tools import dataobjects
3940
from processing.gui.Postprocessing import handleAlgorithmResults
4041

41-
from ui_DlgFieldsCalculator import Ui_FieldsCalculator
42+
pluginPath = os.path.dirname(__file__)
43+
WIDGET, BASE = uic.loadUiType(
44+
os.path.join(pluginPath, 'DlgFieldsCalculator.ui'))
4245

4346

44-
class FieldsCalculatorDialog(QDialog, Ui_FieldsCalculator):
47+
class FieldsCalculatorDialog(BASE, WIDGET):
4548
def __init__(self, alg):
46-
QDialog.__init__(self)
49+
super(FieldsCalculatorDialog, self).__init__(None)
4750
self.setupUi(self)
4851

4952
self.executed = False

python/plugins/processing/algs/qgis/ui/FieldsMappingPanel.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,21 @@
2525

2626
__revision__ = '$Format:%H$'
2727

28+
import os
2829

2930
from collections import OrderedDict
3031

32+
from PyQt4 import uic
3133
from PyQt4 import QtCore, QtGui
3234

3335
from qgis.core import QgsExpression
3436
from qgis.gui import QgsFieldExpressionWidget
3537

3638
from processing.tools import dataobjects
3739

38-
from .ui_widgetFieldsMapping import Ui_Form
40+
pluginPath = os.path.dirname(__file__)
41+
WIDGET, BASE = uic.loadUiType(
42+
os.path.join(pluginPath, 'widgetFieldsMapping.ui'))
3943

4044

4145
class FieldsMappingModel(QtCore.QAbstractTableModel):
@@ -45,7 +49,7 @@ class FieldsMappingModel(QtCore.QAbstractTableModel):
4549
(QtCore.QVariant.Double, "Double"),
4650
(QtCore.QVariant.String, "String"),
4751
(QtCore.QVariant.DateTime, "Date"),
48-
(QtCore.QVariant.LongLong, "Double"),
52+
(QtCore.QVariant.LongLong, "Double"),
4953
(QtCore.QVariant.Date, "Date")])
5054

5155
columns = [
@@ -297,10 +301,10 @@ def on_expression_fieldChange(self, fieldName):
297301
self.commitData.emit(self.sender())
298302

299303

300-
class FieldsMappingPanel(QtGui.QWidget, Ui_Form):
304+
class FieldsMappingPanel(BASE, WIDGET):
301305

302306
def __init__(self, parent=None):
303-
QtGui.QWidget.__init__(self, parent)
307+
super(FieldsMappingPanel, self).__init__(parent)
304308
self.setupUi(self)
305309

306310
self.addButton.setIcon(

python/plugins/processing/algs/qgis/ui/ui_DlgFieldsCalculator.py

Lines changed: 0 additions & 148 deletions
This file was deleted.

python/plugins/processing/algs/qgis/ui/ui_widgetFieldsMapping.py

Lines changed: 0 additions & 107 deletions
This file was deleted.

python/plugins/processing/gui/AlgorithmDialogBase.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,22 @@
2525

2626
__revision__ = '$Format:%H$'
2727

28+
import os
29+
30+
from PyQt4 import uic
2831
from PyQt4.QtCore import QCoreApplication, QUrl
29-
from PyQt4.QtGui import QDialog, QApplication, QDialogButtonBox
32+
from PyQt4.QtGui import QApplication, QDialogButtonBox
3033

3134
from qgis.utils import iface
3235

3336
from processing.core.ProcessingConfig import ProcessingConfig
34-
from processing.ui.ui_DlgAlgorithmBase import Ui_Dialog
37+
38+
pluginPath = os.path.split(os.path.dirname(__file__))[0]
39+
WIDGET, BASE = uic.loadUiType(
40+
os.path.join(pluginPath, 'ui', 'DlgAlgorithmBase.ui'))
3541

3642

37-
class AlgorithmDialogBase(QDialog, Ui_Dialog):
43+
class AlgorithmDialogBase(BASE, WIDGET):
3844

3945
class InvalidParameterValue(Exception):
4046

@@ -43,7 +49,7 @@ def __init__(self, param, widget):
4349

4450

4551
def __init__(self, alg):
46-
QDialog.__init__(self, iface.mainWindow())
52+
super(AlgorithmDialogBase, self).__init__(iface.mainWindow())
4753
self.setupUi(self)
4854

4955
self.executed = False

0 commit comments

Comments
 (0)