Skip to content

Commit

Permalink
Move gps tracking to settings page
Browse files Browse the repository at this point in the history
  • Loading branch information
NathanW2 committed May 20, 2015
1 parent 59e9f4e commit 2761050
Show file tree
Hide file tree
Showing 5 changed files with 225 additions and 256 deletions.
2 changes: 2 additions & 0 deletions src/roam/editorwidgets/numberwidget.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ def __init__(self, parent=None, Type=QSpinBox):
self.valueChanged = self.spinBox.valueChanged
self.value = self.spinBox.value
self.setValue = self.spinBox.setValue
self.stepUp.setIconSize(QSize(24, 24))
self.stepDown.setIconSize(QSize(24, 24))

def installEventFilter(self, object):
self.spinBox.installEventFilter(object)
Expand Down
33 changes: 0 additions & 33 deletions src/roam/gpswidget.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,39 +10,6 @@ def __init__(self, parent=None):
self.setupUi(self)
self.gps = None
self.logginginfolabel.setVisible(False)
self.gpstiming_edit.valueChanged.connect(self.update_tracking)
self.gpsdistance_edit.valueChanged.connect(self.update_tracking)
self.gpstiming_edit.setSuffix(" seconds")
self.gpsdistance_edit.setSuffix(" map units")
self.gpstiming_edit.setEnabled(False)
self.gpsdistance_edit.setEnabled(False)
self.set_gps_settings()

def set_gps_settings(self):
gpsettings = roam.config.settings.get("gps", {})
config = gpsettings.get('tracking', {})
if "time" in config:
value = config['time']
self.gpstracking_timing_radio.setChecked(True)
self.gpstiming_edit.setValue(value)
elif "distance" in config:
value = config['distance']
self.gpstracking_distance_radio.setChecked(True)
self.gpsdistance_edit.setValue(value)
else:
self.gpstracking_timing_radio.setChecked(True)
self.gpstiming_edit.setValue(1)

def update_tracking(self, value):
gpssettings = {}
if self.gpstracking_timing_radio.isChecked():
gpssettings['tracking'] = {"time": value}
roam.config.settings['gps'] = gpssettings
elif self.gpstracking_distance_radio.isChecked():
gpssettings['tracking'] = {"distance": value}

roam.config.settings['gps'] = gpssettings
roam.config.save()

def setgps(self, gps):
self.gps = gps
Expand Down
34 changes: 34 additions & 0 deletions src/roam/settingswidget.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@ def __init__(self, parent=None):
self.distanceCheck.toggled.connect(self.distanceCheck_toggled)
self.portfinder = PortFinder()
self.portfinder.portsfound.connect(self._addports)
self.gpstiming_edit.valueChanged.connect(self.update_tracking)
self.gpsdistance_edit.valueChanged.connect(self.update_tracking)
self.gpstiming_edit.setSuffix(" seconds")
self.gpsdistance_edit.setSuffix(" map units")
self.gpstiming_edit.setEnabled(False)
self.gpsdistance_edit.setEnabled(False)

@property
def settings(self):
Expand Down Expand Up @@ -119,6 +125,21 @@ def _setgpsport(self):
self.gpsPortCombo.setCurrentIndex(gpsindex)
self.gpsPortCombo.blockSignals(False)

def set_gps_settings(self):
gpsettings = roam.config.settings.get("gps", {})
config = gpsettings.get('tracking', {})
if "time" in config:
value = config['time']
self.gpstracking_timing_radio.setChecked(True)
self.gpstiming_edit.setValue(value)
elif "distance" in config:
value = config['distance']
self.gpstracking_distance_radio.setChecked(True)
self.gpsdistance_edit.setValue(value)
else:
self.gpstracking_timing_radio.setChecked(True)
self.gpstiming_edit.setValue(1)

def readSettings(self):
fullscreen = self.settings.get("fullscreen", False)
gpszoom = self.settings.get('gpszoomonfix', True)
Expand All @@ -137,6 +158,19 @@ def readSettings(self):
self.distanceCheck.setChecked(distance)

self._setgpsport()
self.set_gps_settings()

def update_tracking(self, value):
gpssettings = {}
if self.gpstracking_timing_radio.isChecked():
gpssettings['tracking'] = {"time": value}
roam.config.settings['gps'] = gpssettings
elif self.gpstracking_distance_radio.isChecked():
gpssettings['tracking'] = {"distance": value}

roam.config.settings['gps'] = gpssettings
self.notifysettingsupdate()


def populateControls(self):
if self.populated:
Expand Down
160 changes: 31 additions & 129 deletions src/roam/ui/ui_gps.ui
Original file line number Diff line number Diff line change
Expand Up @@ -36,63 +36,6 @@ QLabel[active=false] {
} </string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="6" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string/>
</property>
<property name="flat">
<bool>true</bool>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QFormLayout" name="formLayout_2">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="1" column="0">
<widget class="QRadioButton" name="gpstracking_timing_radio">
<property name="text">
<string>Every</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="Stepper" name="gpstiming_edit" native="true"/>
</item>
<item row="3" column="0">
<widget class="QRadioButton" name="gpstracking_distance_radio">
<property name="text">
<string>Every</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="Stepper" name="gpsdistance_edit" native="true"/>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="activeLabel">
<property name="text">
<string>GPS Not Active</string>
</property>
<property name="large" stdset="0">
<bool>true</bool>
</property>
<property name="active" stdset="0">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
Expand Down Expand Up @@ -157,6 +100,32 @@ QLabel[active=false] {
</item>
</layout>
</item>
<item row="5" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>575</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1" rowspan="3">
<widget class="QLabel" name="logginginfolabel">
<property name="text">
<string>When GPS logging is active all GPS locations are logged into a set layer.</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
Expand Down Expand Up @@ -206,32 +175,6 @@ QLabel[active=false] {
</item>
</layout>
</item>
<item row="7" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>575</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1" rowspan="3">
<widget class="QLabel" name="logginginfolabel">
<property name="text">
<string>When GPS logging is active all GPS locations are logged into a set layer.</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="trackinglabel">
<property name="text">
Expand All @@ -245,66 +188,25 @@ QLabel[active=false] {
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="activeLabel_2">
<item row="0" column="0">
<widget class="QLabel" name="activeLabel">
<property name="text">
<string>GPS Feature Tracking</string>
<string>GPS Not Active</string>
</property>
<property name="large" stdset="0">
<bool>true</bool>
</property>
<property name="active" stdset="0">
<bool>true</bool>
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>Stepper</class>
<extends>QWidget</extends>
<header>roam.editorwidgets.numberwidget</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources>
<include location="../resources.qrc"/>
<include location="../resources.qrc"/>
<include location="../resources.qrc"/>
</resources>
<connections>
<connection>
<sender>gpstracking_timing_radio</sender>
<signal>toggled(bool)</signal>
<receiver>gpstiming_edit</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>57</x>
<y>396</y>
</hint>
<hint type="destinationlabel">
<x>144</x>
<y>395</y>
</hint>
</hints>
</connection>
<connection>
<sender>gpstracking_distance_radio</sender>
<signal>toggled(bool)</signal>
<receiver>gpsdistance_edit</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>62</x>
<y>447</y>
</hint>
<hint type="destinationlabel">
<x>188</x>
<y>442</y>
</hint>
</hints>
</connection>
</connections>
<connections/>
</ui>
Loading

0 comments on commit 2761050

Please sign in to comment.