Skip to content

Commit 6c47ca9

Browse files
committed
Add seconds to date/time widget
1 parent 2cc50eb commit 6c47ca9

5 files changed

Lines changed: 64 additions & 17 deletions

File tree

daynight.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
from qgis.PyQt.QtGui import QIcon, QColor
3131
from qgis.PyQt.QtCore import QVariant, QUrl, QDateTime, Qt
32-
from .utils import epsg4326, SolarObj, parse_timeseries
32+
from .utils import epsg4326, SolarObj, parse_timeseries, zeroMsec, DateTimeWidget
3333

3434
class DayNightAlgorithm(QgsProcessingAlgorithm):
3535
"""
@@ -57,15 +57,24 @@ class DayNightAlgorithm(QgsProcessingAlgorithm):
5757
def initAlgorithm(self, config):
5858

5959
dt = QDateTime.currentDateTime()
60-
self.addParameter(
60+
zeroMsec(dt)
61+
'''self.addParameter(
6162
QgsProcessingParameterDateTime(
6263
self.PrmDateTime,
6364
'Set date and time',
6465
type=QgsProcessingParameterDateTime.DateTime,
6566
defaultValue=dt,
6667
optional=False,
6768
)
68-
)
69+
)'''
70+
param = QgsProcessingParameterString(
71+
self.PrmDateTime,
72+
'Set date and time',
73+
defaultValue=dt,
74+
optional=False,
75+
)
76+
param.setMetadata({'widget_wrapper': {"class": DateTimeWidget}})
77+
self.addParameter(param)
6978
self.addParameter(
7079
QgsProcessingParameterBoolean(
7180
self.PrmShowSun,

moonposition.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
from qgis.PyQt.QtGui import QIcon
3030
from qgis.PyQt.QtCore import QVariant, QUrl, QDateTime
31-
from .utils import epsg4326, settings, SolarObj, parse_timeseries
31+
from .utils import epsg4326, settings, SolarObj, parse_timeseries, zeroMsec, DateTimeWidget
3232

3333
class MoonPositionAlgorithm(QgsProcessingAlgorithm):
3434
"""
@@ -45,15 +45,24 @@ class MoonPositionAlgorithm(QgsProcessingAlgorithm):
4545
def initAlgorithm(self, config):
4646

4747
dt = QDateTime.currentDateTime()
48-
self.addParameter(
48+
zeroMsec(dt)
49+
'''self.addParameter(
4950
QgsProcessingParameterDateTime(
5051
self.PrmDateTime,
5152
'Select date and time for calculations',
5253
type=QgsProcessingParameterDateTime.DateTime,
5354
defaultValue=dt,
5455
optional=False,
5556
)
56-
)
57+
)'''
58+
param = QgsProcessingParameterString(
59+
self.PrmDateTime,
60+
'Select date and time for calculations',
61+
defaultValue=dt,
62+
optional=False,
63+
)
64+
param.setMetadata({'widget_wrapper': {"class": DateTimeWidget}})
65+
self.addParameter(param)
5766
self.addParameter(
5867
QgsProcessingParameterBoolean(
5968
self.PrmStyle,

planetpositions.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,14 @@
2323
QgsProcessingAlgorithm,
2424
QgsProcessingException,
2525
QgsProcessingParameterBoolean,
26+
QgsProcessingParameterString,
2627
QgsProcessingLayerPostProcessorInterface,
2728
QgsProcessingParameterDateTime,
2829
QgsProcessingParameterFeatureSink)
2930

3031
from qgis.PyQt.QtGui import QIcon, QColor
3132
from qgis.PyQt.QtCore import QVariant, QUrl, QDateTime
32-
from .utils import epsg4326, settings, SolarObj
33+
from .utils import epsg4326, settings, SolarObj, zeroMsec, DateTimeWidget
3334

3435
class PlanetPositionsAlgorithm(QgsProcessingAlgorithm):
3536
"""
@@ -42,16 +43,25 @@ class PlanetPositionsAlgorithm(QgsProcessingAlgorithm):
4243

4344
def initAlgorithm(self, config):
4445

45-
qdt = QDateTime.currentDateTime()
46-
self.addParameter(
46+
dt = QDateTime.currentDateTime()
47+
zeroMsec(dt)
48+
"""self.addParameter(
4749
QgsProcessingParameterDateTime(
4850
self.PrmDateTime,
4951
'Select date and time for calculations',
5052
type=QgsProcessingParameterDateTime.DateTime,
51-
defaultValue=qdt,
53+
defaultValue=dt,
5254
optional=False,
5355
)
54-
)
56+
)"""
57+
param = QgsProcessingParameterString(
58+
self.PrmDateTime,
59+
'Select date and time for calculations',
60+
defaultValue=dt,
61+
optional=False,
62+
)
63+
param.setMetadata({'widget_wrapper': {"class": DateTimeWidget}})
64+
self.addParameter(param)
5565
self.addParameter(
5666
QgsProcessingParameterBoolean(
5767
self.PrmStyle,

sunposition.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
from qgis.PyQt.QtGui import QIcon
3434
from qgis.PyQt.QtCore import QVariant, QUrl, QDateTime, QTime
35-
from .utils import epsg4326, settings, SolarObj, parse_timeseries
35+
from .utils import epsg4326, settings, SolarObj, parse_timeseries, zeroMsec, DateTimeWidget
3636

3737
class SunPositionAlgorithm(QgsProcessingAlgorithm):
3838
"""
@@ -49,15 +49,26 @@ class SunPositionAlgorithm(QgsProcessingAlgorithm):
4949
def initAlgorithm(self, config):
5050

5151
dt = QDateTime.currentDateTime()
52-
self.addParameter(
52+
# Right now the this widget only is valid up to hour and minute. I'm going to
53+
# remove the seconds and msec
54+
zeroMsec(dt)
55+
"""self.addParameter(
5356
QgsProcessingParameterDateTime(
5457
self.PrmDateTime,
5558
'Select date and time for calculations',
5659
type=QgsProcessingParameterDateTime.DateTime,
5760
defaultValue=dt,
5861
optional=False,
5962
)
60-
)
63+
)"""
64+
param = QgsProcessingParameterString(
65+
self.PrmDateTime,
66+
'Select date and time for calculations',
67+
defaultValue=dt,
68+
optional=False,
69+
)
70+
param.setMetadata({'widget_wrapper': {"class": DateTimeWidget}})
71+
self.addParameter(param)
6172
self.addParameter(
6273
QgsProcessingParameterBoolean(
6374
self.PrmStyle,

sunposition_limited.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
from qgis.PyQt.QtGui import QIcon
3131
from qgis.PyQt.QtCore import QVariant, QUrl, QDateTime
32-
from .utils import epsg4326, settings, SolarObj, parse_timeseries
32+
from .utils import epsg4326, settings, SolarObj, parse_timeseries, zeroMsec, DateTimeWidget
3333

3434
class SunPositionAlgorithm(QgsProcessingAlgorithm):
3535
"""
@@ -46,15 +46,23 @@ class SunPositionAlgorithm(QgsProcessingAlgorithm):
4646
def initAlgorithm(self, config):
4747

4848
dt = QDateTime.currentDateTime()
49-
self.addParameter(
49+
'''self.addParameter(
5050
QgsProcessingParameterDateTime(
5151
self.PrmDateTime,
5252
'Select date and time for calculations',
5353
type=QgsProcessingParameterDateTime.DateTime,
5454
defaultValue=dt,
5555
optional=False,
5656
)
57-
)
57+
)'''
58+
param = QgsProcessingParameterDateTime(
59+
self.PrmDateTime,
60+
'Select date and time for calculations',
61+
defaultValue=dt,
62+
optional=False,
63+
)
64+
param.setMetadata({'widget_wrapper': {"class": DateTimeWidget}})
65+
self.addParameter(param)
5866
self.addParameter(
5967
QgsProcessingParameterBoolean(
6068
self.PrmStyle,

0 commit comments

Comments
 (0)