Skip to content

Commit 7afc912

Browse files
committed
Qt5/Qt6 compatibility
1 parent 6c47ca9 commit 7afc912

10 files changed

Lines changed: 38 additions & 36 deletions

captureCoordinate.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ def __init__(self, canvas):
2929

3030
def activate(self):
3131
'''When activated set the cursor to a crosshair.'''
32-
self.canvas.setCursor(Qt.CrossCursor)
33-
self.snapcolor = QgsSettings().value( "/qgis/digitizing/snap_color" , QColor( Qt.magenta ) )
32+
self.canvas.setCursor(Qt.CursorShape.CrossCursor)
33+
self.snapcolor = QgsSettings().value( "/qgis/digitizing/snap_color" , QColor( Qt.GlobalColor.magenta ) )
3434

3535
def deactivate(self):
3636
self.removeVertexMarker()
@@ -44,7 +44,7 @@ def snappoint(self, qpoint):
4444
self.vertex.setIconSize(12)
4545
self.vertex.setPenWidth(2)
4646
self.vertex.setColor(self.snapcolor)
47-
self.vertex.setIconType(QgsVertexMarker.ICON_BOX)
47+
self.vertex.setIconType(QgsVertexMarker.IconType.ICON_BOX)
4848
self.vertex.setCenter(match.point())
4949
return (match.point()) # Returns QgsPointXY
5050
else:

daynight.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ def initAlgorithm(self, config):
121121
QgsProcessingParameterNumber(
122122
self.PrmDelta,
123123
'Delta/resoution of polygon (in degrees)',
124-
QgsProcessingParameterNumber.Double,
124+
QgsProcessingParameterNumber.Type.Double,
125125
defaultValue=1,
126126
minValue=0.001,
127127
maxValue = 10.0,
@@ -154,22 +154,22 @@ def initAlgorithm(self, config):
154154
'Create sun time series',
155155
False,
156156
optional=True)
157-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
157+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
158158
self.addParameter(param)
159159

160160
param = QgsProcessingParameterString(
161161
self.PrmTimeIncrement,
162162
'Time increment between observations (DD:HH:MM:SS)',
163163
defaultValue='00:01:00:00',
164164
optional=True)
165-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
165+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
166166
self.addParameter(param)
167167
param = QgsProcessingParameterString(
168168
self.PrmTimeDuration,
169169
'Total duration for sun positions (DD:HH:MM:SS)',
170170
defaultValue='1:00:00:00',
171171
optional=True)
172-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
172+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
173173
self.addParameter(param)
174174

175175
self.addParameter(
@@ -233,15 +233,15 @@ def processAlgorithm(self, parameters, context, feedback):
233233
if show_sun: # Sun position will be displayed
234234
(sink_sun, dest_id_sun) = self.parameterAsSink(
235235
parameters, self.PrmSunOutput, context, f,
236-
QgsWkbTypes.Point, epsg4326)
236+
QgsWkbTypes.Type.Point, epsg4326)
237237
if day_night_line: # Day, night terminator like will be displayed
238238
(sink_line, dest_id_line) = self.parameterAsSink(
239239
parameters, self.PrmOutputLine, context, f,
240-
QgsWkbTypes.LineString, epsg4326)
240+
QgsWkbTypes.Type.LineString, epsg4326)
241241
if has_polygons: # Twilight polygons will be displayed
242242
(sink, dest_id) = self.parameterAsSink(
243243
parameters, self.PrmOutputPolygons, context, f,
244-
QgsWkbTypes.MultiPolygon, epsg4326)
244+
QgsWkbTypes.Type.MultiPolygon, epsg4326)
245245

246246
project_crs = QgsProject.instance().crs()
247247
if clip_to_crs and project_crs != epsg4326:
@@ -384,7 +384,7 @@ def helpUrl(self):
384384
file = os.path.dirname(__file__) + '/index.html'
385385
if not os.path.exists(file):
386386
return ''
387-
return QUrl.fromLocalFile(file).toString(QUrl.FullyEncoded)
387+
return QUrl.fromLocalFile(file).toString(QUrl.ComponentFormattingOption.FullyEncoded)
388388

389389
def createInstance(self):
390390
return DayNightAlgorithm()
@@ -398,7 +398,7 @@ def postProcessLayer(self, layer, context, feedback):
398398
symbol = layer.renderer().symbol()
399399
symbol.setColor(QColor(0,0,0,60))
400400
symbol_layer = symbol.symbolLayer(0)
401-
symbol_layer.setStrokeStyle(Qt.NoPen)
401+
symbol_layer.setStrokeStyle(Qt.PenStyle.NoPen)
402402

403403

404404
@staticmethod

earthsunmoon.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ def solarInfo(self):
182182
from .infoDialog import SolarInfoDialog
183183
self.solarInfoDialog = SolarInfoDialog(self.iface, self.iface.mainWindow())
184184
# self.solarInfoDialog.setFloating(True)
185-
self.iface.addDockWidget(Qt.RightDockWidgetArea, self.solarInfoDialog)
185+
self.iface.addDockWidget(Qt.DockWidgetArea.RightDockWidgetArea, self.solarInfoDialog)
186186
self.solarInfoDialog.show()
187187

188188
def ephemInfo(self):

infoDialog.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def __init__(self, iface, parent):
4747
self.rubber = QgsRubberBand(self.canvas)
4848
self.rubber.setColor(QColor(255, 70, 0, 200))
4949
self.rubber.setWidth(3)
50-
self.rubber.setBrushStyle(Qt.NoBrush)
50+
self.rubber.setBrushStyle(Qt.BrushStyle.NoBrush)
5151

5252
# Set up a connection with the coordinate capture tool
5353
self.captureCoordinate = CaptureCoordinate(self.canvas)
@@ -222,7 +222,7 @@ def updateSunInfo(self):
222222
self.autumnalEquinoxLabel.setText(self.formatDateTime(t[0]))
223223
self.winterSolsticeLabel.setText(self.formatDateTime(t[1]))
224224
except Exception:
225-
self.iface.messageBar().pushMessage("", "The ephemeris file does not cover the selected date range. Go to Settings and download and select an ephemeris file that contains your date range.", level=Qgis.Critical, duration=6)
225+
self.iface.messageBar().pushMessage("", "The ephemeris file does not cover the selected date range. Go to Settings and download and select an ephemeris file that contains your date range.", level=Qgis.MessageLevel.Critical, duration=6)
226226

227227

228228
def clearInfo(self):
@@ -327,5 +327,5 @@ def coordCommitButton(self):
327327
self.updateSunInfo()
328328
except Exception:
329329
self.clearInfo()
330-
self.iface.messageBar().pushMessage("", "Invalid 'latitude, longitude'", level=Qgis.Warning, duration=2)
330+
self.iface.messageBar().pushMessage("", "Invalid 'latitude, longitude'", level=Qgis.MessageLevel.Warning, duration=2)
331331
return

metadata.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
[general]
22
name=Earth, Sun, Moon, and Planets
33
qgisMinimumVersion=3.14
4+
qgisMaximumVersion=4.99
45
description=Tools to calculate the positions of the sun, moon, and planets when viewed directly overhead for a particular date and time. Create day/night terminator vector layers. Display solar and lunar information for a coordinate at the specified date and time. It provides expression functions to access solar and lunar information. (Note the Python library enhancements.)
5-
version=3.1.5
6+
version=3.1.6
67
author=Calvin Hamilton
78
email=adenaculture@gmail.com
89
about=
@@ -21,6 +22,7 @@ experimental=False
2122
deprecated=False
2223
hasProcessingProvider=yes
2324
changelog=
25+
3.1.6 - Qt5/Qt6 compatibility
2426
3.1.5 - Use a custom date/time widget to include seconds
2527
3.1.4 - Update metadata
2628
3.1.3 - Move repo

moonposition.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,22 +75,22 @@ def initAlgorithm(self, config):
7575
'Create moon time series',
7676
False,
7777
optional=True)
78-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
78+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
7979
self.addParameter(param)
8080

8181
param = QgsProcessingParameterString(
8282
self.PrmTimeIncrement,
8383
'Time increment between observations (DD:HH:MM:SS)',
8484
defaultValue='00:01:00:00',
8585
optional=True)
86-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
86+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
8787
self.addParameter(param)
8888
param = QgsProcessingParameterString(
8989
self.PrmTimeDuration,
9090
'Total duration for moon positions (DD:HH:MM:SS)',
9191
defaultValue='1:00:00:00',
9292
optional=True)
93-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
93+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
9494
self.addParameter(param)
9595
self.addParameter(
9696
QgsProcessingParameterFeatureSink(
@@ -124,7 +124,7 @@ def processAlgorithm(self, parameters, context, feedback):
124124

125125
(sink, dest_id) = self.parameterAsSink(
126126
parameters, self.PrmOutputLayer, context, f,
127-
QgsWkbTypes.Point, epsg4326)
127+
QgsWkbTypes.Type.Point, epsg4326)
128128

129129
qutc = qdt.toUTC()
130130
utc = qutc.toPyDateTime()
@@ -169,7 +169,7 @@ def helpUrl(self):
169169
file = os.path.dirname(__file__) + '/index.html'
170170
if not os.path.exists(file):
171171
return ''
172-
return QUrl.fromLocalFile(file).toString(QUrl.FullyEncoded)
172+
return QUrl.fromLocalFile(file).toString(QUrl.ComponentFormattingOption.FullyEncoded)
173173

174174
def createInstance(self):
175175
return MoonPositionAlgorithm()

planetpositions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def processAlgorithm(self, parameters, context, feedback):
9292

9393
(sink, dest_id) = self.parameterAsSink(
9494
parameters, self.PrmOutputLayer, context, f,
95-
QgsWkbTypes.Point, epsg4326)
95+
QgsWkbTypes.Type.Point, epsg4326)
9696

9797
eph = load(settings.ephemPath())
9898
earth = eph['earth'] # vector from solar system barycenter to geocenter

sunposition.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,22 +82,22 @@ def initAlgorithm(self, config):
8282
'Create sun time series',
8383
False,
8484
optional=True)
85-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
85+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
8686
self.addParameter(param)
8787

8888
param = QgsProcessingParameterString(
8989
self.PrmTimeIncrement,
9090
'Time increment between observations (DD:HH:MM:SS)',
9191
defaultValue='00:01:00:00',
9292
optional=True)
93-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
93+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
9494
self.addParameter(param)
9595
param = QgsProcessingParameterString(
9696
self.PrmTimeDuration,
9797
'Total duration for sun positions (DD:HH:MM:SS)',
9898
defaultValue='1:00:00:00',
9999
optional=True)
100-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
100+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
101101
self.addParameter(param)
102102

103103
self.addParameter(
@@ -132,7 +132,7 @@ def processAlgorithm(self, parameters, context, feedback):
132132

133133
(sink, dest_id) = self.parameterAsSink(
134134
parameters, self.PrmOutputLayer, context, f,
135-
QgsWkbTypes.Point, epsg4326)
135+
QgsWkbTypes.Type.Point, epsg4326)
136136

137137
qutc = qdt.toUTC()
138138
utc = qutc.toPyDateTime()

sunposition_limited.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,22 +76,22 @@ def initAlgorithm(self, config):
7676
'Create sun time series',
7777
False,
7878
optional=True)
79-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
79+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
8080
self.addParameter(param)
8181

8282
param = QgsProcessingParameterString(
8383
self.PrmTimeIncrement,
8484
'Time increment between observations (DD:HH:MM:SS)',
8585
defaultValue='00:01:00:00',
8686
optional=True)
87-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
87+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
8888
self.addParameter(param)
8989
param = QgsProcessingParameterString(
9090
self.PrmTimeDuration,
9191
'Total duration for sun positions (DD:HH:MM:SS)',
9292
defaultValue='1:00:00:00',
9393
optional=True)
94-
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
94+
param.setFlags(param.flags() | QgsProcessingParameterDefinition.Flag.FlagAdvanced)
9595
self.addParameter(param)
9696
self.addParameter(
9797
QgsProcessingParameterFeatureSink(
@@ -124,7 +124,7 @@ def processAlgorithm(self, parameters, context, feedback):
124124

125125
(sink, dest_id) = self.parameterAsSink(
126126
parameters, self.PrmOutputLayer, context, f,
127-
QgsWkbTypes.Point, epsg4326)
127+
QgsWkbTypes.Type.Point, epsg4326)
128128

129129
qutc = qdt.toUTC()
130130
utc = qutc.toPyDateTime()

utils.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def setValue(self, value):
7070

7171
def value(self):
7272
date_chosen = self._combo.dateTime()
73-
return date_chosen.toString(Qt.ISODate)
73+
return date_chosen.toString(Qt.DateFormat.ISODate)
7474

7575
def parse_timeseries(increment, duration):
7676
"""
@@ -227,7 +227,7 @@ def showEvent(self, e):
227227
def updateEphemComboBox(self):
228228
self.ephemComboBox.clear()
229229
self.ephemComboBox.addItems(settings.allEphemFiles())
230-
index = self.ephemComboBox.findText(settings.ephemFile(), Qt.MatchExactly)
230+
index = self.ephemComboBox.findText(settings.ephemFile(), Qt.MatchFlag.MatchExactly)
231231
if index != -1:
232232
self.ephemComboBox.setCurrentIndex(index)
233233

@@ -241,16 +241,16 @@ def on_installButton_pressed(self):
241241
if not ephem_file:
242242
return
243243
if not os.path.isfile(ephem_file):
244-
self.iface.messageBar().pushMessage("", "Not a valid file", level=Qgis.Warning, duration=4)
244+
self.iface.messageBar().pushMessage("", "Not a valid file", level=Qgis.MessageLevel.Warning, duration=4)
245245
return
246246
basename = os.path.basename(ephem_file)
247247
newpath = os.path.join(settings.ephemDir(), basename)
248248
if os.path.isfile(newpath):
249-
self.iface.messageBar().pushMessage("", "This ephemeris file already exists", level=Qgis.Warning, duration=4)
249+
self.iface.messageBar().pushMessage("", "This ephemeris file already exists", level=Qgis.MessageLevel.Warning, duration=4)
250250
return
251251
copyfile(ephem_file, newpath)
252252
self.updateEphemComboBox()
253-
index = self.ephemComboBox.findText(basename, Qt.MatchExactly)
253+
index = self.ephemComboBox.findText(basename, Qt.MatchFlag.MatchExactly)
254254
if index != -1:
255255
self.ephemComboBox.setCurrentIndex(index)
256256

0 commit comments

Comments
 (0)