diff --git a/qfieldsync/gui/project_configuration_widget.py b/qfieldsync/gui/project_configuration_widget.py
index c59ce2aa..3c0cf336 100644
--- a/qfieldsync/gui/project_configuration_widget.py
+++ b/qfieldsync/gui/project_configuration_widget.py
@@ -104,6 +104,8 @@ def __init__(self, parent=None):
)
self.singleLayerRadioButton.toggled.connect(self.baseMapTypeChanged)
+ self.forceAutoPush.clicked.connect(self.onForceAutoPushClicked)
+
self.attachmentDirsListWidget.itemChanged.connect(self.onItemChanged)
self.event_eater = EventEater()
self.attachmentDirsListWidget.installEventFilter(self.event_eater)
@@ -191,6 +193,14 @@ def reloadProject(self):
self.__project_configuration.layer_action_preference == "offline"
)
+ self.forceAutoPush.setChecked(self.__project_configuration.force_auto_push)
+ self.forceAutoPushInterval.setEnabled(
+ self.__project_configuration.force_auto_push
+ )
+ self.forceAutoPushInterval.setValue(
+ self.__project_configuration.force_auto_push_interval_mins
+ )
+
attachment_dirs = [*self.preferences.value("attachmentDirs")]
attachment_dirs.append("")
@@ -279,6 +289,11 @@ def apply(self):
"online" if self.preferOnlineLayersRadioButton.isChecked() else "offline"
)
+ self.__project_configuration.force_auto_push = self.forceAutoPush.isChecked()
+ self.__project_configuration.force_auto_push_interval_mins = (
+ self.forceAutoPushInterval.value()
+ )
+
v = QLibraryInfo.version()
match_flag = (
Qt.MatchRegularExpression
@@ -290,6 +305,9 @@ def apply(self):
keys[item.text()] = 1
self.preferences.set_value("attachmentDirs", list(keys.keys()))
+ def onForceAutoPushClicked(self, checked):
+ self.forceAutoPushInterval.setEnabled(checked)
+
def onLayerActionPreferenceChanged(self):
"""Triggered when prefer online or offline radio buttons have been changed"""
prefer_online = self.preferOnlineLayersRadioButton.isChecked()
diff --git a/qfieldsync/ui/project_configuration_widget.ui b/qfieldsync/ui/project_configuration_widget.ui
index bdd9706c..b3fe52a3 100644
--- a/qfieldsync/ui/project_configuration_widget.ui
+++ b/qfieldsync/ui/project_configuration_widget.ui
@@ -104,6 +104,51 @@
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Automatically push pending changes on the following interval
+
+
+
+ -
+
+
+
+ 1
+ 0
+
+
+
+ minutes
+
+
+ 1
+
+
+ 2880
+
+
+ 30
+
+
+ true
+
+
+ 30
+
+
+
+
+
+ -
Qt::Vertical