[Pkg-running-devel] [pytrainer] 01/03: Imported Upstream version 1.11.0
Christian Perrier
bubulle at moszumanska.debian.org
Sun Oct 15 06:49:20 UTC 2017
This is an automated email from the git hooks/post-receive script.
bubulle pushed a commit to branch master
in repository pytrainer.
commit 44d754f73d4522c36260c38d34437d28b044c9df
Author: Christian Perrier <bubulle at debian.org>
Date: Mon Oct 2 08:01:08 2017 +0200
Imported Upstream version 1.11.0
---
.gitignore | 4 +
.travis.yml | 14 +
CHANGES | 41 +
bin/pytrainer | 17 +-
extensions/dotclear/main.py | 5 +-
extensions/wordpress/wordpress.py | 12 +-
glade/calendar.glade | 128 -
glade/{equipment.glade => equipment.ui} | 560 ++-
glade/{extensions.glade => extensions.ui} | 100 +-
glade/filechooserdialog.glade | 66 -
glade/{importdata.glade => importdata.ui} | 968 +++--
glade/{newrecord.glade => newrecord.ui} | 689 ++-
glade/{plugins.glade => plugins.ui} | 94 +-
glade/{profile.glade => profile.ui} | 1197 +++---
glade/{pytrainer.glade => pytrainer.ui} | 4385 +++++++++++---------
...electtrackdialog.glade => selecttrackdialog.ui} | 40 +-
glade/warning.glade | 99 -
imports/file_garminfit.py | 9 +-
imports/file_garmintcxv1.py | 9 +-
imports/file_garmintcxv2.py | 9 +-
imports/file_garmintools.py | 9 +-
imports/file_gpxplus.py | 11 +-
imports/file_gpxplusNokia.py | 9 +-
imports/file_kml20.py | 5 -
imports/tool_gant.py | 18 -
imports/tool_garmintools.py | 18 -
imports/tool_gpsbabel.py | 18 -
locale/ca/LC_MESSAGES/pytrainer.mo | Bin 1989 -> 1948 bytes
locale/ca/LC_MESSAGES/pytrainer_ca.po | 2090 +++++-----
locale/cs/LC_MESSAGES/pytrainer.mo | Bin 3616 -> 3446 bytes
locale/cs/LC_MESSAGES/pytrainer_cs.po | 2098 +++++-----
locale/da/LC_MESSAGES/pytrainer.mo | Bin 3988 -> 3683 bytes
locale/da/LC_MESSAGES/pytrainer_da.po | 2126 +++++-----
locale/de/LC_MESSAGES/pytrainer.mo | Bin 31216 -> 29677 bytes
locale/de/LC_MESSAGES/pytrainer_de.po | 2315 ++++++-----
locale/es/LC_MESSAGES/pytrainer.mo | Bin 30450 -> 29013 bytes
locale/es/LC_MESSAGES/pytrainer_es.po | 2317 ++++++-----
locale/eu/LC_MESSAGES/pytrainer.mo | Bin 3704 -> 3516 bytes
locale/eu/LC_MESSAGES/pytrainer_eu.po | 2113 +++++-----
locale/fr/LC_MESSAGES/pytrainer.mo | Bin 31283 -> 29807 bytes
locale/fr/LC_MESSAGES/pytrainer_fr.po | 2337 ++++++-----
locale/gl/LC_MESSAGES/pytrainer.mo | Bin 30766 -> 29312 bytes
locale/gl/LC_MESSAGES/pytrainer_gl.po | 2317 ++++++-----
locale/no/LC_MESSAGES/pytrainer.mo | Bin 2362 -> 2368 bytes
locale/no/LC_MESSAGES/pytrainer_no.po | 2036 +++++----
locale/pl/LC_MESSAGES/pytrainer.mo | Bin 1871 -> 1830 bytes
locale/pl/LC_MESSAGES/pytrainer_pl.po | 2096 +++++-----
locale/pt/LC_MESSAGES/pytrainer.mo | Bin 29544 -> 28118 bytes
locale/pt/LC_MESSAGES/pytrainer_pt.po | 2321 ++++++-----
locale/ru/LC_MESSAGES/pytrainer.mo | Bin 5913 -> 5867 bytes
locale/ru/LC_MESSAGES/pytrainer_ru.po | 2115 +++++-----
locale/sv/LC_MESSAGES/pytrainer.mo | Bin 20301 -> 19207 bytes
locale/sv/LC_MESSAGES/pytrainer_sv.po | 2311 ++++++-----
pytrainer/__init__.py | 5 +-
pytrainer/activitypool.py | 71 -
pytrainer/athlete.py | 14 +-
pytrainer/core/activity.py | 618 +++
pytrainer/core/equipment.py | 3 +-
pytrainer/environment.py | 57 +-
pytrainer/extensions/googlemaps.py | 4 +-
pytrainer/extensions/osm.py | 4 +-
pytrainer/gui/SimpleGladeApp.py | 195 +-
pytrainer/gui/aboutdialog.py | 2 +-
pytrainer/gui/dialogs.py | 87 +-
pytrainer/gui/dialogselecttrack.py | 8 +-
pytrainer/gui/drawArea.py | 2 +-
pytrainer/gui/drawGraph.py | 6 +-
pytrainer/gui/equipment.py | 2 +-
pytrainer/gui/filechooser.py | 72 -
pytrainer/gui/popupmenu.py | 43 +-
pytrainer/gui/warning.py | 91 +-
pytrainer/gui/windowcalendar.py | 36 +-
pytrainer/gui/windowextensions.py | 9 +-
pytrainer/gui/windowimportdata.py | 13 +-
pytrainer/gui/windowmain.py | 277 +-
pytrainer/gui/windowplugins.py | 9 +-
pytrainer/gui/windowprofile.py | 59 +-
pytrainer/gui/windowrecord.py | 31 +-
pytrainer/lib/activity.py | 687 ---
pytrainer/lib/date.py | 120 +-
pytrainer/lib/ddbb.py | 10 +-
pytrainer/lib/gpx.py | 14 +-
pytrainer/lib/localization.py | 24 +
pytrainer/lib/sqliteUtils.py | 22 +-
pytrainer/lib/test_gpx.py | 83 -
pytrainer/lib/uc.py | 27 +-
pytrainer/lib/unitsconversor.py | 184 -
pytrainer/main.py | 105 +-
pytrainer/platform.py | 6 +
pytrainer/profile.py | 159 +-
pytrainer/record.py | 20 +-
pytrainer/save.py | 10 +-
pytrainer/test/core/test_activity.py | 105 +
.../core/{equipment_test.py => test_equipment.py} | 91 +-
.../test/core/{sport_test.py => test_sport.py} | 127 +-
pytrainer/test/environment_test.py | 75 -
.../test/gui/{color_test.py => test_color.py} | 0
.../gui/{equipment_test.py => test_equipment.py} | 0
.../{garmin-fit_test.py => test_garminfit.py} | 0
.../{garmin-tcxv2_test.py => test_garmintcxv2.py} | 0
pytrainer/test/lib/test_date.py | 48 +
pytrainer/test/lib/{gpx_test.py => test_gpx.py} | 53 +
pytrainer/test/lib/test_uc.py | 67 +
pytrainer/test/test_athlete.py | 77 +
pytrainer/test/test_environment.py | 67 +
pytrainer/test/test_waypoint.py | 75 +
.../test/upgrade/{data_test.py => test_data.py} | 0
.../{version014_test.py => test_version014.py} | 0
.../test/util/{color_test.py => test_color.py} | 0
pytrainer/test/util/{date_test.py => test_date.py} | 0
pytrainer/upgrade/data.py | 5 +-
pytrainer/upgrade/migratedb.py | 12 +-
pytrainer/waypoint.py | 3 +-
setup.py | 20 +-
utils/translator.sh | 2 +-
utils/update_localizations.sh | 2 +-
116 files changed, 20725 insertions(+), 20419 deletions(-)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..76d6381
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.pyc
+/messages.pot
+build
+*~
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..c7d6a97
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,14 @@
+sudo: required
+language: python
+env:
+ - TZ=Europe/Kaliningrad
+before_install:
+ - sudo apt-get install python-gtk2 python-glade2 python-lxml python-matplotlib
+python:
+ - "2.7"
+script: "python setup.py test"
+virtualenv:
+ system_site_packages: true
+notifications:
+ irc:
+ channels: "ircs://chat.freenode.net:7000/#pytrainer"
diff --git a/CHANGES b/CHANGES
index 0e2713e..36f6c43 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,46 @@
We have migrated to GitHub, for more details about changelog please see git log documentation (http://git-scm.com/docs/git-log). One simple approach: git log --oneline --stat --decorate <since>..<until>
+- pytrainer changes for 1.11.0:
+
+- Known issues:
+ Gtk outputs warnings about extra properties when loading the main window
+
+- Improvements:
+ 1a237adba0fb, 640ef4e55da8, 30fdfd9e83eb Performance improvements
+ fcc8f3361d4f FIT conversion updated to work with Perl 5.22
+ 92d6a33aed16 Setuptools is now used for installation where available
+ 4bb91436522b Start screen can now be configured (ticket #12)
+ 086a0dd81549 The map functionality is now optional (and python-webkit is no
+ longer required)
+
+- Bugs fixed:
+ 9d1c670ea1ac Logging now works as configured
+ 10b04c8b38e1 Sports list stays up to date
+ 0a23585c2d25 Prior usage is included in equipment usage stats
+ acbe61ddbf16 Strings are now quoted correctly with sqlite
+ 8ca54a97a9f6 Fix pace unit conversion
+ f52235a9d921 Missing import in gpxplus
+ c2f41e97022f Check that Activity.gpx exists before using it
+
+- Internals:
+ a6f80a252a1d All tests are now found and executed
+ d82fbeee3a06 Use DDBB with an in-memory database when testing Equipment
+ b284fdffee3a Use DDBB with an in-memory database when testing Sport
+ 3ade6e1dd822 Date methods converted into simple utility functions
+ 80805b326cd0 Test cases added for date utility functions
+ 321206a797ea Environment converted into a singleton
+ 96e471f38958 Profile converted into a singleton
+ 2573955d9c0c Tests added for the Athlete class
+ 29db339f41fc Tests added for the Waypoint class
+ bfacd6d55598 Tests added for unit conversion
+ f9a93daffc28, 37982f5e214b Heavily refactor the Activity class
+ 4c84abf522ba Tests added for the Activity class
+ 5eab5b0a38fa unitsconversor was fully replaced with UC and removed
+ 1ac7db0049a1 Default log level was changed to warning
+ 005accf46b2f Stop using glade for the popup menu
+ 0303a92fb0ef Use the locale module instead of the gtk.glade helper
+ 4601b5f1c703 Migrated from gtk.glade to gtk.Builder
+
- pytrainer changes for 1.10.0:
- Known issues
diff --git a/bin/pytrainer b/bin/pytrainer
index a28cf62..f8baff8 100755
--- a/bin/pytrainer
+++ b/bin/pytrainer
@@ -17,11 +17,7 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-import gettext
import sys
-import pygtk
-pygtk.require('2.0')
-import gtk.glade
import os
import glob
import commands
@@ -77,6 +73,9 @@ if (os.path.exists(base_path + "/INSTALL")
gettext_path = base_path + "/locale"
else:
print("running pytrainer from egg installation")
+ parts = os.path.split(base_path)
+ if parts[1] == 'EGG-INFO':
+ base_path = parts[0]
data_path = base_path + "/share/pytrainer/"
site_path = "%s/lib/python%s.%s/site-packages" % (base_path, ver[0], ver[1])
gettext_path = base_path + "/share/locale"
@@ -85,17 +84,13 @@ print "data_path: " + data_path
print "gettext_path: " + gettext_path
print "site_path: " + site_path
-gettext.bindtextdomain("pytrainer", gettext_path)
-gtk.glade.bindtextdomain("pytrainer", gettext_path)
-gtk.glade.textdomain("pytrainer")
-gettext.textdomain("pytrainer")
-gettext.install("pytrainer", gettext_path, unicode=1)
-
#ensure pytrainer directory is included in import path
sys.path.insert(0, site_path)
-from pytrainer.main import pyTrainer
def main():
+ import pytrainer.lib.localization
+ pytrainer.lib.localization.initialize_gettext(gettext_path)
+ from pytrainer.main import pyTrainer
pytrainer = pyTrainer(None, data_path)
if __name__ == "__main__":
diff --git a/extensions/dotclear/main.py b/extensions/dotclear/main.py
index 73897d1..5cd0825 100755
--- a/extensions/dotclear/main.py
+++ b/extensions/dotclear/main.py
@@ -20,7 +20,7 @@
import xmlrpclib
import SOAPpy
import os
-from pytrainer.lib.date import Date
+from pytrainer.lib.date import second2time
from pytrainer.lib.soapUtils import *
from optparse import OptionParser
@@ -55,12 +55,11 @@ class Main:
print "can't connect the server"
def loadRecordInfo(self):
- date = Date()
record = self.webserviceserver.getRecordInfo(self.idrecord)
self.sport = record["sport"]
self.date = record["date"]
self.distance = record["distance"]
- self.time = date.second2time(float(record["time"]))
+ self.time = second2time(float(record["time"]))
self.heure = self.time[0]
self.minute = self.time[1]
self.seconde = self.time[2]
diff --git a/extensions/wordpress/wordpress.py b/extensions/wordpress/wordpress.py
index 9861f14..d98d13f 100644
--- a/extensions/wordpress/wordpress.py
+++ b/extensions/wordpress/wordpress.py
@@ -28,12 +28,14 @@ import wordpresslib #TODO remove need for this library
from pytrainer.extensions.googlemaps import Googlemaps
import pytrainer.lib.points as Points
from pytrainer.lib.date import Date
+from pytrainer.lib.uc import UC
class wordpress:
def __init__(self, parent = None, pytrainer_main = None, conf_dir = None, options = None):
#TODO could use some logging
self.parent = parent
self.pytrainer_main = pytrainer_main
+ self.uc = UC()
self.options = options
self.conf_dir = conf_dir
self.tmpdir = self.pytrainer_main.profile.tmpdir
@@ -189,10 +191,6 @@ class wordpress:
self.maxpace = self.activity.maxpace
self.pace = self.activity.pace
self.maxbeats = self.activity.maxbeats
- self.distance_unit = self.activity.distance_unit
- self.speed_unit = self.activity.speed_unit
- self.pace_unit = self.activity.pace_unit
- self.height_unit = self.activity.height_unit
def createBody(self):
if self.comments is None or self.comments == "":
@@ -241,9 +239,9 @@ class wordpress:
<td>%.2f</td>
</tr>
</table>
- ''' %( self.sport, self.date, self.distance_unit, self.distance, self.time, self.speed_unit, self.maxspeed,
- self.speed_unit, self.average, self.pace_unit, self.maxpace,self.pace_unit, self.pace,
- self.maxbeats, self.beats, self.height_unit, self.upositive, self.height_unit, self.unegative)
+ ''' %( self.sport, self.date, self.uc.unit_distance, self.distance, self.time, self.uc.unit_speed, self.maxspeed,
+ self.uc.unit_speed, self.average, self.uc.unit_pace, self.maxpace, self.uc.unit_pace, self.pace,
+ self.maxbeats, self.beats, self.uc.unit_height, self.upositive, self.uc.unit_height, self.unegative)
return description_table
def createFigureHR(self):
diff --git a/glade/calendar.glade b/glade/calendar.glade
deleted file mode 100644
index f103107..0000000
--- a/glade/calendar.glade
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0"?>
-<glade-interface>
- <!-- interface-requires gtk+ 2.16 -->
- <!-- interface-naming-policy toplevel-contextual -->
-<widget class="GtkWindow" id="calendardialog">
- <property name="visible">True</property>
- <property name="title" translatable="yes">Calendar</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="icon">logo_mini.png</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
- <signal name="destroy" handler="gtk_main_quit" last_modification_time="Mon, 03 Apr 2006 18:04:31 GMT"/>
-
- <child>
- <widget class="GtkVBox" id="vbox6">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkCalendar" id="calendar">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="display_options">GTK_CALENDAR_SHOW_HEADING|GTK_CALENDAR_SHOW_DAY_NAMES</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHSeparator" id="hseparator1">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox6">
- <property name="border_width">3</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">5</property>
-
- <child>
- <widget class="GtkLabel" id="label29">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button9">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_cancel_clicked" last_modification_time="Mon, 03 Apr 2006 18:10:09 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button8">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_accept_clicked" last_modification_time="Mon, 03 Apr 2006 18:09:48 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-</glade-interface>
diff --git a/glade/equipment.glade b/glade/equipment.ui
similarity index 50%
rename from glade/equipment.glade
rename to glade/equipment.ui
index b07a99c..8969ba6 100644
--- a/glade/equipment.glade
+++ b/glade/equipment.ui
@@ -3,99 +3,94 @@
<!-- interface-requires gtk+ 2.6 -->
<!-- interface-naming-policy project-wide -->
<object class="GtkNotebook" id="notebookEquipment">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="show_tabs">False</property>
- <property name="show_border">False</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="show-tabs">0</property>
+ <property name="show-border">0</property>
<child>
<object class="GtkFrame" id="frameEquipmentList">
- <property name="visible">True</property>
- <property name="border_width">5</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
+ <property name="visible">1</property>
+ <property name="border-width">5</property>
+ <property name="shadow-type">none</property>
<child>
<object class="GtkAlignment" id="alignmentEquipmentList">
- <property name="visible">True</property>
- <property name="left_padding">12</property>
+ <property name="visible">1</property>
+ <property name="left-padding">12</property>
<child>
<object class="GtkVBox" id="vboxEquipmentList">
- <property name="visible">True</property>
- <property name="border_width">5</property>
+ <property name="visible">1</property>
+ <property name="border-width">5</property>
<child>
<object class="GtkScrolledWindow" id="scrolledwindowEquipmentList">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="shadow_type">in</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="treeviewEquipmentList">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
<signal name="cursor_changed" handler="equipment_cursor_changed"/>
<signal name="row_activated" handler="equipment_row_activated"/>
</object>
</child>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
<child>
<object class="GtkHBox" id="hboxEquipmentListButtons">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<child>
<object class="GtkButton" id="buttonEquipmentAdd">
<property name="label">gtk-add</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="receives-default">1</property>
+ <property name="use-stock">1</property>
<signal name="clicked" handler="add_equipment_clicked"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
+ <property name="pack-type">end</property>
</packing>
</child>
<child>
<object class="GtkButton" id="buttonEquipmentEdit">
<property name="label">gtk-edit</property>
- <property name="sensitive">False</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="sensitive">0</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="receives-default">1</property>
+ <property name="use-stock">1</property>
<signal name="clicked" handler="edit_equipment_clicked"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
+ <property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="buttonEquipmentDelete">
<property name="label">gtk-delete</property>
- <property name="sensitive">False</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="sensitive">0</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="receives-default">1</property>
+ <property name="use-stock">1</property>
<signal name="clicked" handler="delete_equipment_clicked"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
+ <property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
<property name="position">1</property>
</packing>
</child>
@@ -105,105 +100,103 @@
</child>
<child type="label">
<object class="GtkLabel" id="labelEquipmentList">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="label" translatable="yes"><b>Equipment List</b></property>
- <property name="use_markup">True</property>
+ <property name="use-markup">1</property>
</object>
</child>
</object>
<packing>
- <property name="tab_expand">True</property>
+ <property name="tab-expand">1</property>
</packing>
</child>
<child type="tab">
- <placeholder/>
</child>
<child>
<object class="GtkFrame" id="frameEquipmentAdd">
- <property name="visible">True</property>
- <property name="border_width">5</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
+ <property name="visible">1</property>
+ <property name="border-width">5</property>
+ <property name="shadow-type">none</property>
<child>
<object class="GtkAlignment" id="alignmentEquipmentAdd">
- <property name="visible">True</property>
- <property name="left_padding">12</property>
+ <property name="visible">1</property>
+ <property name="left-padding">12</property>
<child>
<object class="GtkVBox" id="vboxEquipmentAdd">
- <property name="visible">True</property>
- <property name="border_width">5</property>
+ <property name="visible">1</property>
+ <property name="border-width">5</property>
<child>
<object class="GtkHBox" id="hboxEquipmentAddDetails">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<child>
<object class="GtkTable" id="tableEquipmentAddDetails">
- <property name="visible">True</property>
- <property name="n_rows">5</property>
- <property name="n_columns">2</property>
- <property name="row_spacing">5</property>
+ <property name="visible">1</property>
+ <property name="n-rows">5</property>
+ <property name="n-columns">2</property>
+ <property name="row-spacing">5</property>
<child>
<object class="GtkLabel" id="labelEquipmentAddDescription">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">1</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Description</property>
</object>
<packing>
- <property name="y_options"></property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkEntry" id="entryEquipmentAddDescription">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- <property name="width_chars">35</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="invisible-char">●</property>
+ <property name="width-chars">35</property>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="left-attach">1</property>
+ <property name="right-attach">2</property>
+ <property name="x-options"></property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelEquipmentAddLifeExpectancy">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">1</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Life Expectancy</property>
</object>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="top-attach">1</property>
+ <property name="bottom-attach">2</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkAlignment" id="alignment3">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">0</property>
<property name="xscale">0</property>
<child>
<object class="GtkEntry" id="entryEquipmentAddLifeExpectancy">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- <property name="width_chars">8</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="invisible-char">●</property>
+ <property name="width-chars">8</property>
</object>
</child>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="left-attach">1</property>
+ <property name="right-attach">2</property>
+ <property name="top-attach">1</property>
+ <property name="bottom-attach">2</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelEquipmentAddPriorUsage">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">1</property>
<property name="yalign">0</property>
<property name="xpad">5</property>
@@ -211,65 +204,61 @@
<property name="label" translatable="yes">Prior Usage</property>
</object>
<packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="top-attach">2</property>
+ <property name="bottom-attach">3</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkAlignment" id="alignment2">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">0</property>
<property name="xscale">0</property>
<child>
<object class="GtkEntry" id="entryEquipmentAddPriorUsage">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">•</property>
- <property name="width_chars">8</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="invisible-char">•</property>
+ <property name="width-chars">8</property>
</object>
</child>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="left-attach">1</property>
+ <property name="right-attach">2</property>
+ <property name="top-attach">2</property>
+ <property name="bottom-attach">3</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkbuttonEquipmentAddActive">
<property name="label" translatable="yes">Active</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="draw_indicator">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="draw-indicator">1</property>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="y_options"></property>
+ <property name="left-attach">1</property>
+ <property name="right-attach">2</property>
+ <property name="top-attach">3</property>
+ <property name="bottom-attach">4</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkAlignment" id="alignment6">
- <property name="visible">True</property>
- <child>
- <placeholder/>
- </child>
+ <property name="visible">1</property>
</object>
<packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="y_options"></property>
+ <property name="top-attach">3</property>
+ <property name="bottom-attach">4</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelEquipmentAddNotes">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">1</property>
<property name="yalign">0</property>
<property name="xpad">5</property>
@@ -277,82 +266,76 @@
<property name="label" translatable="yes">Notes</property>
</object>
<packing>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="top-attach">4</property>
+ <property name="bottom-attach">5</property>
+ <property name="y-options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="shadow_type">in</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="shadow-type">in</property>
<child>
<object class="GtkTextView" id="textviewEquipmentAddNotes">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
</object>
</child>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
+ <property name="left-attach">1</property>
+ <property name="right-attach">2</property>
+ <property name="top-attach">4</property>
+ <property name="bottom-attach">5</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
</packing>
</child>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
<child>
<object class="GtkHBox" id="hboxEquipmentAddButtons">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<child>
<object class="GtkButton" id="buttonEquipmentAddCancel">
<property name="label">gtk-cancel</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="receives-default">1</property>
+ <property name="use-stock">1</property>
<signal name="clicked" handler="cancel_add_equipment_clicked"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
+ <property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="buttonEquipmentAddConfirm">
<property name="label">gtk-add</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="receives-default">1</property>
+ <property name="use-stock">1</property>
<signal name="clicked" handler="confirm_add_equipment_clicked"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
+ <property name="pack-type">end</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
<property name="position">1</property>
</packing>
</child>
@@ -362,9 +345,9 @@
</child>
<child type="label">
<object class="GtkLabel" id="labelEquipmentAdd">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="label" translatable="yes"><b>Add New Equipment</b></property>
- <property name="use_markup">True</property>
+ <property name="use-markup">1</property>
</object>
</child>
</object>
@@ -373,159 +356,153 @@
</packing>
</child>
<child type="tab">
- <placeholder/>
</child>
<child>
<object class="GtkFrame" id="frameEquipmentEdit">
- <property name="visible">True</property>
- <property name="border_width">5</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
+ <property name="visible">1</property>
+ <property name="border-width">5</property>
+ <property name="shadow-type">none</property>
<child>
<object class="GtkAlignment" id="alignmentEquipmentEdit">
- <property name="visible">True</property>
- <property name="left_padding">12</property>
+ <property name="visible">1</property>
+ <property name="left-padding">12</property>
<child>
<object class="GtkVBox" id="vboxEquipmentEdit">
- <property name="visible">True</property>
- <property name="border_width">5</property>
+ <property name="visible">1</property>
+ <property name="border-width">5</property>
<child>
<object class="GtkHBox" id="hboxEquipmentEditDetails">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<child>
<object class="GtkTable" id="tableEquipmentEditDetails">
- <property name="visible">True</property>
- <property name="n_rows">5</property>
- <property name="n_columns">2</property>
- <property name="row_spacing">5</property>
+ <property name="visible">1</property>
+ <property name="n-rows">5</property>
+ <property name="n-columns">2</property>
+ <property name="row-spacing">5</property>
<child>
<object class="GtkLabel" id="labelEquipmentEditDescription">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">1</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Description</property>
</object>
<packing>
- <property name="y_options"></property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkEntry" id="entryEquipmentEditDescription">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- <property name="width_chars">35</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="invisible-char">●</property>
+ <property name="width-chars">35</property>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="left-attach">1</property>
+ <property name="right-attach">2</property>
+ <property name="x-options"></property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelEquipmentEditLifeExpectancy">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">1</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Life Expectancy</property>
</object>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="top-attach">1</property>
+ <property name="bottom-attach">2</property>
+ <property name="x-options">GTK_FILL</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkAlignment" id="alignment1">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">0</property>
<property name="xscale">0</property>
<child>
<object class="GtkEntry" id="entryEquipmentEditLifeExpectancy">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- <property name="width_chars">8</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="invisible-char">●</property>
+ <property name="width-chars">8</property>
</object>
</child>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="left-attach">1</property>
+ <property name="right-attach">2</property>
+ <property name="top-attach">1</property>
+ <property name="bottom-attach">2</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelEquipmentEditPriorUsage">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">1</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Prior Usage</property>
</object>
<packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="top-attach">2</property>
+ <property name="bottom-attach">3</property>
+ <property name="y-options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkAlignment" id="alignment4">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">0</property>
<property name="xscale">0</property>
<child>
<object class="GtkEntry" id="entryEquipmentEditPriorUsage">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">•</property>
- <property name="width_chars">8</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="invisible-char">•</property>
+ <property name="width-chars">8</property>
</object>
</child>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="left-attach">1</property>
+ <property name="right-attach">2</property>
+ <property name="top-attach">2</property>
+ <property name="bottom-attach">3</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkbuttonEquipmentEditActive">
<property name="label" translatable="yes">Active</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="draw_indicator">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="draw-indicator">1</property>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="y_options"></property>
+ <property name="left-attach">1</property>
+ <property name="right-attach">2</property>
+ <property name="top-attach">3</property>
+ <property name="bottom-attach">4</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkAlignment" id="alignment8">
- <property name="visible">True</property>
- <child>
- <placeholder/>
- </child>
+ <property name="visible">1</property>
</object>
<packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="y_options"></property>
+ <property name="top-attach">3</property>
+ <property name="bottom-attach">4</property>
+ <property name="y-options"></property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelEquipmentEditNotes">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="xalign">1</property>
<property name="yalign">0</property>
<property name="xpad">5</property>
@@ -533,82 +510,76 @@
<property name="label" translatable="yes">Notes</property>
</object>
<packing>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="top-attach">4</property>
+ <property name="bottom-attach">5</property>
+ <property name="y-options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="shadow_type">in</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="shadow-type">in</property>
<child>
<object class="GtkTextView" id="textviewEquipmentEditNotes">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
</object>
</child>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
+ <property name="left-attach">1</property>
+ <property name="right-attach">2</property>
+ <property name="top-attach">4</property>
+ <property name="bottom-attach">5</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
</packing>
</child>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
<child>
<object class="GtkHBox" id="hboxEquipmentEditButtons">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<child>
<object class="GtkButton" id="buttonEquipmentEditCancel">
<property name="label">gtk-cancel</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="receives-default">1</property>
+ <property name="use-stock">1</property>
<signal name="clicked" handler="cancel_edit_equipment_clicked"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
+ <property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="buttonEquipmentEditConfirm">
<property name="label">gtk-save</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="receives-default">1</property>
+ <property name="use-stock">1</property>
<signal name="clicked" handler="confirm_edit_equipment_clicked"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
+ <property name="pack-type">end</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="expand">0</property>
+ <property name="fill">0</property>
<property name="position">1</property>
</packing>
</child>
@@ -618,9 +589,9 @@
</child>
<child type="label">
<object class="GtkLabel" id="labelEquipmentEdit">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="label" translatable="yes"><b>Edit Equipment</b></property>
- <property name="use_markup">True</property>
+ <property name="use-markup">1</property>
</object>
</child>
</object>
@@ -629,68 +600,60 @@
</packing>
</child>
<child type="tab">
- <placeholder/>
</child>
<child>
<object class="GtkFrame" id="frameEquipmentDelete">
- <property name="visible">True</property>
- <property name="border_width">5</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
+ <property name="visible">1</property>
+ <property name="border-width">5</property>
+ <property name="shadow-type">none</property>
<child>
<object class="GtkAlignment" id="alignmentEquipmentDelete">
- <property name="visible">True</property>
- <property name="left_padding">12</property>
+ <property name="visible">1</property>
+ <property name="left-padding">12</property>
<child>
<object class="GtkVBox" id="vboxEquipmentDelete">
- <property name="visible">True</property>
- <property name="border_width">5</property>
+ <property name="visible">1</property>
+ <property name="border-width">5</property>
<child>
<object class="GtkLabel" id="labelEquipmentDeleteConfirm">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="label" translatable="yes">Really delete the equipment item?</property>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
<child>
<object class="GtkHButtonBox" id="hbuttonboxEquipmentDeleteButtons">
- <property name="visible">True</property>
- <property name="layout_style">end</property>
+ <property name="visible">1</property>
+ <property name="layout-style">end</property>
<child>
<object class="GtkButton" id="buttonEquipmentDeleteCancel">
<property name="label">gtk-cancel</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="receives-default">1</property>
+ <property name="use-stock">1</property>
<signal name="clicked" handler="cancel_delete_equipment_clicked"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
+ <property name="fill">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="buttonEquipmentDeleteConfirm">
<property name="label">gtk-ok</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+ <property name="receives-default">1</property>
+ <property name="use-stock">1</property>
<signal name="clicked" handler="confirm_delete_equipment_clicked"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="fill">0</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">0</property>
<property name="position">1</property>
</packing>
</child>
@@ -700,9 +663,9 @@
</child>
<child type="label">
<object class="GtkLabel" id="labelEquipmentDelete">
- <property name="visible">True</property>
+ <property name="visible">1</property>
<property name="label" translatable="yes"><b>Delete Equipment</b></property>
- <property name="use_markup">True</property>
+ <property name="use-markup">1</property>
</object>
</child>
</object>
@@ -711,7 +674,6 @@
</packing>
</child>
<child type="tab">
- <placeholder/>
</child>
</object>
</interface>
diff --git a/glade/extensions.glade b/glade/extensions.ui
similarity index 78%
rename from glade/extensions.glade
rename to glade/extensions.ui
index 6bae708..fd2b2e3 100644
--- a/glade/extensions.glade
+++ b/glade/extensions.ui
@@ -1,46 +1,46 @@
<?xml version="1.0"?>
-<glade-interface>
+<interface>
<!-- interface-requires gtk+ 2.16 -->
<!-- interface-naming-policy toplevel-contextual -->
- <widget class="GtkWindow" id="extensions">
+ <object class="GtkWindow" id="extensions">
<property name="width_request">606</property>
<property name="height_request">249</property>
<property name="visible">True</property>
<property name="title" translatable="yes">Extensions</property>
<property name="icon">logo_mini.png</property>
- <signal name="destroy" handler="gtk_main_quit"/>
+ <signal handler="gtk_main_quit" name="destroy"/>
<child>
- <widget class="GtkHBox" id="hbox32">
+ <object class="GtkHBox" id="hbox32">
<property name="width_request">32</property>
<property name="height_request">16</property>
<property name="visible">True</property>
<property name="border_width">9</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow4">
+ <object class="GtkScrolledWindow" id="scrolledwindow4">
<property name="width_request">230</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkTreeView" id="extensionsTree">
+ <object class="GtkTreeView" id="extensionsTree">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="rules_hint">True</property>
- <signal name="button_release_event" handler="on_extensionsTree_clicked"/>
- </widget>
+ <signal handler="on_extensionsTree_clicked" name="button_release_event"/>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox20">
+ <object class="GtkVBox" id="vbox20">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
- <widget class="GtkTable" id="table11">
+ <object class="GtkTable" id="table11">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_rows">4</property>
@@ -48,132 +48,132 @@
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label-2147483648">
+ <object class="GtkLabel" id="label-2147483648">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Extension Details</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="nameEntry">
+ <object class="GtkLabel" id="nameEntry">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">name-entry</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label166">
+ <object class="GtkLabel" id="label166">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Name:</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label168">
+ <object class="GtkLabel" id="label168">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Status:</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label167">
+ <object class="GtkLabel" id="label167">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Description:</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="statusEntry">
+ <object class="GtkLabel" id="statusEntry">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">status-entry</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="descriptionEntry">
+ <object class="GtkLabel" id="descriptionEntry">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">description-entry</property>
<property name="wrap">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox33">
+ <object class="GtkHBox" id="hbox33">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label11111">
+ <object class="GtkLabel" id="label11111">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button30">
+ <object class="GtkButton" id="button30">
<property name="label">gtk-help</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_help_clicked"/>
- </widget>
+ <signal handler="on_help_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -181,14 +181,14 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button29">
+ <object class="GtkButton" id="button29">
<property name="label">gtk-preferences</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_preferences_clicked"/>
- </widget>
+ <signal handler="on_preferences_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -196,32 +196,32 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button28">
+ <object class="GtkButton" id="button28">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_accept_clicked"/>
- </widget>
+ <signal handler="on_accept_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">3</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
-</glade-interface>
+ </object>
+</interface>
diff --git a/glade/filechooserdialog.glade b/glade/filechooserdialog.glade
deleted file mode 100644
index 31444d4..0000000
--- a/glade/filechooserdialog.glade
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0"?>
-<glade-interface>
- <widget class="GtkFileChooserDialog" id="filechooserdialog">
- <property name="visible">True</property>
- <property name="border_width">5</property>
- <property name="destroy_with_parent">True</property>
- <property name="icon">logo_mini.png</property>
- <property name="type_hint">dialog</property>
- <property name="do_overwrite_confirmation">True</property>
- <property name="local_only">False</property>
- <signal name="destroy" handler="gtk_main_quit"/>
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox1">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">24</property>
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area1">
- <property name="visible">True</property>
- <property name="layout_style">end</property>
- <child>
- <widget class="GtkButton" id="button13">
- <property name="label">gtk-cancel</property>
- <property name="response_id">-6</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="on_cancel_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="button14">
- <property name="label">gtk-open</property>
- <property name="response_id">-5</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="has_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="on_accept_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
-</glade-interface>
diff --git a/glade/importdata.glade b/glade/importdata.ui
similarity index 69%
rename from glade/importdata.glade
rename to glade/importdata.ui
index c8e38e6..1019293 100644
--- a/glade/importdata.glade
+++ b/glade/importdata.ui
@@ -1,8 +1,181 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
+<?xml version="1.0"?>
+<interface>
+ <object class="GtkListStore" id="model1">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Test 1</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Test 2</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model10">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model11">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model12">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model13">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model14">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model15">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model16">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model17">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes"> </col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model2">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model3">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model4">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model5">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model6">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model7">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model8">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model9">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Exclude</col>
+ </row>
+ </data>
+ </object>
<!-- interface-requires gtk+ 2.16 -->
<!-- interface-naming-policy toplevel-contextual -->
- <widget class="GtkWindow" id="win_importdata">
+ <object class="GtkWindow" id="win_importdata">
<property name="visible">True</property>
<property name="title" translatable="yes">Import</property>
<property name="window_position">mouse</property>
@@ -10,48 +183,50 @@
<property name="default_height">400</property>
<property name="destroy_with_parent">True</property>
<property name="icon">logo_mini.png</property>
- <signal name="destroy_event" handler="on_win_importdata_destroy_event"/>
- <signal name="delete_event" handler="on_win_importdata_delete_event"/>
+ <signal handler="on_win_importdata_destroy_event" name="destroy_event"/>
+ <signal handler="on_win_importdata_delete_event" name="delete_event"/>
<child>
- <widget class="GtkNotebook" id="notebookMainTabs">
+ <object class="GtkNotebook" id="notebookMainTabs">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <signal name="switch_page" handler="on_notebookMainTabs_switch_page"/>
+ <signal handler="on_notebookMainTabs_switch_page" name="switch_page"/>
<child>
- <widget class="GtkVBox" id="vboxImportFromDevice">
+ <object class="GtkVBox" id="vboxImportFromDevice">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frameDeviceSelect">
+ <object class="GtkFrame" id="frameDeviceSelect">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment5">
+ <object class="GtkAlignment" id="alignment5">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkComboBox" id="comboboxDevice">
+ <object class="GtkComboBox" id="comboboxDevice">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Test 1
-Test 2</property>
- <signal name="changed" handler="on_comboboxDevice_changed"/>
- </widget>
+ <signal handler="on_comboboxDevice_changed" name="changed"/>
+ <property name="model">model1</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer1"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelSelectDevice">
+ <child type="label">
+ <object class="GtkLabel" id="labelSelectDevice">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Select your GPS device</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -59,10 +234,10 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelTemp">
+ <object class="GtkLabel" id="labelTemp">
<property name="visible">True</property>
<property name="label" translatable="yes">Import from GPS Device is not yet implemented</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -70,51 +245,48 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameImportFromDevice">
+ <object class="GtkFrame" id="frameImportFromDevice">
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment1">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkVBox" id="vboxImportTools">
+ <object class="GtkVBox" id="vboxImportTools">
<property name="visible">True</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelImportDeviceTools">
+ <child type="label">
+ <object class="GtkLabel" id="labelImportDeviceTools">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Tools</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hboxDeviceButtons">
+ <object class="GtkHBox" id="hboxDeviceButtons">
<property name="visible">True</property>
<child>
- <widget class="GtkButton" id="buttonDeviceToolRescan">
+ <object class="GtkButton" id="buttonDeviceToolRescan">
<property name="label" translatable="yes">Rescan</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Rescan system for available tools</property>
- <signal name="clicked" handler="on_buttonDeviceToolRescan_clicked"/>
- </widget>
+ <property name="tooltip-text" translatable="yes">Rescan system for available tools</property>
+ <signal handler="on_buttonDeviceToolRescan_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -124,14 +296,14 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="buttonDeviceClose">
+ <object class="GtkButton" id="buttonDeviceClose">
<property name="label">gtk-close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_buttonDeviceClose_clicked"/>
- </widget>
+ <signal handler="on_buttonDeviceClose_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -140,7 +312,7 @@ Test 2</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -149,80 +321,79 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkStatusbar" id="statusbarDevice">
+ <object class="GtkStatusbar" id="statusbarDevice">
<property name="visible">True</property>
<property name="spacing">2</property>
<property name="has_resize_grip">False</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelImportFromDevice">
+ <child type="tab">
+ <object class="GtkLabel" id="labelImportFromDevice">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Import from GPS Device</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
+ </object>
<packing>
<property name="tab_expand">True</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vboxImportFromFile">
+ <object class="GtkVBox" id="vboxImportFromFile">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frameSelectFile">
+ <object class="GtkFrame" id="frameSelectFile">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment3">
+ <object class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkVBox" id="vboxImportfromFileSelectFiles">
+ <object class="GtkVBox" id="vboxImportfromFileSelectFiles">
<property name="visible">True</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindowImportFiles">
+ <object class="GtkScrolledWindow" id="scrolledwindowImportFiles">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">never</property>
<child>
- <widget class="GtkTreeView" id="treeviewImportFiles">
+ <object class="GtkTreeView" id="treeviewImportFiles">
<property name="visible">True</property>
<property name="can_focus">True</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox2">
+ <object class="GtkHBox" id="hbox2">
<property name="visible">True</property>
<child>
<placeholder/>
</child>
<child>
- <widget class="GtkButton" id="buttonRemoveSelectedFiles">
+ <object class="GtkButton" id="buttonRemoveSelectedFiles">
<property name="label">gtk-remove</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Remove selected files and the associated activities</property>
+ <property name="tooltip-text" translatable="yes">Remove selected files and the associated activities</property>
<property name="use_stock">True</property>
<property name="yalign">0.4699999988079071</property>
- <signal name="clicked" handler="on_buttonRemoveSelectedFiles_clicked"/>
- </widget>
+ <signal handler="on_buttonRemoveSelectedFiles_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="padding">5</property>
@@ -231,16 +402,16 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="buttonSelectFiles">
+ <object class="GtkButton" id="buttonSelectFiles">
<property name="label">gtk-add</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Add files to import activities from</property>
+ <property name="tooltip-text" translatable="yes">Add files to import activities from</property>
<property name="use_stock">True</property>
<property name="focus_on_click">False</property>
- <signal name="clicked" handler="on_buttonSelectFiles_clicked"/>
- </widget>
+ <signal handler="on_buttonSelectFiles_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="padding">5</property>
@@ -248,28 +419,25 @@ Test 2</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelSelectFileFrame">
+ <child type="label">
+ <object class="GtkLabel" id="labelSelectFileFrame">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Add file(s) to import activities from</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -278,58 +446,55 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameFileType">
+ <object class="GtkFrame" id="frameFileType">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment2">
+ <object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindowImportEvents">
+ <object class="GtkScrolledWindow" id="scrolledwindowImportEvents">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">automatic</property>
<child>
- <widget class="GtkTreeView" id="treeviewImportEvents">
+ <object class="GtkTreeView" id="treeviewImportEvents">
<property name="visible">True</property>
<property name="can_focus">True</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelEvents">
+ <child type="label">
+ <object class="GtkLabel" id="labelEvents">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Select activities to import</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hboxImportButtons">
+ <object class="GtkHBox" id="hboxImportButtons">
<property name="visible">True</property>
<child>
- <widget class="GtkButton" id="buttonFileImport">
+ <object class="GtkButton" id="buttonFileImport">
<property name="label" translatable="yes">Import</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Import selected activities</property>
- <signal name="clicked" handler="on_buttonFileImport_clicked"/>
- </widget>
+ <property name="tooltip-text" translatable="yes">Import selected activities</property>
+ <signal handler="on_buttonFileImport_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -339,15 +504,15 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="buttonFileClose">
+ <object class="GtkButton" id="buttonFileClose">
<property name="label">gtk-close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Close Import dialog</property>
+ <property name="tooltip-text" translatable="yes">Close Import dialog</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_buttonFileClose_clicked"/>
- </widget>
+ <signal handler="on_buttonFileClose_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -356,7 +521,7 @@ Test 2</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -364,47 +529,46 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkStatusbar" id="statusbarImportFile">
+ <object class="GtkStatusbar" id="statusbarImportFile">
<property name="visible">True</property>
<property name="spacing">2</property>
<property name="has_resize_grip">False</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
</packing>
</child>
- <child>
- <widget class="GtkLabel" id="labelImportFromFilePage">
+ <child type="tab">
+ <object class="GtkLabel" id="labelImportFromFilePage">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Import from File</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
<property name="tab_expand">True</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vboxPluginsTab">
+ <object class="GtkVBox" id="vboxPluginsTab">
<property name="visible">True</property>
<child>
- <widget class="GtkVBox" id="vboxPlugins">
+ <object class="GtkVBox" id="vboxPlugins">
<property name="visible">True</property>
<child>
<placeholder/>
</child>
<child>
- <widget class="GtkHBox" id="hboxPluginsButtons">
+ <object class="GtkHBox" id="hboxPluginsButtons">
<property name="visible">True</property>
<child>
<placeholder/>
@@ -413,14 +577,14 @@ Test 2</property>
<placeholder/>
</child>
<child>
- <widget class="GtkButton" id="buttonPluginsClose">
+ <object class="GtkButton" id="buttonPluginsClose">
<property name="label">gtk-close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_buttonPluginsClose_clicked"/>
- </widget>
+ <signal handler="on_buttonPluginsClose_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -429,7 +593,7 @@ Test 2</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="pack_type">end</property>
@@ -437,64 +601,60 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkStatusbar" id="statusbarPlugins">
+ <object class="GtkStatusbar" id="statusbarPlugins">
<property name="visible">True</property>
<property name="spacing">2</property>
<property name="has_resize_grip">False</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelPluginsPage">
+ <child type="tab">
+ <object class="GtkLabel" id="labelPluginsPage">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Plugins</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
<property name="tab_expand">True</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vboxOptions">
+ <object class="GtkVBox" id="vboxOptions">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frameDefaultTab">
+ <object class="GtkFrame" id="frameDefaultTab">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment4">
+ <object class="GtkAlignment" id="alignment4">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkHBox" id="hboxDefaultTab">
+ <object class="GtkHBox" id="hboxDefaultTab">
<property name="visible">True</property>
<child>
- <widget class="GtkRadioButton" id="radiobuttonTabGPSDevice">
+ <object class="GtkRadioButton" id="radiobuttonTabGPSDevice">
<property name="label" translatable="yes">Import from GPS Device</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -503,17 +663,17 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox1">
+ <object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
<child>
- <widget class="GtkRadioButton" id="radiobuttonFile">
+ <object class="GtkRadioButton" id="radiobuttonFile">
<property name="label" translatable="yes">Import from File</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">radiobuttonTabGPSDevice</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -521,28 +681,28 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="checkbuttonAutoLaunch">
+ <object class="GtkCheckButton" id="checkbuttonAutoLaunch">
<property name="label" translatable="yes">Launch 'File Select' on start</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="tooltip" translatable="yes">Automatically start the file selection dialog</property>
+ <property name="tooltip-text" translatable="yes">Automatically start the file selection dialog</property>
<property name="xalign">0.47999998927116394</property>
<property name="draw_indicator">True</property>
- </widget>
+ </object>
<packing>
<property name="padding">10</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="radiobuttonPlugins">
+ <object class="GtkRadioButton" id="radiobuttonPlugins">
<property name="label" translatable="yes">Plugins</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -551,7 +711,7 @@ Test 2</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">radiobuttonTabGPSDevice</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -562,22 +722,19 @@ Test 2</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelDefaultTab">
+ <child type="label">
+ <object class="GtkLabel" id="labelDefaultTab">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Default to Tab</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="padding">5</property>
@@ -588,16 +745,16 @@ Test 2</property>
<placeholder/>
</child>
<child>
- <widget class="GtkHBox" id="hboxOptionButtons">
+ <object class="GtkHBox" id="hboxOptionButtons">
<property name="visible">True</property>
<child>
- <widget class="GtkButton" id="buttonOptionsReset">
+ <object class="GtkButton" id="buttonOptionsReset">
<property name="label" translatable="yes">Reset</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <signal name="clicked" handler="on_buttonOptionsReset_clicked"/>
- </widget>
+ <signal handler="on_buttonOptionsReset_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -607,13 +764,13 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="buttonOptionsSave">
+ <object class="GtkButton" id="buttonOptionsSave">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <signal name="clicked" handler="on_buttonOptionsSave_clicked"/>
- </widget>
+ <signal handler="on_buttonOptionsSave_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -623,14 +780,14 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="buttonOptionsClose">
+ <object class="GtkButton" id="buttonOptionsClose">
<property name="label">gtk-close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_buttonOptionsClose_clicked"/>
- </widget>
+ <signal handler="on_buttonOptionsClose_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -639,7 +796,7 @@ Test 2</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="padding">5</property>
@@ -648,66 +805,59 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkStatusbar" id="statusbarOptions">
+ <object class="GtkStatusbar" id="statusbarOptions">
<property name="visible">True</property>
<property name="spacing">2</property>
<property name="has_resize_grip">False</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelOptionsPage">
+ <child type="tab">
+ <object class="GtkLabel" id="labelOptionsPage">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Options</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vboxCSVImport">
+ <object class="GtkVBox" id="vboxCSVImport">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frameSelectFile1">
+ <object class="GtkFrame" id="frameSelectFile1">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment6">
+ <object class="GtkAlignment" id="alignment6">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkFileChooserButton" id="filechooserCSVImport">
+ <object class="GtkFileChooserButton" id="filechooserCSVImport">
<property name="visible">True</property>
- <signal name="file_set" handler="on_filechooserCSVImport_file_set"/>
- </widget>
+ <signal handler="on_filechooserCSVImport_file_set" name="file_set"/>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelSelectFileFrame1">
+ <child type="label">
+ <object class="GtkLabel" id="labelSelectFileFrame1">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Select file to import from</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -716,25 +866,25 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameSelectFile2">
+ <object class="GtkFrame" id="frameSelectFile2">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment7">
+ <object class="GtkAlignment" id="alignment7">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkHBox" id="hbox3">
+ <object class="GtkHBox" id="hbox3">
<property name="visible">True</property>
<child>
- <widget class="GtkRadioButton" id="rbCSVTab">
+ <object class="GtkRadioButton" id="rbCSVTab">
<property name="label" translatable="yes">Tab</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="padding">5</property>
@@ -742,7 +892,7 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="rbCSVComma">
+ <object class="GtkRadioButton" id="rbCSVComma">
<property name="label" translatable="yes">Comma</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -751,7 +901,7 @@ Test 2</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">rbCSVTab</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="padding">5</property>
@@ -759,7 +909,7 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="rbCSVOther">
+ <object class="GtkRadioButton" id="rbCSVOther">
<property name="label" translatable="yes">Other</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -767,65 +917,62 @@ Test 2</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">rbCSVTab</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="entryCSVOther">
+ <object class="GtkEntry" id="entryCSVOther">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="max_length">5</property>
- <property name="invisible_char">•</property>
+ <property name="invisible_char">•</property>
<property name="width_chars">5</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">3</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelSpace">
+ <object class="GtkLabel" id="labelSpace">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">4</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="buttonCSVProcess">
+ <object class="GtkButton" id="buttonCSVProcess">
<property name="label" translatable="yes">Read File</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="yalign">0.34000000357627869</property>
- <signal name="clicked" handler="on_buttonCSVProcess_clicked"/>
- </widget>
+ <signal handler="on_buttonCSVProcess_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">5</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelCSVFileOptions">
+ <child type="label">
+ <object class="GtkLabel" id="labelCSVFileOptions">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>File delimiter</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -834,35 +981,35 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame1">
+ <object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment8">
+ <object class="GtkAlignment" id="alignment8">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow1">
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">never</property>
<property name="vscrollbar_policy">automatic</property>
<child>
- <widget class="GtkViewport" id="viewport1">
+ <object class="GtkViewport" id="viewport1">
<property name="visible">True</property>
<property name="resize_mode">queue</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkTable" id="table1">
+ <object class="GtkTable" id="table1">
<property name="visible">True</property>
<property name="n_rows">16</property>
<property name="n_columns">3</property>
<child>
- <widget class="GtkLabel" id="labelCSVDate">
+ <object class="GtkLabel" id="labelCSVDate">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Date</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
@@ -871,26 +1018,32 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVDate">
+ <object class="GtkComboBox" id="cbCSVDate">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model2</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer2"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVDistance">
+ <object class="GtkLabel" id="labelCSVDistance">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Distance (km)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
@@ -899,11 +1052,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVDuration">
+ <object class="GtkLabel" id="labelCSVDuration">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Duration (sec)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
@@ -912,52 +1065,64 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVDistance">
+ <object class="GtkComboBox" id="cbCSVDistance">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model3</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer3"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVDuration">
+ <object class="GtkComboBox" id="cbCSVDuration">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model4</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer4"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVDataField">
+ <object class="GtkLabel" id="labelCSVDataField">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>PyTrainer Field</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVFileCol">
+ <object class="GtkLabel" id="labelCSVFileCol">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>File Column</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -966,11 +1131,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVTitle">
+ <object class="GtkLabel" id="labelCSVTitle">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Title</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
@@ -979,11 +1144,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVDescent">
+ <object class="GtkLabel" id="labelCSVDescent">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Descent (m)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">10</property>
<property name="bottom_attach">11</property>
@@ -992,11 +1157,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVAccent">
+ <object class="GtkLabel" id="labelCSVAccent">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Accent (m)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">9</property>
<property name="bottom_attach">10</property>
@@ -1005,11 +1170,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVCalories">
+ <object class="GtkLabel" id="labelCSVCalories">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Calories (kcal)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">8</property>
<property name="bottom_attach">9</property>
@@ -1018,11 +1183,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVMaxSpeed">
+ <object class="GtkLabel" id="labelCSVMaxSpeed">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Max Speed (km/h)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">7</property>
<property name="bottom_attach">8</property>
@@ -1031,11 +1196,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVAvgSpeed">
+ <object class="GtkLabel" id="labelCSVAvgSpeed">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Average Speed (km/h)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">6</property>
<property name="bottom_attach">7</property>
@@ -1044,11 +1209,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVSport">
+ <object class="GtkLabel" id="labelCSVSport">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Sport</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
@@ -1057,11 +1222,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVHR">
+ <object class="GtkLabel" id="labelCSVHR">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Average Heartrate (bpm)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">11</property>
<property name="bottom_attach">12</property>
@@ -1070,11 +1235,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVMaxHR">
+ <object class="GtkLabel" id="labelCSVMaxHR">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Max Heartrate (bpm)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">12</property>
<property name="bottom_attach">13</property>
@@ -1083,11 +1248,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVPace">
+ <object class="GtkLabel" id="labelCSVPace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Pace (min/km)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">13</property>
<property name="bottom_attach">14</property>
@@ -1096,11 +1261,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVMaxPace">
+ <object class="GtkLabel" id="labelCSVMaxPace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Max Pace (min/km)</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">14</property>
<property name="bottom_attach">15</property>
@@ -1109,11 +1274,11 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCSVComments">
+ <object class="GtkLabel" id="labelCSVComments">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Comments</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">15</property>
<property name="bottom_attach">16</property>
@@ -1122,212 +1287,290 @@ Test 2</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVTitle">
+ <object class="GtkComboBox" id="cbCSVTitle">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model5</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer5"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVSport">
+ <object class="GtkComboBox" id="cbCSVSport">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model6</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer6"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVAvgSpeed">
+ <object class="GtkComboBox" id="cbCSVAvgSpeed">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model7</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer7"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">6</property>
<property name="bottom_attach">7</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVMaxSpeed">
+ <object class="GtkComboBox" id="cbCSVMaxSpeed">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model8</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer8"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">7</property>
<property name="bottom_attach">8</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVCal">
+ <object class="GtkComboBox" id="cbCSVCal">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model9</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer9"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">8</property>
<property name="bottom_attach">9</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVAccent">
+ <object class="GtkComboBox" id="cbCSVAccent">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model10</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer10"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">9</property>
<property name="bottom_attach">10</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVDescent">
+ <object class="GtkComboBox" id="cbCSVDescent">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model11</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer11"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">10</property>
<property name="bottom_attach">11</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVHR">
+ <object class="GtkComboBox" id="cbCSVHR">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model12</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer12"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">11</property>
<property name="bottom_attach">12</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVMaxHR">
+ <object class="GtkComboBox" id="cbCSVMaxHR">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model13</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer13"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">12</property>
<property name="bottom_attach">13</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVPace">
+ <object class="GtkComboBox" id="cbCSVPace">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model14</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer14"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">13</property>
<property name="bottom_attach">14</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVMaxPace">
+ <object class="GtkComboBox" id="cbCSVMaxPace">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model15</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer15"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">14</property>
<property name="bottom_attach">15</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="cbCSVComments">
+ <object class="GtkComboBox" id="cbCSVComments">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Exclude</property>
- </widget>
+ <property name="model">model16</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer16"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">15</property>
<property name="bottom_attach">16</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox5">
+ <object class="GtkHBox" id="hbox5">
<property name="visible">True</property>
<child>
- <widget class="GtkCheckButton" id="checkbCSVForceSport">
+ <object class="GtkCheckButton" id="checkbCSVForceSport">
<property name="label" translatable="yes">Force sport to:</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="comboCSVForceSport">
+ <object class="GtkComboBox" id="comboCSVForceSport">
<property name="visible">True</property>
- <property name="items" translatable="yes"> </property>
- </widget>
+ <property name="model">model17</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer17"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
@@ -1380,35 +1623,32 @@ Test 2</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelCSVColumns">
+ <child type="label">
+ <object class="GtkLabel" id="labelCSVColumns">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Map Columns</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="padding">5</property>
<property name="position">3</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox4">
+ <object class="GtkHBox" id="hbox4">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><small>This is an experiemental import for delimited files
@@ -1417,20 +1657,20 @@ Test 2</property>
3) Map columns in the file to pytrainer data elements (Date is required)
4) Click 'Import Data'</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="buttonCSVImport">
+ <object class="GtkButton" id="buttonCSVImport">
<property name="label" translatable="yes">Import Data</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <signal name="clicked" handler="on_buttonCSVImport_clicked"/>
- </widget>
+ <signal handler="on_buttonCSVImport_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1438,43 +1678,39 @@ Test 2</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">4</property>
</packing>
</child>
<child>
- <widget class="GtkStatusbar" id="statusbarCSVImport">
+ <object class="GtkStatusbar" id="statusbarCSVImport">
<property name="visible">True</property>
<property name="spacing">2</property>
<property name="has_resize_grip">False</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelCSVImportPage">
+ <child type="tab">
+ <object class="GtkLabel" id="labelCSVImportPage">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Import from CSV</b></property>
<property name="use_markup">True</property>
<property name="single_line_mode">True</property>
- </widget>
+ </object>
<packing>
<property name="position">4</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
-</glade-interface>
+ </object>
+</interface>
diff --git a/glade/newrecord.glade b/glade/newrecord.ui
similarity index 75%
rename from glade/newrecord.glade
rename to glade/newrecord.ui
index c97bbda..21dae03 100644
--- a/glade/newrecord.glade
+++ b/glade/newrecord.ui
@@ -1,52 +1,81 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
+<?xml version="1.0"?>
+<interface>
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="upper">23</property>
+ <property name="lower">0</property>
+ <property name="page_increment">2</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">0</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment2">
+ <property name="upper">59</property>
+ <property name="lower">0</property>
+ <property name="page_increment">2</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">0</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment3">
+ <property name="upper">59</property>
+ <property name="lower">0</property>
+ <property name="page_increment">2</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">0</property>
+ </object>
+ <object class="GtkListStore" id="rcd_sport_list">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ </object>
<!-- interface-requires gtk+ 2.6 -->
<!-- interface-naming-policy toplevel-contextual -->
- <widget class="GtkWindow" id="newrecord">
+ <object class="GtkWindow" id="newrecord">
<property name="visible">True</property>
<property name="title" translatable="yes">New Entry</property>
<property name="icon">logo_mini.png</property>
- <signal name="destroy" handler="quit"/>
+ <signal handler="quit" name="destroy"/>
<child>
- <widget class="GtkVBox" id="vbox2">
+ <object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindowEntries">
+ <object class="GtkScrolledWindow" id="scrolledwindowEntries">
<property name="can_focus">True</property>
<property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">never</property>
<child>
- <widget class="GtkTreeView" id="treeviewEntries">
+ <object class="GtkTreeView" id="treeviewEntries">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <signal name="button_press_event" handler="on_treeviewEntries_row_activated"/>
- </widget>
+ <signal handler="on_treeviewEntries_row_activated" name="button_press_event"/>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkNotebook" id="notebook2">
+ <object class="GtkNotebook" id="notebook2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="border_width">9</property>
<child>
- <widget class="GtkVBox" id="vbox27">
+ <object class="GtkVBox" id="vbox27">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frame19">
+ <object class="GtkFrame" id="frame19">
<property name="visible">True</property>
<property name="border_width">4</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment22">
+ <object class="GtkAlignment" id="alignment22">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table28">
+ <object class="GtkTable" id="table28">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_rows">3</property>
@@ -54,114 +83,115 @@
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label156">
+ <object class="GtkLabel" id="label156">
<property name="width_request">120</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Title:</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_title">
+ <object class="GtkEntry" id="rcd_title">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- <signal name="changed" handler="on_rcd_title_changed"/>
- </widget>
+ <property name="invisible_char">●</property>
+ <signal handler="on_rcd_title_changed" name="changed"/>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">4</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label161">
+ <object class="GtkLabel" id="label161">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">GPX File:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_gpxfile">
+ <object class="GtkEntry" id="rcd_gpxfile">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
- <property name="invisible_char">●</property>
- </widget>
+ <property name="invisible_char">●</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button25">
+ <object class="GtkButton" id="button25">
<property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_selectfile_clicked"/>
- </widget>
+ <signal handler="on_selectfile_clicked" name="clicked"/>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button24">
+ <object class="GtkButton" id="button24">
<property name="label" translatable="yes">Calculate Values</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
- <signal name="clicked" handler="on_calculatevalues_clicked"/>
- </widget>
+ <signal handler="on_calculatevalues_clicked" name="clicked"/>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label7">
+ <object class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Sport:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="rcd_sport">
+ <object class="GtkComboBoxEntry" id="rcd_sport">
<property name="width_request">134</property>
<property name="visible">True</property>
- <property name="items" translatable="yes"></property>
- <signal name="changed" handler="on_rcd_sport_changed"/>
- </widget>
+ <property name="model">rcd_sport_list</property>
+ <property name="text-column">0</property>
+ <signal handler="on_rcd_sport_changed" name="changed"/>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">3</property>
@@ -174,21 +204,18 @@
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-2147483646">
+ <child type="label">
+ <object class="GtkLabel" id="label-2147483646">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Main</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -196,17 +223,17 @@
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameGeneral">
+ <object class="GtkFrame" id="frameGeneral">
<property name="visible">True</property>
<property name="border_width">4</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment28">
+ <object class="GtkAlignment" id="alignment28">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table31">
+ <object class="GtkTable" id="table31">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_rows">3</property>
@@ -214,70 +241,70 @@
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label_rcd_distance">
+ <object class="GtkLabel" id="label_rcd_distance">
<property name="width_request">120</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Distance (Km):</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button10">
+ <object class="GtkButton" id="button10">
<property name="label" translatable="yes">Calculate</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
- <signal name="clicked" handler="on_calcdistance_clicked"/>
- </widget>
+ <signal handler="on_calcdistance_clicked" name="clicked"/>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label9">
+ <object class="GtkLabel" id="label9">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Duration:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox7">
+ <object class="GtkHBox" id="hbox7">
<property name="visible">True</property>
<child>
- <widget class="GtkSpinButton" id="rcd_hour">
+ <object class="GtkSpinButton" id="rcd_hour">
<property name="width_request">47</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="adjustment">0 0 23 1 2 0</property>
+ <property name="adjustment">adjustment1</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
<property name="wrap">True</property>
- <signal name="value_changed" handler="on_rcd_duration_value_changed"/>
- </widget>
+ <signal handler="on_rcd_duration_value_changed" name="value_changed"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label35">
+ <object class="GtkLabel" id="label35">
<property name="visible">True</property>
<property name="label" translatable="yes">:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -285,26 +312,26 @@
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="rcd_min">
+ <object class="GtkSpinButton" id="rcd_min">
<property name="width_request">47</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="adjustment">0 0 59 1 2 0</property>
+ <property name="adjustment">adjustment2</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
<property name="wrap">True</property>
- <signal name="value_changed" handler="on_rcd_duration_value_changed"/>
- </widget>
+ <signal handler="on_rcd_duration_value_changed" name="value_changed"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label36">
+ <object class="GtkLabel" id="label36">
<property name="visible">True</property>
<property name="label" translatable="yes">:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -312,21 +339,21 @@
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="rcd_second">
+ <object class="GtkSpinButton" id="rcd_second">
<property name="width_request">42</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="adjustment">0 0 59 1 2 0</property>
+ <property name="adjustment">adjustment3</property>
<property name="climb_rate">1</property>
<property name="wrap">True</property>
- <signal name="value_changed" handler="on_rcd_duration_value_changed"/>
- </widget>
+ <signal handler="on_rcd_duration_value_changed" name="value_changed"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">4</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -337,72 +364,72 @@
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_distance">
+ <object class="GtkEntry" id="rcd_distance">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="width_chars">7</property>
- <signal name="changed" handler="on_rcd_distance_changed"/>
- </widget>
+ <signal handler="on_rcd_distance_changed" name="changed"/>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button11">
+ <object class="GtkButton" id="button11">
<property name="label" translatable="yes">Calculate</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
- <signal name="clicked" handler="on_calctime_clicked"/>
- </widget>
+ <signal handler="on_calctime_clicked" name="clicked"/>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label6">
+ <object class="GtkLabel" id="label6">
<property name="width_request">60</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Date:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox5">
+ <object class="GtkHBox" id="hbox5">
<property name="visible">True</property>
<child>
- <widget class="GtkEntry" id="rcd_date">
+ <object class="GtkEntry" id="rcd_date">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
<property name="width_chars">10</property>
- <signal name="changed" handler="on_rcd_date_changed"/>
- </widget>
+ <signal handler="on_rcd_date_changed" name="changed"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label28">
+ <object class="GtkLabel" id="label28">
<property name="visible">True</property>
<property name="label" translatable="yes"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -410,25 +437,25 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button7">
+ <object class="GtkButton" id="button7">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <signal name="clicked" handler="on_calendar_clicked"/>
+ <signal handler="on_calendar_clicked" name="clicked"/>
<child>
- <widget class="GtkImage" id="image2">
+ <object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="stock">gtk-index</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -439,35 +466,35 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="lblTime">
+ <object class="GtkLabel" id="lblTime">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Start Time:</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_starttime">
+ <object class="GtkEntry" id="rcd_starttime">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="width_chars">10</property>
<property name="text" translatable="yes">12:00:00</property>
- <signal name="changed" handler="on_rcd_starttime_changed"/>
- </widget>
+ <signal handler="on_rcd_starttime_changed" name="changed"/>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
@@ -476,21 +503,18 @@
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-2147483648">
+ <child type="label">
+ <object class="GtkLabel" id="label-2147483648">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>General</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -498,229 +522,222 @@
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameVelocity">
+ <object class="GtkFrame" id="frameVelocity">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment27">
+ <object class="GtkAlignment" id="alignment27">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table30">
+ <object class="GtkTable" id="table30">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_columns">5</property>
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label_rcd_maxvel">
+ <object class="GtkLabel" id="label_rcd_maxvel">
<property name="width_request">120</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Max (km/h):</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_maxvel">
+ <object class="GtkEntry" id="rcd_maxvel">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
+ <property name="invisible_char">●</property>
<property name="width_chars">7</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label_rcd_average">
+ <object class="GtkLabel" id="label_rcd_average">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Average (km/h)</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button12">
+ <object class="GtkButton" id="button12">
<property name="label" translatable="yes">Calculate</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
- <signal name="clicked" handler="on_calcavs_clicked"/>
- </widget>
+ <signal handler="on_calcavs_clicked" name="clicked"/>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_average">
+ <object class="GtkEntry" id="rcd_average">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
+ <property name="invisible_char">●</property>
<property name="width_chars">7</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label162">
+ <child type="label">
+ <object class="GtkLabel" id="label162">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Speed</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label4">
+ <child type="tab">
+ <object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="label" translatable="yes">Quick Entry</property>
- </widget>
+ </object>
<packing>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox26">
+ <object class="GtkVBox" id="vbox26">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="framePace">
+ <object class="GtkFrame" id="framePace">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment23">
+ <object class="GtkAlignment" id="alignment23">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table23">
+ <object class="GtkTable" id="table23">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_columns">5</property>
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label_rcd_maxpace">
+ <object class="GtkLabel" id="label_rcd_maxpace">
<property name="width_request">110</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Max (min/km):</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_maxpace">
+ <object class="GtkEntry" id="rcd_maxpace">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
+ <property name="invisible_char">●</property>
<property name="width_chars">7</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label_rcd_pace">
+ <object class="GtkLabel" id="label_rcd_pace">
<property name="width_request">110</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Pace (min/km):</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_pace">
+ <object class="GtkEntry" id="rcd_pace">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
+ <property name="invisible_char">●</property>
<property name="width_chars">7</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button43">
+ <object class="GtkButton" id="button43">
<property name="label" translatable="yes">Calculate</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
- <signal name="clicked" handler="on_calcavs_clicked"/>
- </widget>
+ <signal handler="on_calcavs_clicked" name="clicked"/>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label1">
+ <child type="label">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Pace</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -728,94 +745,91 @@
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameElevation">
+ <object class="GtkFrame" id="frameElevation">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment24">
+ <object class="GtkAlignment" id="alignment24">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table24">
+ <object class="GtkTable" id="table24">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_columns">5</property>
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label_rcd_upositive">
+ <object class="GtkLabel" id="label_rcd_upositive">
<property name="width_request">110</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Ascent:</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_upositive">
+ <object class="GtkEntry" id="rcd_upositive">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
+ <property name="invisible_char">●</property>
<property name="width_chars">7</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label_rcd_unegative">
+ <object class="GtkLabel" id="label_rcd_unegative">
<property name="width_request">110</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Descent:</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_unegative">
+ <object class="GtkEntry" id="rcd_unegative">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
+ <property name="invisible_char">●</property>
<property name="width_chars">7</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label163">
+ <child type="label">
+ <object class="GtkLabel" id="label163">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Accumulated Altitude Change</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -823,17 +837,17 @@
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameBeats">
+ <object class="GtkFrame" id="frameBeats">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment25">
+ <object class="GtkAlignment" id="alignment25">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table25">
+ <object class="GtkTable" id="table25">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_rows">3</property>
@@ -841,125 +855,125 @@
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label142">
+ <object class="GtkLabel" id="label142">
<property name="width_request">110</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Max (bpm):</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label143">
+ <object class="GtkLabel" id="label143">
<property name="width_request">110</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Heart rate:</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_maxbeats">
+ <object class="GtkEntry" id="rcd_maxbeats">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
+ <property name="invisible_char">●</property>
<property name="width_chars">7</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_beats">
+ <object class="GtkEntry" id="rcd_beats">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="width_chars">7</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label2">
+ <object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Calories</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="rcd_calories">
+ <object class="GtkEntry" id="rcd_calories">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
+ <property name="invisible_char">●</property>
<property name="width_chars">7</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-1">
+ <object class="GtkLabel" id="label-1">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><small><b>Note:</b> In order to calculate the calories you must set the sport MET (in Preferences->Sport) </small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="right_attach">6</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2">
+ <object class="GtkLabel" id="label-2">
<property name="visible">True</property>
<property name="xalign">0</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox53">
+ <object class="GtkHBox" id="hbox53">
<property name="visible">True</property>
<child>
- <widget class="GtkButton" id="button42">
+ <object class="GtkButton" id="button42">
<property name="label" translatable="yes">Calculate</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
- <signal name="clicked" handler="on_calccalories_clicked"/>
- </widget>
+ <signal handler="on_calccalories_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -967,14 +981,14 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-3">
+ <object class="GtkLabel" id="label-3">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
@@ -993,61 +1007,54 @@
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label164">
+ <child type="label">
+ <object class="GtkLabel" id="label164">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Heart Rate</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-4">
+ <child type="tab">
+ <object class="GtkLabel" id="label-4">
<property name="visible">True</property>
<property name="label" translatable="yes">Advanced</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame23">
+ <object class="GtkFrame" id="frame23">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment26">
+ <object class="GtkAlignment" id="alignment26">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table26">
+ <object class="GtkTable" id="table26">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow3">
+ <object class="GtkScrolledWindow" id="scrolledwindow3">
<property name="height_request">130</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -1056,70 +1063,63 @@
<property name="vscrollbar_policy">never</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkTextView" id="rcd_comments">
+ <object class="GtkTextView" id="rcd_comments">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="wrap_mode">word</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label166">
+ <child type="label">
+ <object class="GtkLabel" id="label166">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Comments</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-2147483647">
+ <child type="tab">
+ <object class="GtkLabel" id="label-2147483647">
<property name="visible">True</property>
<property name="label" translatable="yes">Comments</property>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameRecordEquipment">
+ <object class="GtkFrame" id="frameRecordEquipment">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<child>
- <widget class="GtkAlignment" id="noActiveEquipmentMessageContainer">
+ <object class="GtkAlignment" id="noActiveEquipmentMessageContainer">
<property name="left_padding">12</property>
<child>
- <widget class="GtkHBox" id="hbox1">
+ <object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
<property name="border_width">5</property>
<child>
- <widget class="GtkImage" id="image1">
+ <object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="xpad">5</property>
<property name="ypad">5</property>
<property name="stock">gtk-info</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1127,19 +1127,19 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label10">
+ <object class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="label" translatable="yes"><i>There are no active equipment items.</i></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1147,15 +1147,15 @@
</packing>
</child>
<child>
- <widget class="GtkAlignment" id="alignmentRecordEquipment">
+ <object class="GtkAlignment" id="alignmentRecordEquipment">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table1">
+ <object class="GtkTable" id="table1">
<property name="visible">True</property>
<property name="border_width">5</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow1">
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="border_width">5</property>
@@ -1163,50 +1163,43 @@
<property name="vscrollbar_policy">automatic</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkTreeView" id="treeviewRecordEquipment">
+ <object class="GtkTreeView" id="treeviewRecordEquipment">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label3">
+ <child type="label">
+ <object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Associated Equipment</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="record_equipment_label">
+ <child type="tab">
+ <object class="GtkLabel" id="record_equipment_label">
<property name="visible">True</property>
<property name="label" translatable="yes">Equipment</property>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1215,27 +1208,27 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox2">
+ <object class="GtkHBox" id="hbox2">
<property name="visible">True</property>
<property name="border_width">3</property>
<child>
- <widget class="GtkLabel" id="label5">
+ <object class="GtkLabel" id="label5">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button2">
+ <object class="GtkButton" id="button2">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_cancel_clicked"/>
- </widget>
+ <signal handler="on_cancel_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1244,21 +1237,21 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button1">
+ <object class="GtkButton" id="button1">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_accept_clicked"/>
- </widget>
+ <signal handler="on_accept_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1266,7 +1259,7 @@
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
-</glade-interface>
+ </object>
+</interface>
diff --git a/glade/plugins.glade b/glade/plugins.ui
similarity index 80%
rename from glade/plugins.glade
rename to glade/plugins.ui
index 4dd3196..eb5ac48 100644
--- a/glade/plugins.glade
+++ b/glade/plugins.ui
@@ -1,45 +1,45 @@
<?xml version="1.0"?>
-<glade-interface>
+<interface>
<!-- interface-requires gtk+ 2.16 -->
<!-- interface-naming-policy toplevel-contextual -->
- <widget class="GtkWindow" id="plugins">
+ <object class="GtkWindow" id="plugins">
<property name="width_request">650</property>
<property name="height_request">230</property>
<property name="visible">True</property>
<property name="title" translatable="yes">Plugins</property>
<property name="icon">logo_mini.png</property>
<child>
- <widget class="GtkHBox" id="hbox34">
+ <object class="GtkHBox" id="hbox34">
<property name="width_request">32</property>
<property name="height_request">16</property>
<property name="visible">True</property>
<property name="border_width">9</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow5">
+ <object class="GtkScrolledWindow" id="scrolledwindow5">
<property name="width_request">230</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkTreeView" id="pluginsTreeview">
+ <object class="GtkTreeView" id="pluginsTreeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="rules_hint">True</property>
- <signal name="button_release_event" handler="on_pluginsTree_clicked"/>
- </widget>
+ <signal handler="on_pluginsTree_clicked" name="button_release_event"/>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox21">
+ <object class="GtkVBox" id="vbox21">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
- <widget class="GtkTable" id="table12">
+ <object class="GtkTable" id="table12">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_rows">4</property>
@@ -47,20 +47,20 @@
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label-2147483647">
+ <object class="GtkLabel" id="label-2147483647">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Plugin Details</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="descriptionEntry">
+ <object class="GtkLabel" id="descriptionEntry">
<property name="height_request">78</property>
<property name="visible">True</property>
<property name="xalign">0</property>
@@ -68,24 +68,24 @@
<property name="label" translatable="yes">description-entry </property>
<property name="use_underline">True</property>
<property name="wrap">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11113">
+ <object class="GtkLabel" id="label11113">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="label" translatable="yes">Description:</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
@@ -94,98 +94,98 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="statusEntry">
+ <object class="GtkLabel" id="statusEntry">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">status-entry</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11114">
+ <object class="GtkLabel" id="label11114">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Status:</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="nameEntry">
+ <object class="GtkLabel" id="nameEntry">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">nameEntry</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11112">
+ <object class="GtkLabel" id="label11112">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Name:</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox35">
+ <object class="GtkHBox" id="hbox35">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label11118">
+ <object class="GtkLabel" id="label11118">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11119">
+ <object class="GtkLabel" id="label11119">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button32">
+ <object class="GtkButton" id="button32">
<property name="label">gtk-preferences</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_preferences_clicked"/>
- </widget>
+ <signal handler="on_preferences_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -193,32 +193,32 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button33">
+ <object class="GtkButton" id="button33">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_accept_clicked"/>
- </widget>
+ <signal handler="on_accept_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">3</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
-</glade-interface>
+ </object>
+</interface>
diff --git a/glade/profile.glade b/glade/profile.ui
similarity index 73%
rename from glade/profile.glade
rename to glade/profile.ui
index fbf1382..1c2aa2d 100644
--- a/glade/profile.glade
+++ b/glade/profile.ui
@@ -1,39 +1,69 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
+<?xml version="1.0"?>
+<interface>
+ <object class="GtkListStore" id="model1">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Error</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Warning</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Info</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Debug</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="ddbb-model">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ </object>
+ <object class="GtkListStore" id="gender-model">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ </object>
<!-- interface-requires gtk+ 2.10 -->
<!-- interface-naming-policy toplevel-contextual -->
- <widget class="GtkWindow" id="newprofile">
+ <object class="GtkWindow" id="newprofile">
<property name="visible">True</property>
<property name="title" translatable="yes">Preferences</property>
<property name="icon">logo_mini.png</property>
- <signal name="destroy" handler="quit"/>
+ <signal handler="quit" name="destroy"/>
<child>
- <widget class="GtkVBox" id="vbox4">
+ <object class="GtkVBox" id="vbox4">
<property name="visible">True</property>
<child>
- <widget class="GtkNotebook" id="notebook3">
+ <object class="GtkNotebook" id="notebook3">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="border_width">9</property>
- <signal name="switch_page" handler="on_switch_page"/>
+ <signal handler="on_switch_page" name="switch_page"/>
<child>
- <widget class="GtkVBox" id="vbox24">
+ <object class="GtkVBox" id="vbox24">
<property name="visible">True</property>
+ <!-- Start of unit system -->
<child>
- <widget class="GtkFrame" id="frame14">
+ <object class="GtkFrame" id="frame14">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment14">
+ <object class="GtkAlignment" id="alignment14">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkHBox" id="hbox2">
+ <object class="GtkHBox" id="hbox2">
<property name="visible">True</property>
<child>
- <widget class="GtkRadioButton" id="prf_metric_system">
+ <object class="GtkRadioButton" id="prf_metric_system">
<property name="label" translatable="yes">Metric system</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -41,7 +71,7 @@
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="padding">5</property>
@@ -49,7 +79,7 @@
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="prf_us_system">
+ <object class="GtkRadioButton" id="prf_us_system">
<property name="label" translatable="yes">U.S. customary units</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -57,56 +87,120 @@
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">prf_metric_system</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="padding">5</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label20">
+ <child type="label">
+ <object class="GtkLabel" id="label20">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>System of Measurement</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
+ <!-- End of unit system -->
+ <!-- Start of start screen -->
<child>
- <widget class="GtkFrame" id="frameDefaultMapViewer">
+ <object class="GtkFrame" id="frame_startscreen">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment2">
+ <object class="GtkAlignment" id="alignment_startscreen">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkHBox" id="hbox1">
+ <object class="GtkHBox" id="hbox_startscreen">
<property name="visible">True</property>
<child>
- <widget class="GtkRadioButton" id="radiobuttonDefaultGMap">
+ <object class="GtkRadioButton" id="radioButtonStartScreenCurrentDay">
+ <property name="label" translatable="yes">Current day</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="radioButtonStartScreenLastEntry">
+ <property name="label" translatable="yes">Last entry</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radioButtonStartScreenCurrentDay</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="padding">5</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label_startscreen">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Start screen</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <!-- End of start screen -->
+ <!-- Start of default map -->
+ <child>
+ <object class="GtkFrame" id="frameDefaultMapViewer">
+ <property name="visible">True</property>
+ <property name="border_width">5</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkRadioButton" id="radiobuttonDefaultGMap">
<property name="label" translatable="yes">Google</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="padding">5</property>
@@ -114,55 +208,51 @@
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="radiobuttonDefaultOSM">
+ <object class="GtkRadioButton" id="radiobuttonDefaultOSM">
<property name="label" translatable="yes">Open Street Map</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">radiobuttonDefaultGMap</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="labelDefaultMapViewer">
+ <child type="label">
+ <object class="GtkLabel" id="labelDefaultMapViewer">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Default Map Viewer</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
+ <!-- End of default map -->
+ <!-- Start of database info -->
<child>
- <widget class="GtkFrame" id="frame13">
+ <object class="GtkFrame" id="frame13">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment13">
+ <object class="GtkAlignment" id="alignment13">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table3">
+ <object class="GtkTable" id="table3">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_rows">3</property>
@@ -170,74 +260,75 @@
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="prf_ddbb_label">
+ <object class="GtkLabel" id="prf_ddbb_label">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Database type:</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="prf_ddbbhost_label">
+ <object class="GtkLabel" id="prf_ddbbhost_label">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Database host:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="prf_ddbbhost">
+ <object class="GtkEntry" id="prf_ddbbhost">
<property name="visible">True</property>
<property name="can_focus">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="prf_ddbbname_label">
+ <object class="GtkLabel" id="prf_ddbbname_label">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Database name:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="prf_ddbbname">
+ <object class="GtkEntry" id="prf_ddbbname">
<property name="visible">True</property>
<property name="can_focus">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="prf_ddbb">
+ <object class="GtkComboBoxEntry" id="prf_ddbb">
<property name="visible">True</property>
- <property name="items"></property>
- <signal name="changed" handler="on_prf_ddbb_changed"/>
- </widget>
+ <signal handler="on_prf_ddbb_changed" name="changed"/>
+ <property name="model">ddbb-model</property>
+ <property name="text-column">0</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -246,116 +337,103 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="prf_ddbbuser_label">
+ <object class="GtkLabel" id="prf_ddbbuser_label">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Database user:</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="prf_ddbbpass_label">
+ <object class="GtkLabel" id="prf_ddbbpass_label">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Database pass:</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="prf_ddbbuser">
+ <object class="GtkEntry" id="prf_ddbbuser">
<property name="visible">True</property>
<property name="can_focus">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="prf_ddbbpass">
+ <object class="GtkEntry" id="prf_ddbbpass">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label19">
+ <child type="label">
+ <object class="GtkLabel" id="label19">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Database</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-2147483645">
+ <child type="tab">
+ <object class="GtkLabel" id="label-2147483645">
<property name="visible">True</property>
<property name="label" translatable="yes">General</property>
- </widget>
+ </object>
<packing>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame12">
+ <object class="GtkFrame" id="frame12">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment12">
+ <object class="GtkAlignment" id="alignment12">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table2">
+ <object class="GtkTable" id="table2">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_rows">3</property>
@@ -363,34 +441,35 @@
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label14">
+ <object class="GtkLabel" id="label14">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">User name:</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label15">
+ <object class="GtkLabel" id="label15">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Gender:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="prf_gender">
+ <object class="GtkComboBoxEntry" id="prf_gender">
<property name="visible">True</property>
- <property name="items"></property>
- </widget>
+ <property name="model">gender-model</property>
+ <property name="text-column">0</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -401,70 +480,70 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label17">
+ <object class="GtkLabel" id="label17">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Height:</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="prf_height">
+ <object class="GtkEntry" id="prf_height">
<property name="visible">True</property>
<property name="can_focus">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="prf_name">
+ <object class="GtkEntry" id="prf_name">
<property name="width_request">160</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label18">
+ <object class="GtkLabel" id="label18">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Date of birth:</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox50">
+ <object class="GtkHBox" id="hbox50">
<property name="visible">True</property>
<child>
- <widget class="GtkEntry" id="prf_age">
+ <object class="GtkEntry" id="prf_age">
<property name="width_request">108</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
+ <property name="invisible_char">●</property>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -472,25 +551,25 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button46">
+ <object class="GtkButton" id="button46">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <signal name="clicked" handler="on_calendar_clicked"/>
+ <signal handler="on_calendar_clicked" name="clicked"/>
<child>
- <widget class="GtkImage" id="image31">
+ <object class="GtkImage" id="image31">
<property name="visible">True</property>
<property name="stock">gtk-index</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
@@ -501,29 +580,29 @@
</packing>
</child>
<child>
- <widget class="GtkEntry" id="prf_weight">
+ <object class="GtkEntry" id="prf_weight">
<property name="visible">True</property>
<property name="can_focus">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label16">
+ <object class="GtkLabel" id="label16">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Weight:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
@@ -532,94 +611,87 @@
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-2147483648">
+ <child type="label">
+ <object class="GtkLabel" id="label-2147483648">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Athlete Details</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label13">
+ <child type="tab">
+ <object class="GtkLabel" id="label13">
<property name="visible">True</property>
<property name="label" translatable="yes">Athlete</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkNotebook" id="notebook5">
+ <object class="GtkNotebook" id="notebook5">
<property name="visible">True</property>
<property name="show_tabs">False</property>
<property name="show_border">False</property>
<child>
- <widget class="GtkFrame" id="sportlist">
+ <object class="GtkFrame" id="sportlist">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment16">
+ <object class="GtkAlignment" id="alignment16">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkVBox" id="sportlist_">
+ <object class="GtkVBox" id="sportlist_">
<property name="visible">True</property>
<property name="border_width">5</property>
<child>
- <widget class="GtkScrolledWindow" id="sportScrollWindow">
+ <object class="GtkScrolledWindow" id="sportScrollWindow">
<property name="height_request">170</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkTreeView" id="sportTreeView">
+ <object class="GtkTreeView" id="sportTreeView">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <signal name="row_activated" handler="on_sporttreeview_row_activated"/>
- </widget>
+ <signal handler="on_sporttreeview_row_activated" name="row_activated"/>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox4">
+ <object class="GtkHBox" id="hbox4">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label26">
+ <object class="GtkLabel" id="label26">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button5">
+ <object class="GtkButton" id="button5">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_delsport_clicked"/>
- </widget>
+ <signal handler="on_delsport_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -627,14 +699,14 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button23">
+ <object class="GtkButton" id="button23">
<property name="label">gtk-edit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_editsport_clicked"/>
- </widget>
+ <signal handler="on_editsport_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -642,163 +714,159 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button6">
+ <object class="GtkButton" id="button6">
<property name="label">gtk-add</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_addsport_clicked"/>
- </widget>
+ <signal handler="on_addsport_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">3</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label1">
+ <child type="label">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Sport List</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label135">
+ <child type="tab">
+ <object class="GtkLabel" id="label135">
<property name="visible">True</property>
<property name="label" translatable="yes">llist</property>
- </widget>
+ </object>
<packing>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="addsport">
+ <object class="GtkFrame" id="addsport">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment18">
+ <object class="GtkAlignment" id="alignment18">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkVBox" id="addsport_">
+ <object class="GtkVBox" id="addsport_">
<property name="visible">True</property>
<property name="border_width">5</property>
<child>
- <widget class="GtkTable" id="table18">
+ <object class="GtkTable" id="table18">
<property name="visible">True</property>
<property name="n_rows">5</property>
<property name="n_columns">3</property>
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkEntry" id="newsportentry">
+ <object class="GtkEntry" id="newsportentry">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
+ <property name="invisible_char">●</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label154">
+ <object class="GtkLabel" id="label154">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Name:</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label155">
+ <object class="GtkLabel" id="label155">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">M.E.T.:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="newmetentry">
+ <object class="GtkEntry" id="newmetentry">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
+ <property name="invisible_char">●</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-1">
+ <object class="GtkLabel" id="label-1">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Extra Weight:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="newweightentry">
+ <object class="GtkEntry" id="newweightentry">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
+ <property name="invisible_char">●</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label156">
+ <object class="GtkLabel" id="label156">
<property name="visible">True</property>
<property name="xalign">0</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLinkButton" id="metlinkbutton">
+ <object class="GtkLinkButton" id="metlinkbutton">
<property name="label" translatable="yes">More information on determining yor M.E.T sport coefficient on Wikipedia</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -806,76 +874,76 @@
<property name="has_tooltip">True</property>
<property name="relief">none</property>
<property name="uri">http://en.wikipedia.org/wiki/Metabolic_equivalent</property>
- </widget>
+ </object>
<packing>
<property name="right_attach">3</property>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-10">
+ <object class="GtkLabel" id="label-maximum-pace">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Maximum Pace:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="newmaxpace">
+ <object class="GtkEntry" id="newmaxpace">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
+ <property name="invisible_char">●</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
- <child>
- <widget class="GtkHBox" id="hboxcolor">
- <property name="visible">True</property>
- <child>
- <widget class="GtkImage" id="newcolor">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- </widget>
- <packing>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="buttoncolor">
- <property name="label">gtk-edit</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="on_editcolor_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
+ <child>
+ <object class="GtkHBox" id="hbox-new-color">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage" id="newcolor">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ </object>
+ <packing>
</packing>
- </child>
- </widget>
+ </child>
+ <child>
+ <object class="GtkButton" id="button-color-new">
+ <property name="label">gtk-edit</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_stock">True</property>
+ <signal handler="on_editcolor_clicked" name="clicked"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
@@ -887,32 +955,32 @@
<child>
<placeholder/>
</child>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox22">
+ <object class="GtkHBox" id="hbox22">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label139">
+ <object class="GtkLabel" id="label139">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button17">
+ <object class="GtkButton" id="button17">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_sportcancel_clicked"/>
- </widget>
+ <signal handler="on_sportcancel_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -920,83 +988,76 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button18">
+ <object class="GtkButton" id="button18">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_newsport_accept_clicked"/>
- </widget>
+ <signal handler="on_newsport_accept_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-2">
+ <child type="label">
+ <object class="GtkLabel" id="label-2">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Add New Sport</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label136">
+ <child type="tab">
+ <object class="GtkLabel" id="label136">
<property name="visible">True</property>
<property name="label" translatable="yes">new</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="deletesport">
+ <object class="GtkFrame" id="deletesport">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment19">
+ <object class="GtkAlignment" id="alignment19">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkVBox" id="deletesport_">
+ <object class="GtkVBox" id="deletesport_">
<property name="visible">True</property>
<property name="border_width">5</property>
<child>
<placeholder/>
</child>
<child>
- <widget class="GtkVBox" id="vbox17">
+ <object class="GtkVBox" id="vbox17">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label144">
+ <object class="GtkLabel" id="label144">
<property name="visible">True</property>
<property name="label" translatable="yes">Deleting a sport removes associated records.
Continue?</property>
<property name="wrap">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1004,40 +1065,40 @@ Continue?</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label142">
+ <object class="GtkLabel" id="label142">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox23">
+ <object class="GtkHBox" id="hbox23">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label143">
+ <object class="GtkLabel" id="label143">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button19">
+ <object class="GtkButton" id="button19">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_sportcancel_clicked"/>
- </widget>
+ <signal handler="on_sportcancel_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1045,39 +1106,39 @@ Continue?</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button20">
+ <object class="GtkButton" id="button20">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_deletesport_clicked"/>
- </widget>
+ <signal handler="on_deletesport_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkHBox" id="hbox52">
+ <child type="label">
+ <object class="GtkHBox" id="hbox52">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label158">
+ <object class="GtkLabel" id="label158">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Delete Sport</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1085,136 +1146,129 @@ Continue?</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="sportnamedel">
+ <object class="GtkLabel" id="sportnamedel">
<property name="label">label-2147483648</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label137">
+ <child type="tab">
+ <object class="GtkLabel" id="label137">
<property name="visible">True</property>
<property name="label" translatable="yes">delete</property>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="editsport">
+ <object class="GtkFrame" id="editsport">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment21">
+ <object class="GtkAlignment" id="alignment21">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkVBox" id="editsport_">
+ <object class="GtkVBox" id="editsport_">
<property name="visible">True</property>
<property name="border_width">5</property>
<child>
- <widget class="GtkTable" id="table17">
+ <object class="GtkTable" id="table17">
<property name="visible">True</property>
<property name="n_rows">5</property>
<property name="n_columns">2</property>
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label153">
+ <object class="GtkLabel" id="label153">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Name</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="editsportentry">
+ <object class="GtkEntry" id="editsportentry">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
+ <property name="invisible_char">●</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-3">
+ <object class="GtkLabel" id="label-3">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">M.E.T.</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="editmetentry">
+ <object class="GtkEntry" id="editmetentry">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
+ <property name="invisible_char">●</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2147483647">
+ <object class="GtkLabel" id="label-2147483647">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Extra Weight</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="editweightentry">
+ <object class="GtkEntry" id="editweightentry">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
+ <property name="invisible_char">●</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLinkButton" id="linkbutton1">
+ <object class="GtkLinkButton" id="linkbutton1">
<property name="label" translatable="yes">More information on determining yor M.E.T sport coefficient on Wikipedia</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -1222,117 +1276,117 @@ Continue?</property>
<property name="has_tooltip">True</property>
<property name="relief">none</property>
<property name="uri">http://en.wikipedia.org/wiki/Metabolic_equivalent</property>
- </widget>
+ </object>
<packing>
<property name="right_attach">2</property>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-9">
+ <object class="GtkLabel" id="label-9">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Maximum Pace</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="editmaxpace">
+ <object class="GtkEntry" id="editmaxpace">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
+ <property name="invisible_char">●</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-10">
+ <object class="GtkLabel" id="label-color">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Color</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
- <child>
- <widget class="GtkHBox" id="hboxcolor">
- <property name="visible">True</property>
- <child>
- <widget class="GtkImage" id="editcolor">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- </widget>
- <packing>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="buttoncolor">
- <property name="label">gtk-edit</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="on_editcolor_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
+ <child>
+ <object class="GtkHBox" id="hbox-edit-color">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage" id="editcolor">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ </object>
+ <packing>
</packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="y_options"></property>
- </packing>
- </child>
- </widget>
+ </child>
+ <child>
+ <object class="GtkButton" id="button-color-edit">
+ <property name="label">gtk-edit</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_stock">True</property>
+ <signal handler="on_editcolor_clicked" name="clicked"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox26">
+ <object class="GtkHBox" id="hbox26">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label152">
+ <object class="GtkLabel" id="label152">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button21">
+ <object class="GtkButton" id="button21">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_sportcancel_clicked"/>
- </widget>
+ <signal handler="on_sportcancel_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1340,41 +1394,41 @@ Continue?</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button22">
+ <object class="GtkButton" id="button22">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_editsport_accept_clicked"/>
- </widget>
+ <signal handler="on_editsport_accept_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkHBox" id="hbox51">
+ <child type="label">
+ <object class="GtkHBox" id="hbox51">
<property name="visible">True</property>
<property name="spacing">5</property>
<child>
- <widget class="GtkLabel" id="label-4">
+ <object class="GtkLabel" id="label-4">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Edit Sport</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1382,90 +1436,57 @@ Continue?</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="sportnameedit">
+ <object class="GtkLabel" id="sportnameedit">
<property name="label" translatable="yes"><b>lalaal</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label147">
+ <child type="tab">
+ <object class="GtkLabel" id="label147">
<property name="visible">True</property>
<property name="label" translatable="yes">edit</property>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label24">
+ <child type="tab">
+ <object class="GtkLabel" id="label24">
<property name="visible">True</property>
<property name="label" translatable="yes">Sports</property>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkAlignment" id="equipment_container">
+ <object class="GtkVBox" id="vbox25">
<property name="visible">True</property>
<child>
- <placeholder/>
- </child>
- </widget>
- <packing>
- <property name="position">5</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="labelEquipment">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Equipment</property>
- </widget>
- <packing>
- <property name="position">5</property>
- <property name="tab_fill">False</property>
- <property name="type">tab</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVBox" id="vbox25">
- <property name="visible">True</property>
- <child>
- <widget class="GtkFrame" id="frame17">
+ <object class="GtkFrame" id="frame17">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment17">
+ <object class="GtkAlignment" id="alignment17">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table21">
+ <object class="GtkTable" id="table21">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_rows">3</property>
@@ -1473,101 +1494,101 @@ Continue?</property>
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label-2147483641">
+ <object class="GtkLabel" id="label-2147483641">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Maximum heart rate:</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2147483640">
+ <object class="GtkLabel" id="label-2147483640">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Resting heart rate:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="prf_maxhr">
+ <object class="GtkEntry" id="prf_maxhr">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="max_length">4</property>
- <property name="invisible_char">●</property>
+ <property name="invisible_char">●</property>
<property name="width_chars">4</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="prf_minhr">
+ <object class="GtkEntry" id="prf_minhr">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="max_length">4</property>
- <property name="invisible_char">●</property>
+ <property name="invisible_char">●</property>
<property name="width_chars">4</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2147483639">
+ <object class="GtkLabel" id="label-2147483639">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><small><b>Note:</b> Maximum heart rate is calculated by subtracting the number 220 minus your age. </small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button47">
+ <object class="GtkButton" id="button47">
<property name="label" translatable="yes">Calculate</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
- <signal name="clicked" handler="on_calculatemaxhr_clicked"/>
- </widget>
+ <signal handler="on_calculatemaxhr_clicked" name="clicked"/>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2147483638">
+ <object class="GtkLabel" id="label-2147483638">
<property name="visible">True</property>
<property name="xalign">0</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
@@ -1576,21 +1597,18 @@ Continue?</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-5">
+ <child type="label">
+ <object class="GtkLabel" id="label-5">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>General</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1598,17 +1616,17 @@ Continue?</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame18">
+ <object class="GtkFrame" id="frame18">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment20">
+ <object class="GtkAlignment" id="alignment20">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table22">
+ <object class="GtkTable" id="table22">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="n_rows">4</property>
@@ -1616,38 +1634,38 @@ Continue?</property>
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label-6">
+ <object class="GtkLabel" id="label-6">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><small><b>NOTE:</b> in order to use the Karvonen method you must cover the Resting hr field.</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="radiobutton3">
+ <object class="GtkRadioButton" id="radiobutton3">
<property name="label" translatable="yes">Percentages based method</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="prf_hrzones_karvonen">
+ <object class="GtkRadioButton" id="prf_hrzones_karvonen">
<property name="label" translatable="yes">Karvonen method</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -1655,26 +1673,26 @@ Continue?</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">radiobutton3</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-7">
+ <object class="GtkLabel" id="label-7">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Select how to calculate your heart rate zones.</property>
- </widget>
+ </object>
<packing>
<property name="right_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
@@ -1701,75 +1719,71 @@ Continue?</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-8">
+ <child type="label">
+ <object class="GtkLabel" id="label-8">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Heart Rate Zones</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-2147483646">
+ <child type="tab">
+ <object class="GtkLabel" id="label-2147483646">
<property name="visible">True</property>
<property name="label" translatable="yes">Heart Rate</property>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox_startup_params">
+ <object class="GtkVBox" id="vbox_startup_params">
<property name="visible">True</property>
<child>
- <widget class="GtkAlignment" id="alignment1">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="xalign">0</property>
<child>
- <widget class="GtkTable" id="table1">
+ <object class="GtkTable" id="table1">
<property name="visible">True</property>
<property name="n_rows">6</property>
<property name="n_columns">3</property>
<child>
- <widget class="GtkLabel" id="labelLogLevel">
+ <object class="GtkLabel" id="labelLogLevel">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="ypad">5</property>
<property name="label" translatable="yes">Log Level</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
</child>
<child>
- <widget class="GtkComboBox" id="comboboxLogLevel">
+ <object class="GtkComboBox" id="comboboxLogLevel">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">Error
-Warning
-Info
-Debug</property>
- <signal name="changed" handler="on_comboboxLogLevel_changed"/>
- </widget>
+ <signal handler="on_comboboxLogLevel_changed" name="changed"/>
+ <property name="model">model1</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer1"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1778,57 +1792,57 @@ Debug</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelLogLevelDescription">
+ <object class="GtkLabel" id="labelLogLevelDescription">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes"><small>What level of detail is written to the log?</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelValidate">
+ <object class="GtkLabel" id="labelValidate">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="ypad">5</property>
<property name="label" translatable="yes">Validate</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="checkbuttonValidate">
+ <object class="GtkCheckButton" id="checkbuttonValidate">
<property name="label">--valid</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="on_checkbuttonValidate_toggled"/>
- </widget>
+ <signal handler="on_checkbuttonValidate_toggled" name="toggled"/>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
<property name="x_padding">10</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelValidateDescription">
+ <object class="GtkLabel" id="labelValidateDescription">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes"><small>Do the plugins attempt to validate the input file before processing?</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
@@ -1837,27 +1851,27 @@ Debug</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelNewGraph">
+ <object class="GtkLabel" id="labelNewGraph">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="ypad">5</property>
<property name="label" translatable="yes">New Graph</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="checkbuttonNewGraph">
+ <object class="GtkCheckButton" id="checkbuttonNewGraph">
<property name="label">--newgraph</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="on_checkbuttonNewGraph_toggled"/>
- </widget>
+ <signal handler="on_checkbuttonNewGraph_toggled" name="toggled"/>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1867,13 +1881,13 @@ Debug</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelNewGraphDescription">
+ <object class="GtkLabel" id="labelNewGraphDescription">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes"><small>Want to use experimental new approach to graphing?</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
@@ -1899,9 +1913,9 @@ Debug</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1910,7 +1924,7 @@ Debug</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelNotification">
+ <object class="GtkLabel" id="labelNotification">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
@@ -1918,7 +1932,7 @@ Debug</property>
<property name="use_markup">True</property>
<property name="wrap">True</property>
<property name="width_chars">75</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
@@ -1926,50 +1940,67 @@ Debug</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
<packing>
<property name="position">4</property>
<property name="tab_fill">False</property>
</packing>
</child>
- <child>
- <widget class="GtkLabel" id="label_startup_params">
+ <child type="tab">
+ <object class="GtkLabel" id="label_startup_params">
<property name="visible">True</property>
<property name="label" translatable="yes">Startup Parameters</property>
- </widget>
+ </object>
<packing>
<property name="position">4</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
- </widget>
+ <child>
+ <object class="GtkAlignment" id="equipment_container">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="labelEquipment">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Equipment</property>
+ </object>
+ <packing>
+ <property name="position">5</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="buttonbox">
+ <object class="GtkHBox" id="buttonbox">
<property name="visible">True</property>
<property name="border_width">3</property>
<child>
- <widget class="GtkLabel" id="label12">
+ <object class="GtkLabel" id="label12">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button4">
+ <object class="GtkButton" id="button4">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_cancel_clicked"/>
- </widget>
+ <signal handler="on_cancel_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1978,27 +2009,27 @@ Debug</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button3">
+ <object class="GtkButton" id="button3">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_accept_clicked"/>
- </widget>
+ <signal handler="on_accept_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
-</glade-interface>
+ </object>
+</interface>
diff --git a/glade/pytrainer.glade b/glade/pytrainer.ui
similarity index 76%
rename from glade/pytrainer.glade
rename to glade/pytrainer.ui
index 44e6a08..f2f3aaa 100644
--- a/glade/pytrainer.glade
+++ b/glade/pytrainer.ui
@@ -1,205 +1,629 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
+<?xml version="1.0"?>
+<interface>
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="upper">1000</property>
+ <property name="lower">-500</property>
+ <property name="page_increment">10</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">0</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment10">
+ <property name="upper">1000</property>
+ <property name="lower">-500</property>
+ <property name="page_increment">10</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">0</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment11">
+ <property name="upper">20</property>
+ <property name="lower">0</property>
+ <property name="page_increment">0</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">5</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment2">
+ <property name="upper">1000</property>
+ <property name="lower">-500</property>
+ <property name="page_increment">10</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">0</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment3">
+ <property name="upper">10</property>
+ <property name="lower">1</property>
+ <property name="page_increment">1</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment4">
+ <property name="upper">10</property>
+ <property name="lower">0</property>
+ <property name="page_increment">1</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment5">
+ <property name="upper">1000</property>
+ <property name="lower">-500</property>
+ <property name="page_increment">10</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">0</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment6">
+ <property name="upper">1000</property>
+ <property name="lower">-500</property>
+ <property name="page_increment">10</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment7">
+ <property name="upper">10</property>
+ <property name="lower">0</property>
+ <property name="page_increment">1</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment8">
+ <property name="upper">10</property>
+ <property name="lower">0</property>
+ <property name="page_increment">1</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment9">
+ <property name="upper">1000</property>
+ <property name="lower">-500</property>
+ <property name="page_increment">10</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">0</property>
+ </object>
+ <object class="GtkListStore" id="model1">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ </object>
+ <object class="GtkListStore" id="model10">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Distance</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Time</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Heart Rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Calories</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model11">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">None</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Distance</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Time</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Heart Rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Calories</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model12">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Distance</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Time</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Heart Rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Calories</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model13">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">None</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Distance</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Time</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Heart Rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Calories</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model14">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">All Distances</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model15">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">All Durations</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model16">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">All time</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Last 4 weeks</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Last 6 months</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Last 12 months</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model17">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">All Sports</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model18">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Font</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Restaurant</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Scenic Area</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Summit</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model2">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Profile</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Pace</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Heart Rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Cadence</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Percentage</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Zone</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model3">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">None</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Profile</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Pace</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Heart Rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Cadence</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model4">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">None</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Heart rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Cadence</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model5">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Stage Profile</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Stage Velocity</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Stage Profile/velocity</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model6">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Distance</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Time</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Heart Rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Calories</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model7">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">None</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Distance</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Time</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Heart Rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Calories</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model8">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Distance</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Time</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Heart Rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Calories</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model9">
+ <columns>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">None</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Distance</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Time</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Heart Rate</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Average Speed</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Calories</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkUIManager" id="uimanager1">
+ <child>
+ <object class="GtkActionGroup" id="actiongroup1">
+ <child>
+ <object class="GtkAction" id="menuitem1">
+ <property name="name">menuitem1</property>
+ <property name="label" translatable="yes">_File</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkAction" id="nuevo1">
+ <property name="stock_id">gtk-new</property>
+ <property name="name">nuevo1</property>
+ <signal handler="on_newrecord_clicked" name="activate"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkAction" id="menu_importdata">
+ <property name="stock_id">gtk-undo</property>
+ <property name="name">menu_importdata</property>
+ <property name="label" translatable="yes">_Import</property>
+ <signal handler="on_menu_importdata_activate" name="activate"/>
+ </object>
+ <accelerator key="i" modifiers="GDK_CONTROL_MASK"/>
+ </child>
+ <child>
+ <object class="GtkAction" id="export_csv">
+ <property name="stock_id">gtk-redo</property>
+ <property name="name">export_csv</property>
+ <property name="label" translatable="yes">_Export as Text Separated by Commas</property>
+ <signal handler="on_export_csv_activate" name="activate"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkAction" id="salir1">
+ <property name="stock_id">gtk-quit</property>
+ <property name="name">salir1</property>
+ <signal handler="quit" name="activate"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkAction" id="menuitem2">
+ <property name="name">menuitem2</property>
+ <property name="label" translatable="yes">_Edit</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkAction" id="preferencias1">
+ <property name="stock_id">gtk-preferences</property>
+ <property name="name">preferencias1</property>
+ <signal handler="on_edituser_activate" name="activate"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkAction" id="view1">
+ <property name="name">view1</property>
+ <property name="label" translatable="yes">_View</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioAction" id="classicview_item">
+ <property name="active">True</property>
+ <property name="name">classicview_item</property>
+ <property name="label" translatable="yes"> _Classic View</property>
+ <signal handler="on_classicview_activate" name="activate"/>
+ </object>
+ <accelerator key="c" modifiers="GDK_CONTROL_MASK"/>
+ </child>
+ <child>
+ <object class="GtkRadioAction" id="listview_item">
+ <property name="group">classicview_item</property>
+ <property name="name">listview_item</property>
+ <property name="label" translatable="yes"> _List View</property>
+ <signal handler="on_listview_activate" name="activate"/>
+ </object>
+ <accelerator key="l" modifiers="GDK_CONTROL_MASK"/>
+ </child>
+ <child>
+ <object class="GtkRadioAction" id="waipointsview_item">
+ <property name="group">classicview_item</property>
+ <property name="name">waipointsview_item</property>
+ <property name="label" translatable="yes"> _Waypoints Editor</property>
+ <signal handler="on_waypointsview_activate" name="activate"/>
+ </object>
+ <accelerator key="w" modifiers="GDK_CONTROL_MASK"/>
+ </child>
+ <child>
+ <object class="GtkAction" id="tools1">
+ <property name="name">tools1</property>
+ <property name="label" translatable="yes">Tools</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkAction" id="extensions1">
+ <property name="name">extensions1</property>
+ <property name="label" translatable="yes">Extensions</property>
+ <signal handler="on_extensions_activate" name="activate"/>
+ </object>
+ <accelerator key="e" modifiers="GDK_CONTROL_MASK"/>
+ </child>
+ <child>
+ <object class="GtkAction" id="gps_device_plugins1">
+ <property name="name">gps_device_plugins1</property>
+ <property name="label" translatable="yes">GPS Device Plugins</property>
+ <signal handler="on_gpsplugins_activate" name="activate"/>
+ </object>
+ <accelerator key="p" modifiers="GDK_CONTROL_MASK"/>
+ </child>
+ <child>
+ <object class="GtkAction" id="menuitem4">
+ <property name="name">menuitem4</property>
+ <property name="label" translatable="yes">_Help</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkAction" id="acerca_de1">
+ <property name="stock_id">gtk-about</property>
+ <property name="name">acerca_de1</property>
+ <signal handler="on_about_activate" name="activate"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ <ui>
+ <menubar name="menubar1">
+ <menu action="menuitem1">
+ <menuitem action="nuevo1"/>
+ <menuitem action="menu_importdata"/>
+ <separator/>
+ <menuitem action="export_csv"/>
+ <separator/>
+ <menuitem action="salir1"/>
+ </menu>
+ <menu action="menuitem2">
+ <menuitem action="preferencias1"/>
+ </menu>
+ <menu action="view1">
+ <menuitem action="classicview_item"/>
+ <menuitem action="listview_item"/>
+ <menuitem action="waipointsview_item"/>
+ </menu>
+ <menu action="tools1">
+ <menuitem action="extensions1"/>
+ <menuitem action="gps_device_plugins1"/>
+ </menu>
+ <menu action="menuitem4">
+ <menuitem action="acerca_de1"/>
+ </menu>
+ </menubar>
+ </ui>
+ </object>
+ <object class="GtkUIManager" id="uimanager2">
+ <child>
+ <object class="GtkActionGroup" id="actiongroup2">
+ <child>
+ <object class="GtkAction" id="menuitem5">
+ <property name="name">menuitem5</property>
+ <property name="label" translatable="yes">Columns</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <ui>
+ <menubar name="listviewOptions">
+ <menu action="menuitem5"/>
+ </menubar>
+ </ui>
+ </object>
<!-- interface-requires gtk+ 2.6 -->
<!-- interface-naming-policy toplevel-contextual -->
- <widget class="GtkWindow" id="window1">
+ <object class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="title">window1</property>
<property name="icon">logo_mini.png</property>
- <signal name="destroy" handler="quit"/>
- <signal name="configure_event" handler="on_window1_configure_event"/>
+ <signal handler="quit" name="destroy"/>
+ <signal handler="on_window1_configure_event" name="configure_event"/>
<child>
- <widget class="GtkNotebook" id="notebook7">
+ <object class="GtkNotebook" id="notebook7">
<property name="visible">True</property>
<property name="show_tabs">False</property>
<child>
- <widget class="GtkVBox" id="infoarea">
+ <object class="GtkVBox" id="infoarea">
<property name="visible">True</property>
<child>
- <widget class="GtkMenuBar" id="menubar1">
+ <object class="GtkMenuBar" constructor="uimanager1" id="menubar1">
<property name="visible">True</property>
- <child>
- <widget class="GtkMenuItem" id="menuitem1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_File</property>
- <property name="use_underline">True</property>
- <child>
- <widget class="GtkMenu" id="menuitem1_menu">
- <child>
- <widget class="GtkImageMenuItem" id="nuevo1">
- <property name="label">gtk-new</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="on_newrecord_clicked"/>
- </widget>
- </child>
- <child>
- <widget class="GtkImageMenuItem" id="menu_importdata">
- <property name="label" translatable="yes">_Import</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">False</property>
- <signal name="activate" handler="on_menu_importdata_activate"/>
- <accelerator key="i" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- <child internal-child="image">
- <widget class="GtkImage" id="image1">
- <property name="visible">True</property>
- <property name="stock">gtk-undo</property>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkSeparatorMenuItem" id="separador1">
- <property name="visible">True</property>
- </widget>
- </child>
- <child>
- <widget class="GtkImageMenuItem" id="export_csv">
- <property name="label" translatable="yes">_Export as Text Separated by Commas</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">False</property>
- <signal name="activate" handler="on_export_csv_activate"/>
- <child internal-child="image">
- <widget class="GtkImage" id="image2">
- <property name="visible">True</property>
- <property name="stock">gtk-redo</property>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
- <property name="visible">True</property>
- </widget>
- </child>
- <child>
- <widget class="GtkImageMenuItem" id="salir1">
- <property name="label">gtk-quit</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="quit"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkMenuItem" id="menuitem2">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Edit</property>
- <property name="use_underline">True</property>
- <child>
- <widget class="GtkMenu" id="menuitem2_menu">
- <child>
- <widget class="GtkImageMenuItem" id="preferencias1">
- <property name="label">gtk-preferences</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="on_edituser_activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkMenuItem" id="view1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_View</property>
- <property name="use_underline">True</property>
- <child>
- <widget class="GtkMenu" id="view1_menu">
- <child>
- <widget class="GtkRadioMenuItem" id="classicview_item">
- <property name="visible">True</property>
- <property name="label" translatable="yes"> _Classic View</property>
- <property name="use_underline">True</property>
- <property name="active">True</property>
- <signal name="activate" handler="on_classicview_activate"/>
- <accelerator key="c" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </widget>
- </child>
- <child>
- <widget class="GtkRadioMenuItem" id="listview_item">
- <property name="visible">True</property>
- <property name="label" translatable="yes"> _List View</property>
- <property name="use_underline">True</property>
- <property name="group">classicview_item</property>
- <signal name="activate" handler="on_listview_activate"/>
- <accelerator key="l" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </widget>
- </child>
- <child>
- <widget class="GtkRadioMenuItem" id="waipointsview_item">
- <property name="visible">True</property>
- <property name="label" translatable="yes"> _Waypoints Editor</property>
- <property name="use_underline">True</property>
- <property name="group">classicview_item</property>
- <signal name="activate" handler="on_waypointsview_activate"/>
- <accelerator key="w" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkMenuItem" id="tools1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Tools</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_tools1_activate"/>
- <child>
- <widget class="GtkMenu" id="tools1_menu">
- <child>
- <widget class="GtkMenuItem" id="extensions1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Extensions</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_extensions_activate"/>
- <accelerator key="e" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </widget>
- </child>
- <child>
- <widget class="GtkMenuItem" id="gps_device_plugins1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">GPS Device Plugins</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_gpsplugins_activate"/>
- <accelerator key="p" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkMenuItem" id="menuitem4">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Help</property>
- <property name="use_underline">True</property>
- <child>
- <widget class="GtkMenu" id="menuitem4_menu">
- <child>
- <widget class="GtkImageMenuItem" id="acerca_de1">
- <property name="label">gtk-about</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="on_about_activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -207,56 +631,56 @@
</packing>
</child>
<child>
- <widget class="GtkNotebook" id="notebook6">
+ <object class="GtkNotebook" id="notebook6">
<property name="visible">True</property>
<property name="show_tabs">False</property>
<property name="show_border">False</property>
<child>
- <widget class="GtkHBox" id="classicarea">
+ <object class="GtkHBox" id="classicarea">
<property name="visible">True</property>
<child>
- <widget class="GtkVPaned" id="vpaned1">
+ <object class="GtkVPaned" id="vpaned1">
<property name="width_request">235</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="position">190</property>
<child>
- <widget class="GtkCalendar" id="calendar">
+ <object class="GtkCalendar" id="calendar">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <signal name="day_selected_double_click" handler="on_calendar_doubleclick"/>
- <signal name="day_selected" handler="on_calendar_selected"/>
- <signal name="next_month" handler="on_calendar_changemonth"/>
- <signal name="next_year" handler="on_calendar_next_year"/>
- <signal name="prev_month" handler="on_calendar_changemonth"/>
- <signal name="prev_year" handler="on_calendar_next_year"/>
- </widget>
+ <signal handler="on_calendar_doubleclick" name="day_selected_double_click"/>
+ <signal handler="on_calendar_selected" name="day_selected"/>
+ <signal handler="on_calendar_changemonth" name="next_month"/>
+ <signal handler="on_calendar_next_year" name="next_year"/>
+ <signal handler="on_calendar_changemonth" name="prev_month"/>
+ <signal handler="on_calendar_next_year" name="prev_year"/>
+ </object>
<packing>
<property name="resize">False</property>
<property name="shrink">True</property>
</packing>
</child>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow1">
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkTreeView" id="recordTreeView">
+ <object class="GtkTreeView" id="recordTreeView">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="rubber_banding">True</property>
- <signal name="button_press_event" handler="on_recordTreeView_button_press_event"/>
- <signal name="row_activated" handler="on_recordTree_clicked"/>
- </widget>
+ <signal handler="on_recordTreeView_button_press_event" name="button_press_event"/>
+ <signal handler="on_recordTree_clicked" name="row_activated"/>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="resize">True</property>
<property name="shrink">True</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -264,18 +688,18 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="framework">
+ <object class="GtkVBox" id="framework">
<property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox8">
+ <object class="GtkHBox" id="hbox8">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="spacing">10</property>
<child>
- <widget class="GtkLabel" id="label47">
+ <object class="GtkLabel" id="label47">
<property name="visible">True</property>
<property name="label" translatable="yes">Sport</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -283,518 +707,525 @@
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="sportlist">
+ <object class="GtkComboBoxEntry" id="sportlist">
<property name="width_request">52</property>
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">All Sports</property>
- <signal name="changed" handler="on_sportlist_changed"/>
- </widget>
+ <signal handler="on_sportlist_changed" name="changed"/>
+ <property name="model">model1</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer1"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label48">
+ <object class="GtkLabel" id="label48">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkNotebook" id="notebook">
+ <object class="GtkNotebook" id="notebook">
<property name="width_request">650</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="border_width">6</property>
<property name="scrollable">True</property>
<property name="enable_popup">True</property>
- <signal name="switch_page" handler="on_page_change"/>
+ <signal handler="on_page_change" name="switch_page"/>
<child>
- <widget class="GtkNotebook" id="recordview">
+ <object class="GtkNotebook" id="recordview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="border_width">6</property>
<property name="tab_pos">left</property>
- <signal name="switch_page" handler="on_recordpage_change"/>
+ <signal handler="on_recordpage_change" name="switch_page"/>
<child>
- <widget class="GtkFrame" id="frame8">
+ <object class="GtkFrame" id="frame8">
<property name="visible">True</property>
<property name="border_width">8</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment8">
+ <object class="GtkAlignment" id="alignment8">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkVBox" id="vbox22">
+ <object class="GtkVBox" id="vbox22">
<property name="visible">True</property>
<property name="border_width">10</property>
<child>
- <widget class="GtkTable" id="table13">
+ <object class="GtkTable" id="table13">
<property name="visible">True</property>
<property name="n_rows">9</property>
<property name="n_columns">6</property>
<property name="column_spacing">3</property>
<property name="row_spacing">6</property>
<child>
- <widget class="GtkLabel" id="record_sport">
+ <object class="GtkLabel" id="record_sport">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_upositive">
+ <object class="GtkLabel" id="record_upositive">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_calories">
+ <object class="GtkLabel" id="record_calories">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="ddsddsdsdsds">
+ <object class="GtkLabel" id="ddsddsdsdsds">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Sport:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11124">
+ <object class="GtkLabel" id="label11124">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Duration:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11126">
+ <object class="GtkLabel" id="label11126">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Speed:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11137">
+ <object class="GtkLabel" id="label11137">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Pace:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11144">
+ <object class="GtkLabel" id="label11144">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Ascent:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Calories:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11140">
+ <object class="GtkLabel" id="label11140">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Comments:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">7</property>
<property name="bottom_attach">8</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="r_maxspeed_unit">
+ <object class="GtkLabel" id="r_maxspeed_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label">km/h</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="r_maxpace_unit">
+ <object class="GtkLabel" id="r_maxpace_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label">min/km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="r_descent_unit">
+ <object class="GtkLabel" id="r_descent_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label">m</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_distance">
+ <object class="GtkLabel" id="record_distance">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_maxspeed">
+ <object class="GtkLabel" id="record_maxspeed">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_maxpace">
+ <object class="GtkLabel" id="record_maxpace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_date">
+ <object class="GtkLabel" id="record_date">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_unegative">
+ <object class="GtkLabel" id="record_unegative">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2147483648">
+ <object class="GtkLabel" id="label-2147483648">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Date:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11123">
+ <object class="GtkLabel" id="label11123">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Distance:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11134">
+ <object class="GtkLabel" id="label11134">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Speed</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11138">
+ <object class="GtkLabel" id="label11138">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Pace:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11145">
+ <object class="GtkLabel" id="label11145">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Descent:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_time">
+ <object class="GtkLabel" id="record_time">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_pace">
+ <object class="GtkLabel" id="record_pace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="r_pace_unit">
+ <object class="GtkLabel" id="r_pace_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label">min/km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_average">
+ <object class="GtkLabel" id="record_average">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="r_ascent_unit">
+ <object class="GtkLabel" id="r_ascent_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label">m</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="r_calories_unit">
+ <object class="GtkLabel" id="r_calories_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Cal</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow6">
+ <object class="GtkScrolledWindow" id="scrolledwindow6">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">automatic</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkTextView" id="record_comments">
+ <object class="GtkTextView" id="record_comments">
<property name="width_request">440</property>
<property name="height_request">25</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
<property name="wrap_mode">word</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="right_attach">6</property>
<property name="top_attach">8</property>
@@ -802,56 +1233,56 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="r_distance_unit">
+ <object class="GtkLabel" id="r_distance_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="r_speed_unit">
+ <object class="GtkLabel" id="r_speed_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">km/h</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label26">
+ <object class="GtkLabel" id="label26">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="label" translatable="yes"><b>Equipment:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">6</property>
<property name="bottom_attach">7</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label_record_equipment">
+ <object class="GtkLabel" id="label_record_equipment">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="use_markup">True</property>
<property name="wrap">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">6</property>
@@ -860,10 +1291,10 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_duration">
+ <object class="GtkLabel" id="record_duration">
<property name="visible">True</property>
<property name="xalign">1</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -929,12 +1360,12 @@
<placeholder/>
</child>
<child>
- <widget class="GtkLabel" id="label42">
+ <object class="GtkLabel" id="label42">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Active / Rest:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
@@ -943,10 +1374,10 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_runrest">
+ <object class="GtkLabel" id="record_runrest">
<property name="visible">True</property>
<property name="xalign">1</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
@@ -955,12 +1386,12 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label50">
+ <object class="GtkLabel" id="label50">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">h:m:s</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
@@ -968,7 +1399,7 @@
<property name="bottom_attach">6</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -976,68 +1407,65 @@
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame_laps">
+ <object class="GtkFrame" id="frame_laps">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment12l">
+ <object class="GtkAlignment" id="alignment12l">
<property name="visible">True</property>
<property name="left_padding">12</property>
<property name="right_padding">12</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow2l">
+ <object class="GtkScrolledWindow" id="scrolledwindow2l">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">automatic</property>
<child>
- <widget class="GtkTreeView" id="lapsTreeView">
+ <object class="GtkTreeView" id="lapsTreeView">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_tooltip">True</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label14">
+ <child type="label">
+ <object class="GtkLabel" id="label14">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Laps</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="padding">5</property>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="recordbuttons_hbox">
+ <object class="GtkHBox" id="recordbuttons_hbox">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label-2147483647">
+ <object class="GtkLabel" id="label-2147483647">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button36">
+ <object class="GtkButton" id="button36">
<property name="label">gtk-edit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_edit_clicked"/>
- </widget>
+ <signal handler="on_edit_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1045,39 +1473,39 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button35">
+ <object class="GtkButton" id="button35">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_remove_clicked"/>
- </widget>
+ <signal handler="on_remove_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">3</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkHBox" id="hbox42">
+ <child type="label">
+ <object class="GtkHBox" id="hbox42">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label-1">
+ <object class="GtkLabel" id="label-1">
<property name="visible">True</property>
<property name="label" translatable="yes"> <b>Title:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1085,55 +1513,51 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_title">
+ <object class="GtkLabel" id="record_title">
<property name="visible">True</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkImage" id="image24">
+ <child type="tab">
+ <object class="GtkImage" id="image24">
<property name="visible">True</property>
<property name="stock">gtk-info</property>
- </widget>
+ </object>
<packing>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="record_vbox">
+ <object class="GtkVBox" id="record_vbox">
<property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox30">
+ <object class="GtkHBox" id="hbox30">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="spacing">8</property>
<child>
- <widget class="GtkButton" id="buttonShowOptions">
+ <object class="GtkButton" id="buttonShowOptions">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Show graph display options</property>
- <signal name="clicked" handler="on_buttonShowOptions_clicked"/>
+ <property name="tooltip-text" translatable="yes">Show graph display options</property>
+ <signal handler="on_buttonShowOptions_clicked" name="clicked"/>
<child>
- <widget class="GtkImage" id="image4">
+ <object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="stock">gtk-preferences</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1141,27 +1565,28 @@
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="record_combovalue">
+ <object class="GtkComboBoxEntry" id="record_combovalue">
<property name="visible">True</property>
- <property name="items" translatable="yes">Profile
-Speed
-Pace
-Heart Rate
-Cadence
-Percentage
-Zone</property>
- <signal name="changed" handler="on_day_combovalue_changed"/>
- </widget>
+ <signal handler="on_day_combovalue_changed" name="changed"/>
+ <property name="model">model2</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer2"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label165">
+ <object class="GtkLabel" id="label165">
<property name="visible">True</property>
<property name="label" translatable="yes">Versus</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1169,17 +1594,18 @@ Zone</property>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="record_combovalue2">
+ <object class="GtkComboBoxEntry" id="record_combovalue2">
<property name="visible">True</property>
- <property name="items" translatable="yes">None
-Profile
-Speed
-Pace
-Heart Rate
-Cadence
-</property>
- <signal name="changed" handler="on_day_combovalue_changed"/>
- </widget>
+ <signal handler="on_day_combovalue_changed" name="changed"/>
+ <property name="model">model3</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer3"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1190,18 +1616,18 @@ Cadence
<placeholder/>
</child>
<child>
- <widget class="GtkButton" id="button27">
+ <object class="GtkButton" id="button27">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <signal name="clicked" handler="on_showmap_clicked"/>
+ <signal handler="on_showmap_clicked" name="clicked"/>
<child>
- <widget class="GtkImage" id="image3">
+ <object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="stock">gtk-fullscreen</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1209,28 +1635,27 @@ Cadence
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hboxGraphOptions">
+ <object class="GtkHBox" id="hboxGraphOptions">
<property name="visible">True</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindowGraphOptions">
+ <object class="GtkScrolledWindow" id="scrolledwindowGraphOptions">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">automatic</property>
<child>
- <widget class="GtkViewport" id="viewportGraphOptions">
+ <object class="GtkViewport" id="viewportGraphOptions">
<property name="visible">True</property>
<property name="resize_mode">queue</property>
- <property name="vadjustment">0 0 1 0.10000000000000001 0.90000000000000002 1</property>
<child>
- <widget class="GtkHBox" id="graph_data_hbox">
+ <object class="GtkHBox" id="graph_data_hbox">
<property name="visible">True</property>
<child>
<placeholder/>
@@ -1244,31 +1669,31 @@ Cadence
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox2">
+ <object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
<child>
- <widget class="GtkButton" id="buttonGraphHideOptions">
+ <object class="GtkButton" id="buttonGraphHideOptions">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <signal name="clicked" handler="on_buttonGraphHideOptions_clicked"/>
+ <signal handler="on_buttonGraphHideOptions_clicked" name="clicked"/>
<child>
- <widget class="GtkImage" id="image5">
+ <object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="stock">gtk-goto-top</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1276,114 +1701,114 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkButton" id="buttonGraphShowOptions">
+ <object class="GtkButton" id="buttonGraphShowOptions">
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <signal name="clicked" handler="on_buttonGraphShowOptions_clicked"/>
+ <signal handler="on_buttonGraphShowOptions_clicked" name="clicked"/>
<child>
- <widget class="GtkImage" id="image6">
+ <object class="GtkImage" id="image6">
<property name="visible">True</property>
<property name="stock">gtk-goto-bottom</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkHPaned" id="hpaned1">
+ <object class="GtkHPaned" id="hpaned1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="position_set">True</property>
<child>
- <widget class="GtkVBox" id="vboxGraphYConfig">
+ <object class="GtkVBox" id="vboxGraphYConfig">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="labelGraphConfig">
+ <object class="GtkLabel" id="labelGraphConfig">
<property name="visible">True</property>
<property name="label" translatable="yes"><small>Graph Display Options</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameYAxisLimits">
+ <object class="GtkFrame" id="frameYAxisLimits">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment3">
+ <object class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
<property name="left_padding">10</property>
<child>
- <widget class="GtkTable" id="tableConfigY1">
+ <object class="GtkTable" id="tableConfigY1">
<property name="visible">True</property>
<property name="n_rows">5</property>
<property name="n_columns">3</property>
<child>
- <widget class="GtkLabel" id="labelY1AxisLimits">
+ <object class="GtkLabel" id="labelY1AxisLimits">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Limits</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelYMin">
+ <object class="GtkLabel" id="labelYMin">
<property name="visible">True</property>
<property name="label" translatable="yes"><small>Min</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelYMax">
+ <object class="GtkLabel" id="labelYMax">
<property name="visible">True</property>
<property name="label" translatable="yes"><small>Max</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbuttonY1Min">
+ <object class="GtkSpinButton" id="spinbuttonY1Min">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">4</property>
- <property name="adjustment">0 -500 1000 1 10 0</property>
- <signal name="value_changed" handler="on_spinbuttonY1_value_changed"/>
- </widget>
+ <property name="adjustment">adjustment1</property>
+ <signal handler="on_spinbuttonY1_value_changed" name="value_changed"/>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1394,14 +1819,14 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbuttonY1Max">
+ <object class="GtkSpinButton" id="spinbuttonY1Max">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">4</property>
- <property name="adjustment">0 -500 1000 1 10 0</property>
- <signal name="value_changed" handler="on_spinbuttonY1_value_changed"/>
- </widget>
+ <property name="adjustment">adjustment2</property>
+ <signal handler="on_spinbuttonY1_value_changed" name="value_changed"/>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
@@ -1412,27 +1837,27 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelY1LineColor">
+ <object class="GtkLabel" id="labelY1LineColor">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Color</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkColorButton" id="colorbuttonY1LineColor">
+ <object class="GtkColorButton" id="colorbuttonY1LineColor">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="xalign">0</property>
<property name="color">#000000000000</property>
- <signal name="color_set" handler="on_colorbuttonY1LineColor_color_set"/>
- </widget>
+ <signal handler="on_colorbuttonY1LineColor_color_set" name="color_set"/>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1443,27 +1868,27 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelY1LineWeight">
+ <object class="GtkLabel" id="labelY1LineWeight">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Weight</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbuttonY1LineWeight">
+ <object class="GtkSpinButton" id="spinbuttonY1LineWeight">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="max_length">2</property>
<property name="invisible_char">●</property>
- <property name="adjustment">1 1 10 1 1 0</property>
- <signal name="value_changed" handler="on_spinbuttonY1LineWeight_value_changed"/>
- </widget>
+ <property name="adjustment">adjustment3</property>
+ <signal handler="on_spinbuttonY1LineWeight_value_changed" name="value_changed"/>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1474,37 +1899,37 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelY1">
+ <object class="GtkLabel" id="labelY1">
<property name="visible">True</property>
<property name="label" translatable="yes">Y1</property>
- </widget>
+ </object>
<packing>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelY1LineSmoothing">
+ <object class="GtkLabel" id="labelY1LineSmoothing">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Smoothing</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbuttonY1LineSmoothing">
+ <object class="GtkSpinButton" id="spinbuttonY1LineSmoothing">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="max_length">2</property>
<property name="invisible_char">●</property>
- <property name="adjustment">1 0 10 1 1 0</property>
- </widget>
+ <property name="adjustment">adjustment4</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1523,81 +1948,78 @@ Cadence
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
+ <child type="label">
<placeholder/>
- <packing>
- <property name="type">label_item</property>
- </packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameY2Axis">
+ <object class="GtkFrame" id="frameY2Axis">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment5">
+ <object class="GtkAlignment" id="alignment5">
<property name="visible">True</property>
<property name="left_padding">10</property>
<child>
- <widget class="GtkTable" id="tableConfigY2">
+ <object class="GtkTable" id="tableConfigY2">
<property name="visible">True</property>
<property name="n_rows">5</property>
<property name="n_columns">3</property>
<child>
- <widget class="GtkLabel" id="labelY2AxisLimits">
+ <object class="GtkLabel" id="labelY2AxisLimits">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Limits</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelY2Min">
+ <object class="GtkLabel" id="labelY2Min">
<property name="visible">True</property>
<property name="label" translatable="yes"><small>Min</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelY2Max">
+ <object class="GtkLabel" id="labelY2Max">
<property name="visible">True</property>
<property name="label" translatable="yes"><small>Max</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbuttonY2Min">
+ <object class="GtkSpinButton" id="spinbuttonY2Min">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">4</property>
- <property name="adjustment">0 -500 1000 1 10 0</property>
- </widget>
+ <property name="adjustment">adjustment5</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1608,13 +2030,13 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbuttonY2Max">
+ <object class="GtkSpinButton" id="spinbuttonY2Max">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">4</property>
- <property name="adjustment">1 -500 1000 1 10 0</property>
- </widget>
+ <property name="adjustment">adjustment6</property>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
@@ -1625,48 +2047,48 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelY2">
+ <object class="GtkLabel" id="labelY2">
<property name="visible">True</property>
<property name="label" translatable="yes">Y2</property>
- </widget>
+ </object>
<packing>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelY2LineColor">
+ <object class="GtkLabel" id="labelY2LineColor">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Color</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelY2LineWeight">
+ <object class="GtkLabel" id="labelY2LineWeight">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Weight</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkColorButton" id="colorbuttonY2LineColor">
+ <object class="GtkColorButton" id="colorbuttonY2LineColor">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="xalign">0</property>
<property name="color">#000000000000</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1677,13 +2099,13 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbuttonY2LineWeight">
+ <object class="GtkSpinButton" id="spinbuttonY2LineWeight">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="max_length">2</property>
<property name="invisible_char">●</property>
- <property name="adjustment">1 0 10 1 1 0</property>
- </widget>
+ <property name="adjustment">adjustment7</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1694,28 +2116,28 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelY2LineSmoothing">
+ <object class="GtkLabel" id="labelY2LineSmoothing">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Smoothing</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbuttonY2LineSmoothing">
+ <object class="GtkSpinButton" id="spinbuttonY2LineSmoothing">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="max_length">2</property>
<property name="invisible_char">●</property>
- <property name="adjustment">1 0 10 1 1 0</property>
- </widget>
+ <property name="adjustment">adjustment8</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1734,66 +2156,63 @@ Cadence
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
+ <child type="label">
<placeholder/>
- <packing>
- <property name="type">label_item</property>
- </packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">3</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frameXAxis">
+ <object class="GtkFrame" id="frameXAxis">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment6">
+ <object class="GtkAlignment" id="alignment6">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="tableConfigX">
+ <object class="GtkTable" id="tableConfigX">
<property name="visible">True</property>
<property name="n_rows">4</property>
<property name="n_columns">3</property>
<child>
- <widget class="GtkLabel" id="labelX">
+ <object class="GtkLabel" id="labelX">
<property name="visible">True</property>
<property name="label" translatable="yes">X</property>
- </widget>
+ </object>
<packing>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelXAxisLimits">
+ <object class="GtkLabel" id="labelXAxisLimits">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Limits</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbuttonXMin">
+ <object class="GtkSpinButton" id="spinbuttonXMin">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">4</property>
- <property name="adjustment">0 -500 1000 1 10 0</property>
- </widget>
+ <property name="adjustment">adjustment9</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1804,13 +2223,13 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbuttonXMax">
+ <object class="GtkSpinButton" id="spinbuttonXMax">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">4</property>
- <property name="adjustment">0 -500 1000 1 10 0</property>
- </widget>
+ <property name="adjustment">adjustment10</property>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
@@ -1821,50 +2240,50 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelXMin">
+ <object class="GtkLabel" id="labelXMin">
<property name="visible">True</property>
<property name="label" translatable="yes"><small>Min</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelXMax">
+ <object class="GtkLabel" id="labelXMax">
<property name="visible">True</property>
<property name="label" translatable="yes"><small>Max</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelXAxisDistance">
+ <object class="GtkLabel" id="labelXAxisDistance">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Distance</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="radiobuttonDistance">
+ <object class="GtkRadioButton" id="radiobuttonDistance">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1874,26 +2293,26 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelXAxisTime">
+ <object class="GtkLabel" id="labelXAxisTime">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Time</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="radiobuttonTime">
+ <object class="GtkRadioButton" id="radiobuttonTime">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">radiobuttonDistance</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1908,17 +2327,14 @@ Cadence
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
+ <child type="label">
<placeholder/>
- <packing>
- <property name="type">label_item</property>
- </packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1926,25 +2342,25 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox5">
+ <object class="GtkHBox" id="hbox5">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label16">
+ <object class="GtkLabel" id="label16">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="btnShowLaps">
+ <object class="GtkCheckButton" id="btnShowLaps">
<property name="label" translatable="yes">Show Laps</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="on_btnShowLaps_toggled"/>
- </widget>
+ <signal handler="on_btnShowLaps_toggled" name="toggled"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1953,14 +2369,14 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label17">
+ <object class="GtkLabel" id="label17">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1968,23 +2384,23 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label18">
+ <object class="GtkLabel" id="label18">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">6</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="buttonResetGraph">
+ <object class="GtkButton" id="buttonResetGraph">
<property name="label" translatable="yes">Reset Graph</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="has_tooltip">True</property>
<property name="yalign">1</property>
- <signal name="clicked" handler="on_buttonResetGraph_clicked"/>
- </widget>
+ <signal handler="on_buttonResetGraph_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1992,59 +2408,55 @@ Cadence
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="resize">False</property>
<property name="shrink">True</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="record_graph_vbox">
+ <object class="GtkVBox" id="record_graph_vbox">
<property name="visible">True</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
<packing>
<property name="resize">True</property>
<property name="shrink">True</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkImage" id="image25">
+ <child type="tab">
+ <object class="GtkImage" id="image25">
<property name="visible">True</property>
<property name="pixbuf">graph.png</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="maparea_vbox">
+ <object class="GtkVBox" id="maparea_vbox">
<property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox4">
+ <object class="GtkHBox" id="hbox4">
<property name="visible">True</property>
<child>
- <widget class="GtkButton" id="buttonRedrawMap">
+ <object class="GtkButton" id="buttonRedrawMap">
<property name="label" translatable="yes">Redraw Map</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <signal name="clicked" handler="on_buttonRedrawMap_clicked"/>
- </widget>
+ <signal handler="on_buttonRedrawMap_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -2052,53 +2464,57 @@ Cadence
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelMapLineType">
+ <object class="GtkLabel" id="labelMapLineType">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Show:</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="padding">5</property>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="comboMapLineType">
+ <object class="GtkComboBoxEntry" id="comboMapLineType">
<property name="visible">True</property>
- <property name="items" translatable="yes">None
-Speed
-Heart rate
-Cadence</property>
- <signal name="changed" handler="on_comboMapLineType_changed"/>
- </widget>
+ <signal handler="on_comboMapLineType_changed" name="changed"/>
+ <property name="model">model4</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer4"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">3</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelMapDisplayType">
+ <object class="GtkLabel" id="labelMapDisplayType">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes"><small>Display map using:</small></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="padding">5</property>
<property name="position">4</property>
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="radiobuttonOSM">
+ <object class="GtkRadioButton" id="radiobuttonOSM">
<property name="label" translatable="yes">Open Street Map</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">radiobuttonGMap</property>
- <signal name="toggled" handler="on_radiobuttonMap_toggled"/>
- </widget>
+ <signal handler="on_radiobuttonMap_toggled" name="toggled"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -2107,15 +2523,15 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="radiobuttonGMap">
+ <object class="GtkRadioButton" id="radiobuttonGMap">
<property name="label" translatable="yes">Google</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="on_radiobuttonMap_toggled"/>
- </widget>
+ <signal handler="on_radiobuttonMap_toggled" name="toggled"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -2123,7 +2539,7 @@ Cadence</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -2131,47 +2547,43 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="map_vbox">
+ <object class="GtkVBox" id="map_vbox">
<property name="visible">True</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkImage" id="image26">
+ <child type="tab">
+ <object class="GtkImage" id="image26">
<property name="visible">True</property>
<property name="pixbuf">map.png</property>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="heartrate_vbox_">
+ <object class="GtkVBox" id="heartrate_vbox_">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frame11">
+ <object class="GtkFrame" id="frame11">
<property name="visible">True</property>
<property name="border_width">6</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment11">
+ <object class="GtkAlignment" id="alignment11">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table16">
+ <object class="GtkTable" id="table16">
<property name="visible">True</property>
<property name="border_width">10</property>
<property name="n_rows">5</property>
@@ -2179,384 +2591,384 @@ Cadence</property>
<property name="column_spacing">3</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label11125">
+ <object class="GtkLabel" id="label_beats">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Beats:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11127">
+ <object class="GtkLabel" id="label_calories">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Calories: </b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="wssdadadsada">
+ <object class="GtkLabel" id="label_max_beats">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Beats:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2">
+ <object class="GtkLabel" id="label_hr_zones_method">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>HR Zones Method:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-3">
+ <object class="GtkLabel" id="label_hr_zone5">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>HR Zone5:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11147">
+ <object class="GtkLabel" id="label11147">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes"> bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11131">
+ <object class="GtkLabel" id="label11131">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes"> Cal</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_beats">
+ <object class="GtkLabel" id="record_beats">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_maxbeats">
+ <object class="GtkLabel" id="record_maxbeats">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_calories2">
+ <object class="GtkLabel" id="record_calories2">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11148">
+ <object class="GtkLabel" id="label11148">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>HR Zone4:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11149">
+ <object class="GtkLabel" id="label11149">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>HR Zone3:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11150">
+ <object class="GtkLabel" id="label11150">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>HR Zone2:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11151">
+ <object class="GtkLabel" id="label11151">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>HR Zone1:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_zone4">
+ <object class="GtkLabel" id="record_zone4">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_zone3">
+ <object class="GtkLabel" id="record_zone3">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_zone2">
+ <object class="GtkLabel" id="record_zone2">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_zone1">
+ <object class="GtkLabel" id="record_zone1">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11129">
+ <object class="GtkLabel" id="label11129">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes"> bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_zone5">
+ <object class="GtkLabel" id="record_zone5">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-4">
+ <object class="GtkLabel" id="label-4">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-5">
+ <object class="GtkLabel" id="label-5">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2147483646">
+ <object class="GtkLabel" id="label-2147483646">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-6">
+ <object class="GtkLabel" id="label-6">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2147483644">
+ <object class="GtkLabel" id="label-2147483644">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="record_zonesmethod">
+ <object class="GtkLabel" id="record_zonesmethod">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">3</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
@@ -2568,19 +2980,19 @@ Cadence</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkHBox" id="hbox47">
+ <child type="label">
+ <object class="GtkHBox" id="hbox47">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label-2147483635">
+ <object class="GtkLabel" id="label-2147483635">
<property name="visible">True</property>
<property name="label" translatable="yes"> <b>Heart Rate:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -2588,22 +3000,19 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2147483634">
+ <object class="GtkLabel" id="label-2147483634">
<property name="visible">True</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -2611,30 +3020,30 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox54">
+ <object class="GtkHBox" id="hbox54">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label-7">
+ <object class="GtkLabel" id="label-7">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button49">
+ <object class="GtkButton" id="button49">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="relief">none</property>
- <signal name="clicked" handler="on_hrpiebutton_clicked"/>
+ <signal handler="on_hrpiebutton_clicked" name="clicked"/>
<child>
- <widget class="GtkImage" id="image32">
+ <object class="GtkImage" id="image32">
<property name="visible">True</property>
<property name="pixbuf">hr-queso.png</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -2642,26 +3051,26 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button48">
+ <object class="GtkButton" id="button48">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="relief">none</property>
- <signal name="clicked" handler="on_hrplotbutton_clicked"/>
+ <signal handler="on_hrplotbutton_clicked" name="clicked"/>
<child>
- <widget class="GtkImage" id="image33">
+ <object class="GtkImage" id="image33">
<property name="visible">True</property>
<property name="pixbuf">hr-graph.png</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -2669,427 +3078,406 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkNotebook" id="notebook8">
+ <object class="GtkNotebook" id="notebook8">
<property name="visible">True</property>
<property name="show_tabs">False</property>
<property name="show_border">False</property>
<child>
- <widget class="GtkVBox" id="heartrate_vbox">
+ <object class="GtkVBox" id="heartrate_vbox">
<property name="visible">True</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-8">
+ <child type="tab">
+ <object class="GtkLabel" id="label-8">
<property name="visible">True</property>
<property name="label">label-2147483648</property>
- </widget>
+ </object>
<packing>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="heartrate_vbox2">
+ <object class="GtkVBox" id="heartrate_vbox2">
<child>
<placeholder/>
</child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-9">
+ <child type="tab">
+ <object class="GtkLabel" id="label-9">
<property name="visible">True</property>
<property name="label">label-2147483647</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkImage" id="image28">
+ <child type="tab">
+ <object class="GtkImage" id="image28">
<property name="visible">True</property>
<property name="pixbuf">heartrate.png</property>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame_analytics">
+ <object class="GtkFrame" id="frame_analytics">
<property name="visible">True</property>
<property name="border_width">6</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
- <child>
- <widget class="GtkVBox" id="analytics_vbox_">
- <property name="visible">True</property>
- <child>
- <widget class="GtkHBox" id="analytics_hbox_">
- <property name="visible">True</property>
- <child>
- <widget class="GtkFrame" id="frame_projected">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <child>
- <widget class="GtkAlignment" id="alignment_analytics">
- <property name="visible">True</property>
- <property name="left_padding">12</property>
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkTreeView" id="analyticsTreeView">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers-clickable">False</property>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="labelprojected">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Projected times</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- <property name="padding">10</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="padding">10</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkFrame" id="frame_ranking">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <child>
- <widget class="GtkAlignment" id="alignment_ranking">
- <property name="visible">True</property>
- <property name="left_padding">12</property>
- <child>
- <widget class="GtkVBox" id="vbox_ranking">
- <property name="visible">True</property>
- <child>
- <widget class="GtkLabel" id="label11125">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes"><i>Rank relative to same-sport activities for distances ± x%:</i></property>
- <property name="use_markup">True</property>
- </widget>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_ranking">
- <property name="visible">True</property>
- <child>
- <widget class="GtkVBox" id="alignment_ranking2">
- <property name="visible">True</property>
- <child>
- <widget class="GtkHScale" id="slider_ranking">
- <property name="visible">True</property>
- <property name="sensitive">True</property>
- <property name="adjustment">5 0 20 1 0 0</property>
- <signal name="value-changed" handler="on_change_rank_percentage"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkTable" id="table_ranking">
- <property name="visible">True</property>
- <property name="border_width">10</property>
- <property name="n_rows">5</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">3</property>
- <property name="row_spacing">5</property>
- <child>
- <widget class="GtkLabel" id="label11125">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes"><b>Range:</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="top_attach">0</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label11125">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes"><b>Rank:</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label11127">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes"><b>Speed: </b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="top_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="wssdadadsada">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes"><b>Avg speed:</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="top_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label-2">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes"><b>Standard deviation:</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="top_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label-3">
- <property name="width_request">90</property>
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes"><b>Deviation:</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="top_attach">5</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_ranking_range">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label"></property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_ranking_rank">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label"></property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_ranking_speed">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label"></property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_ranking_avg">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label"></property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_ranking_stddev">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label"></property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_ranking_dev">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label"></property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">5</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">10</property>
- </packing>
- </child>
- <child>
- <widget class="GtkTreeView" id="rankingTreeView">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers-clickable">False</property>
- </widget>
- <packing>
- <property name="padding">10</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label_ranking">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Ranking</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="padding">10</property>
- <property name="position">3</property>
- </packing>
- </child>
- </widget>
+ <child>
+ <object class="GtkVBox" id="analytics_vbox_">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkHBox" id="analytics_hbox_">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkFrame" id="frame_projected">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <child>
+ <object class="GtkAlignment" id="alignment_analytics">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkTreeView" id="analyticsTreeView">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers-clickable">False</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="labelprojected">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Projected times</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="padding">10</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="padding">10</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame_ranking">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <child>
+ <object class="GtkAlignment" id="alignment_ranking">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox_ranking">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="label_rank_relative">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"><i>Rank relative to same-sport activities for distances ± x%:</i></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox_ranking">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkVBox" id="alignment_ranking2">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkHScale" id="slider_ranking">
+ <property name="visible">True</property>
+ <property name="sensitive">True</property>
+ <property name="adjustment">adjustment11</property>
+ <signal handler="on_change_rank_percentage" name="value-changed"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkTable" id="table_ranking">
+ <property name="visible">True</property>
+ <property name="border_width">10</property>
+ <property name="n_rows">5</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">3</property>
+ <property name="row_spacing">5</property>
+ <child>
+ <object class="GtkLabel" id="label_range">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"><b>Range:</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">0</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_rank">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"><b>Rank:</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_speed">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"><b>Speed: </b></property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_avg_speed">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"><b>Avg speed:</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_std_deviation">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"><b>Standard deviation:</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_deviation">
+ <property name="width_request">90</property>
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"><b>Deviation:</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">5</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_ranking_range">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="label"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_ranking_rank">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="label"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_ranking_speed">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="label"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_ranking_avg">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="label"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_ranking_stddev">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="label"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_ranking_dev">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="label"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">5</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkTreeView" id="rankingTreeView">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers-clickable">False</property>
+ </object>
+ <packing>
+ <property name="padding">10</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label_ranking">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Ranking</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="padding">10</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
- <child>
- <widget class="GtkLabel" id="label14anal">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Analytics:</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="position">4</property>
- </packing>
+ <child type="label">
+ <object class="GtkLabel" id="label14anal">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Analytics:</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
</child>
- <child>
- <widget class="GtkImage" id="image28pre">
+ <child type="tab">
+ <object class="GtkImage" id="image28pre">
<property name="visible">True</property>
<property name="pixbuf">glasses.png</property>
- </widget>
+ </object>
<packing>
<property name="position">4</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label2223232232">
+ <child type="tab">
+ <object class="GtkLabel" id="label2223232232">
<property name="visible">True</property>
<property name="label" translatable="yes">Record</property>
- </widget>
+ </object>
<packing>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="dayview">
+ <object class="GtkVBox" id="dayview">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frame1">
+ <object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="border_width">6</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment1">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table4">
+ <object class="GtkTable" id="table4">
<property name="visible">True</property>
<property name="border_width">10</property>
<property name="n_rows">5</property>
@@ -3097,77 +3485,77 @@ Cadence</property>
<property name="column_spacing">3</property>
<property name="row_spacing">6</property>
<child>
- <widget class="GtkLabel" id="d_distance_unit">
+ <object class="GtkLabel" id="d_distance_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_distance">
+ <object class="GtkLabel" id="day_distance">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label37">
+ <object class="GtkLabel" id="label37">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Distance:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label38">
+ <object class="GtkLabel" id="label38">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Duration:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox11">
+ <object class="GtkHBox" id="hbox11">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="day_hour">
+ <object class="GtkLabel" id="day_hour">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label">00</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label77">
+ <object class="GtkLabel" id="label77">
<property name="visible">True</property>
<property name="label">:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -3175,10 +3563,10 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_minute">
+ <object class="GtkLabel" id="day_minute">
<property name="visible">True</property>
<property name="label">00</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -3186,10 +3574,10 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label78">
+ <object class="GtkLabel" id="label78">
<property name="visible">True</property>
<property name="label">:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -3197,17 +3585,17 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_second">
+ <object class="GtkLabel" id="day_second">
<property name="visible">True</property>
<property name="label">00</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">4</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -3216,346 +3604,346 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label79">
+ <object class="GtkLabel" id="label79">
<property name="visible">True</property>
<property name="xalign">0</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label40">
+ <object class="GtkLabel" id="label40">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Speed:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_average">
+ <object class="GtkLabel" id="day_average">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="d_speed_unit">
+ <object class="GtkLabel" id="d_speed_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">km/h</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-10">
+ <object class="GtkLabel" id="label-10">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Speed:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="d_maxspeed_unit">
+ <object class="GtkLabel" id="d_maxspeed_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">km/h</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label43">
+ <object class="GtkLabel" id="label43">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Calories: </b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_calories">
+ <object class="GtkLabel" id="day_calories">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label76">
+ <object class="GtkLabel" id="label76">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Cal</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label39">
+ <object class="GtkLabel" id="label39">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Beats avg:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_beats">
+ <object class="GtkLabel" id="day_beats">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label74">
+ <object class="GtkLabel" id="label74">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-11">
+ <object class="GtkLabel" id="label-11">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Pace:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="d_pace_unit">
+ <object class="GtkLabel" id="d_pace_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">min/km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-12">
+ <object class="GtkLabel" id="label-12">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Pace:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="d_maxpace_unit">
+ <object class="GtkLabel" id="d_maxpace_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">min/km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-13">
+ <object class="GtkLabel" id="label-13">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Beats:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-14">
+ <object class="GtkLabel" id="label-14">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_maxspeed">
+ <object class="GtkLabel" id="day_maxspeed">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_maxbeats">
+ <object class="GtkLabel" id="day_maxbeats">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_pace">
+ <object class="GtkLabel" id="day_pace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_maxpace">
+ <object class="GtkLabel" id="day_maxpace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label31">
+ <object class="GtkLabel" id="label31">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Total Asc/Desc:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
@@ -3564,10 +3952,10 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_ascdesc">
+ <object class="GtkLabel" id="day_ascdesc">
<property name="visible">True</property>
<property name="xalign">1</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
@@ -3576,12 +3964,12 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label32">
+ <object class="GtkLabel" id="label32">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">m</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
@@ -3589,19 +3977,19 @@ Cadence</property>
<property name="bottom_attach">5</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkHBox" id="hbox12">
+ <child type="label">
+ <object class="GtkHBox" id="hbox12">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label82">
+ <object class="GtkLabel" id="label82">
<property name="visible">True</property>
<property name="label" translatable="yes"> <b>Date:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -3609,22 +3997,19 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="day_topic">
+ <object class="GtkLabel" id="day_topic">
<property name="visible">True</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -3632,18 +4017,18 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="day_vbox">
+ <object class="GtkVBox" id="day_vbox">
<property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox41">
+ <object class="GtkHBox" id="hbox41">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="spacing">8</property>
<child>
- <widget class="GtkLabel" id="label-15">
+ <object class="GtkLabel" id="label-15">
<property name="visible">True</property>
<property name="label" translatable="yes">Value</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -3651,87 +4036,88 @@ Cadence</property>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="day_combovalue">
+ <object class="GtkComboBoxEntry" id="day_combovalue">
<property name="visible">True</property>
- <property name="items" translatable="yes">Stage Profile
-Stage Velocity
-Stage Profile/velocity</property>
- <signal name="changed" handler="on_day_combovalue_changed"/>
- </widget>
+ <signal handler="on_day_combovalue_changed" name="changed"/>
+ <property name="model">model5</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer5"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-16">
+ <object class="GtkLabel" id="label-16">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button37">
+ <object class="GtkButton" id="button37">
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <signal name="clicked" handler="on_showmap_clicked"/>
+ <signal handler="on_showmap_clicked" name="clicked"/>
<child>
- <widget class="GtkImage" id="image23">
+ <object class="GtkImage" id="image23">
<property name="visible">True</property>
<property name="stock">gtk-fullscreen</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">3</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label44">
+ <child type="tab">
+ <object class="GtkLabel" id="label44">
<property name="visible">True</property>
<property name="label" translatable="yes">Day</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="weekview">
+ <object class="GtkVBox" id="weekview">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frame4">
+ <object class="GtkFrame" id="frame4">
<property name="visible">True</property>
<property name="border_width">6</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment4">
+ <object class="GtkAlignment" id="alignment4">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table8">
+ <object class="GtkTable" id="table8">
<property name="visible">True</property>
<property name="border_width">10</property>
<property name="n_rows">5</property>
@@ -3739,77 +4125,77 @@ Stage Profile/velocity</property>
<property name="column_spacing">3</property>
<property name="row_spacing">6</property>
<child>
- <widget class="GtkLabel" id="w_distance_unit">
+ <object class="GtkLabel" id="w_distance_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_distance">
+ <object class="GtkLabel" id="weeka_distance">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label99">
+ <object class="GtkLabel" id="label99">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Distance:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label100">
+ <object class="GtkLabel" id="label100">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Duration:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox15">
+ <object class="GtkHBox" id="hbox15">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="weeka_hour">
+ <object class="GtkLabel" id="weeka_hour">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label">000</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label108">
+ <object class="GtkLabel" id="label108">
<property name="visible">True</property>
<property name="label">:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -3817,10 +4203,10 @@ Stage Profile/velocity</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_minute">
+ <object class="GtkLabel" id="weeka_minute">
<property name="visible">True</property>
<property name="label">00</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -3828,10 +4214,10 @@ Stage Profile/velocity</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label109">
+ <object class="GtkLabel" id="label109">
<property name="visible">True</property>
<property name="label">:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -3839,17 +4225,17 @@ Stage Profile/velocity</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_second">
+ <object class="GtkLabel" id="weeka_second">
<property name="visible">True</property>
<property name="label">00</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">4</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -3858,347 +4244,347 @@ Stage Profile/velocity</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label102">
+ <object class="GtkLabel" id="label102">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Speed:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_average">
+ <object class="GtkLabel" id="weeka_average">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="w_speed_unit">
+ <object class="GtkLabel" id="w_speed_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">km/h</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label103">
+ <object class="GtkLabel" id="label103">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Calories: </b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_calories">
+ <object class="GtkLabel" id="weeka_calories">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label107">
+ <object class="GtkLabel" id="label107">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Cal</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-17">
+ <object class="GtkLabel" id="label-17">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Speed:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_maxspeed">
+ <object class="GtkLabel" id="weeka_maxspeed">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="w_maxspeed_unit">
+ <object class="GtkLabel" id="w_maxspeed_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">km/h</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label110">
+ <object class="GtkLabel" id="label110">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label101">
+ <object class="GtkLabel" id="label101">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Beats avg:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_beats">
+ <object class="GtkLabel" id="weeka_beats">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label105">
+ <object class="GtkLabel" id="label105">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-18">
+ <object class="GtkLabel" id="label-18">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Pace:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-19">
+ <object class="GtkLabel" id="label-19">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Pace:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="w_pace_unit">
+ <object class="GtkLabel" id="w_pace_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">min/km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="w_maxpace_unit">
+ <object class="GtkLabel" id="w_maxpace_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">min/km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2147483641">
+ <object class="GtkLabel" id="label_bpm147483641">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-2147483640">
+ <object class="GtkLabel" id="label-2147483640">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Beats:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_pace">
+ <object class="GtkLabel" id="weeka_pace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_maxpace">
+ <object class="GtkLabel" id="weeka_maxpace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_maxbeats">
+ <object class="GtkLabel" id="weeka_maxbeats">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label33">
+ <object class="GtkLabel" id="label33">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Total Asc/Desc:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
@@ -4207,10 +4593,10 @@ Stage Profile/velocity</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="weeka_ascdesc">
+ <object class="GtkLabel" id="weeka_ascdesc">
<property name="visible">True</property>
<property name="xalign">1</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
@@ -4219,12 +4605,12 @@ Stage Profile/velocity</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label34">
+ <object class="GtkLabel" id="label34">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">m</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
@@ -4232,19 +4618,19 @@ Stage Profile/velocity</property>
<property name="bottom_attach">5</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkHBox" id="hbox14">
+ <child type="label">
+ <object class="GtkHBox" id="hbox14">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label95">
+ <object class="GtkLabel" id="label95">
<property name="visible">True</property>
<property name="label" translatable="yes"> <b>Week:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -4252,22 +4638,19 @@ Stage Profile/velocity</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="week_date">
+ <object class="GtkLabel" id="week_date">
<property name="visible">True</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -4275,41 +4658,44 @@ Stage Profile/velocity</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="week_vbox">
+ <object class="GtkVBox" id="week_vbox">
<property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox19">
+ <object class="GtkHBox" id="hbox19">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="spacing">8</property>
<child>
- <widget class="GtkLabel" id="label-20">
+ <object class="GtkLabel" id="label-20">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="week_combovalue">
+ <object class="GtkComboBoxEntry" id="week_combovalue">
<property name="visible">True</property>
- <property name="items" translatable="yes">Distance
-Time
-Average Heart Rate
-Average Speed
-Calories</property>
- <signal name="changed" handler="on_week_combovalue_changed"/>
- </widget>
+ <signal handler="on_week_combovalue_changed" name="changed"/>
+ <property name="model">model6</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer6"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-21">
+ <object class="GtkLabel" id="label-21">
<property name="visible">True</property>
<property name="label" translatable="yes">Versus</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -4317,30 +4703,32 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="week_combovalue2">
+ <object class="GtkComboBoxEntry" id="week_combovalue2">
<property name="visible">True</property>
- <property name="items" translatable="yes">None
-Distance
-Time
-Average Heart Rate
-Average Speed
-Calories</property>
- <signal name="changed" handler="on_week_combovalue_changed"/>
- </widget>
+ <signal handler="on_week_combovalue_changed" name="changed"/>
+ <property name="model">model7</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer7"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">3</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-22">
+ <object class="GtkLabel" id="label-22">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">4</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
@@ -4349,43 +4737,39 @@ Calories</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="weekviewlabel">
+ <child type="tab">
+ <object class="GtkLabel" id="weekviewlabel">
<property name="visible">True</property>
<property name="label" translatable="yes">Week</property>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="monthview">
+ <object class="GtkVBox" id="monthview">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frame2">
+ <object class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="border_width">6</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment2">
+ <object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table1">
+ <object class="GtkTable" id="table1">
<property name="visible">True</property>
<property name="border_width">10</property>
<property name="n_rows">5</property>
@@ -4393,77 +4777,77 @@ Calories</property>
<property name="column_spacing">3</property>
<property name="row_spacing">6</property>
<child>
- <widget class="GtkLabel" id="m_distance_unit">
+ <object class="GtkLabel" id="m_distance_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_distance">
+ <object class="GtkLabel" id="montha_distance">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label3">
+ <object class="GtkLabel" id="label3">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Distance:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label4">
+ <object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Duration:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox1">
+ <object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="montha_hour">
+ <object class="GtkLabel" id="montha_hour">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label">000</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label5">
+ <object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="label">:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -4471,10 +4855,10 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_minute">
+ <object class="GtkLabel" id="montha_minute">
<property name="visible">True</property>
<property name="label">00</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -4482,10 +4866,10 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label6">
+ <object class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="label">:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -4493,17 +4877,17 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_second">
+ <object class="GtkLabel" id="montha_second">
<property name="visible">True</property>
<property name="label">00</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">4</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -4512,347 +4896,347 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label7">
+ <object class="GtkLabel" id="label7">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Speed:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_average">
+ <object class="GtkLabel" id="montha_average">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="m_speed_unit">
+ <object class="GtkLabel" id="m_speed_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">km/h</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label8">
+ <object class="GtkLabel" id="label8">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Calories: </b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_calories">
+ <object class="GtkLabel" id="montha_calories">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label9">
+ <object class="GtkLabel" id="label9">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Cal</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-23">
+ <object class="GtkLabel" id="label-23">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Speed:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_maxspeed">
+ <object class="GtkLabel" id="montha_maxspeed">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="m_maxspeed_unit">
+ <object class="GtkLabel" id="m_maxspeed_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">km/h</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label10">
+ <object class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11">
+ <object class="GtkLabel" id="label11">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Beats avg:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_beats">
+ <object class="GtkLabel" id="montha_beats">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label12">
+ <object class="GtkLabel" id="label12">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-24">
+ <object class="GtkLabel" id="label-24">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Pace:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-25">
+ <object class="GtkLabel" id="label-25">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Pace:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="m_pace_unit">
+ <object class="GtkLabel" id="m_pace_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">min/km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="m_maxpace_unit">
+ <object class="GtkLabel" id="m_maxpace_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">min/km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-26">
+ <object class="GtkLabel" id="label-26">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-27">
+ <object class="GtkLabel" id="label-27">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Beats:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_pace">
+ <object class="GtkLabel" id="montha_pace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_maxpace">
+ <object class="GtkLabel" id="montha_maxpace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_maxbeats">
+ <object class="GtkLabel" id="montha_maxbeats">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label36">
+ <object class="GtkLabel" id="label36">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Total Asc/Desc:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
@@ -4861,10 +5245,10 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="montha_ascdesc">
+ <object class="GtkLabel" id="montha_ascdesc">
<property name="visible">True</property>
<property name="xalign">1</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
@@ -4873,12 +5257,12 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label49">
+ <object class="GtkLabel" id="label49">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">m</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
@@ -4886,19 +5270,19 @@ Calories</property>
<property name="bottom_attach">5</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkHBox" id="hbox2">
+ <child type="label">
+ <object class="GtkHBox" id="hbox2">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label13">
+ <object class="GtkLabel" id="label13">
<property name="visible">True</property>
<property name="label" translatable="yes"> <b>Month:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -4906,22 +5290,19 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="month_date">
+ <object class="GtkLabel" id="month_date">
<property name="visible">True</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -4929,41 +5310,44 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="month_vbox">
+ <object class="GtkVBox" id="month_vbox">
<property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox3">
+ <object class="GtkHBox" id="hbox3">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="spacing">8</property>
<child>
- <widget class="GtkLabel" id="label-28">
+ <object class="GtkLabel" id="label-28">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="month_combovalue">
+ <object class="GtkComboBoxEntry" id="month_combovalue">
<property name="visible">True</property>
- <property name="items" translatable="yes">Distance
-Time
-Average Heart Rate
-Average Speed
-Calories</property>
- <signal name="changed" handler="on_month_combovalue_changed"/>
- </widget>
+ <signal handler="on_month_combovalue_changed" name="changed"/>
+ <property name="model">model8</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer8"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-29">
+ <object class="GtkLabel" id="label-29">
<property name="visible">True</property>
<property name="label" translatable="yes">Versus</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -4971,30 +5355,32 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="month_combovalue2">
+ <object class="GtkComboBoxEntry" id="month_combovalue2">
<property name="visible">True</property>
- <property name="items" translatable="yes">None
-Distance
-Time
-Average Heart Rate
-Average Speed
-Calories</property>
- <signal name="changed" handler="on_month_combovalue_changed"/>
- </widget>
+ <signal handler="on_month_combovalue_changed" name="changed"/>
+ <property name="model">model9</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer9"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">3</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-30">
+ <object class="GtkLabel" id="label-30">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">4</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
@@ -5003,42 +5389,38 @@ Calories</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label45">
+ <child type="tab">
+ <object class="GtkLabel" id="label45">
<property name="visible">True</property>
<property name="label" translatable="yes">Month</property>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="yearview">
+ <object class="GtkVBox" id="yearview">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frame7">
+ <object class="GtkFrame" id="frame7">
<property name="visible">True</property>
<property name="border_width">6</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment7">
+ <object class="GtkAlignment" id="alignment7">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table10">
+ <object class="GtkTable" id="table10">
<property name="visible">True</property>
<property name="border_width">10</property>
<property name="n_rows">5</property>
@@ -5046,153 +5428,153 @@ Calories</property>
<property name="column_spacing">3</property>
<property name="row_spacing">6</property>
<child>
- <widget class="GtkLabel" id="label121">
+ <object class="GtkLabel" id="label121">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Calories: </b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_calories">
+ <object class="GtkLabel" id="yeara_calories">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label125">
+ <object class="GtkLabel" id="label125">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Cal</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label119">
+ <object class="GtkLabel" id="label119">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Beats avg:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_beats">
+ <object class="GtkLabel" id="yeara_beats">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label123">
+ <object class="GtkLabel" id="label123">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_distance">
+ <object class="GtkLabel" id="yeara_distance">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label117">
+ <object class="GtkLabel" id="label117">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Distance:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label118">
+ <object class="GtkLabel" id="label118">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Duration:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox17">
+ <object class="GtkHBox" id="hbox17">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="yeara_hour">
+ <object class="GtkLabel" id="yeara_hour">
<property name="visible">True</property>
<property name="label">000</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label126">
+ <object class="GtkLabel" id="label126">
<property name="visible">True</property>
<property name="label">:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -5200,10 +5582,10 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_minute">
+ <object class="GtkLabel" id="yeara_minute">
<property name="visible">True</property>
<property name="label">00</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -5211,10 +5593,10 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label127">
+ <object class="GtkLabel" id="label127">
<property name="visible">True</property>
<property name="label">:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -5222,17 +5604,17 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_second">
+ <object class="GtkLabel" id="yeara_second">
<property name="visible">True</property>
<property name="label">00</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">4</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -5241,271 +5623,271 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label128">
+ <object class="GtkLabel" id="label128">
<property name="visible">True</property>
<property name="xalign">0</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="y_distance_unit">
+ <object class="GtkLabel" id="y_distance_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">Km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label120">
+ <object class="GtkLabel" id="label120">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Speed:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_average">
+ <object class="GtkLabel" id="yeara_average">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="y_speed_unit">
+ <object class="GtkLabel" id="y_speed_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">km/h</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="y_maxspeed_unit">
+ <object class="GtkLabel" id="y_maxspeed_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">km/h</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-32">
+ <object class="GtkLabel" id="label-32">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">bpm</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-33">
+ <object class="GtkLabel" id="label-33">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Speed:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-34">
+ <object class="GtkLabel" id="label-34">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Pace:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-35">
+ <object class="GtkLabel" id="label-35">
<property name="width_request">90</property>
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Pace:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="y_pace_unit">
+ <object class="GtkLabel" id="y_pace_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">min/km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="y_maxpace_unit">
+ <object class="GtkLabel" id="y_maxpace_unit">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">min/km</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-36">
+ <object class="GtkLabel" id="label-36">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Max Beats:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_pace">
+ <object class="GtkLabel" id="yeara_pace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_maxpace">
+ <object class="GtkLabel" id="yeara_maxpace">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_maxspeed">
+ <object class="GtkLabel" id="yeara_maxspeed">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_maxbeats">
+ <object class="GtkLabel" id="yeara_maxbeats">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label35">
+ <object class="GtkLabel" id="label35">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Total Asc/Desc:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
@@ -5514,10 +5896,10 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="yeara_ascdesc">
+ <object class="GtkLabel" id="yeara_ascdesc">
<property name="visible">True</property>
<property name="xalign">1</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
@@ -5526,12 +5908,12 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label41">
+ <object class="GtkLabel" id="label41">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
<property name="label" translatable="yes">m</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
@@ -5539,19 +5921,19 @@ Calories</property>
<property name="bottom_attach">5</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkHBox" id="hbox18">
+ <child type="label">
+ <object class="GtkHBox" id="hbox18">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label130">
+ <object class="GtkLabel" id="label130">
<property name="visible">True</property>
<property name="label" translatable="yes"> <b>Year:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -5559,22 +5941,19 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="year_date">
+ <object class="GtkLabel" id="year_date">
<property name="visible">True</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -5582,41 +5961,44 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="year_vbox">
+ <object class="GtkVBox" id="year_vbox">
<property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox20">
+ <object class="GtkHBox" id="hbox20">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="spacing">8</property>
<child>
- <widget class="GtkLabel" id="label132">
+ <object class="GtkLabel" id="label132">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="year_combovalue">
+ <object class="GtkComboBoxEntry" id="year_combovalue">
<property name="visible">True</property>
- <property name="items" translatable="yes">Distance
-Time
-Average Heart Rate
-Average Speed
-Calories</property>
- <signal name="changed" handler="on_year_combovalue_changed"/>
- </widget>
+ <signal handler="on_year_combovalue_changed" name="changed"/>
+ <property name="model">model10</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer10"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-37">
+ <object class="GtkLabel" id="label-37">
<property name="visible">True</property>
<property name="label" translatable="yes">Versus</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -5624,30 +6006,32 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="year_combovalue2">
+ <object class="GtkComboBoxEntry" id="year_combovalue2">
<property name="visible">True</property>
- <property name="items" translatable="yes">None
-Distance
-Time
-Average Heart Rate
-Average Speed
-Calories</property>
- <signal name="changed" handler="on_year_combovalue_changed"/>
- </widget>
+ <signal handler="on_year_combovalue_changed" name="changed"/>
+ <property name="model">model11</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer11"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">3</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-38">
+ <object class="GtkLabel" id="label-38">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">4</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
@@ -5656,52 +6040,48 @@ Calories</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">4</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label46">
+ <child type="tab">
+ <object class="GtkLabel" id="label46">
<property name="visible">True</property>
<property name="label" translatable="yes">Year</property>
- </widget>
+ </object>
<packing>
<property name="position">4</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="athletearea">
+ <object class="GtkHBox" id="athletearea">
<property name="visible">True</property>
<child>
- <widget class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frame3">
+ <object class="GtkFrame" id="frame3">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment9">
+ <object class="GtkAlignment" id="alignment9">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table2">
+ <object class="GtkTable" id="table2">
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">4</property>
<child>
- <widget class="GtkLabel" id="label21">
+ <object class="GtkLabel" id="label21">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Name:</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
<property name="x_padding">5</property>
@@ -5709,11 +6089,11 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label22">
+ <object class="GtkLabel" id="label22">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Date of birth:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
@@ -5723,10 +6103,10 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label23">
+ <object class="GtkLabel" id="label23">
<property name="visible">True</property>
<property name="label" translatable="yes">Height:</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
@@ -5738,11 +6118,11 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelName">
+ <object class="GtkLabel" id="labelName">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">4</property>
@@ -5751,11 +6131,11 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelDOB">
+ <object class="GtkLabel" id="labelDOB">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -5766,11 +6146,11 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelHeight">
+ <object class="GtkLabel" id="labelHeight">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
@@ -5780,21 +6160,18 @@ Calories</property>
<property name="x_padding">10</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label24">
+ <child type="label">
+ <object class="GtkLabel" id="label24">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Athlete Details</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="padding">6</property>
@@ -5802,187 +6179,176 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame6">
+ <object class="GtkFrame" id="frame6">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment13">
+ <object class="GtkAlignment" id="alignment13">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkHBox" id="boxAthleteGraph">
+ <object class="GtkHBox" id="boxAthleteGraph">
<property name="height_request">30</property>
<property name="visible">True</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label25">
+ <child type="label">
+ <object class="GtkLabel" id="label25">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Graph</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="padding">5</property>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame5">
+ <object class="GtkFrame" id="frame5">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment12">
+ <object class="GtkAlignment" id="alignment12">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow2">
+ <object class="GtkScrolledWindow" id="scrolledwindow2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">automatic</property>
<child>
- <widget class="GtkTreeView" id="athleteTreeView">
+ <object class="GtkTreeView" id="athleteTreeView">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <signal name="button_press_event" handler="on_athleteTreeView_button_press_event"/>
- </widget>
+ <signal handler="on_athleteTreeView_button_press_event" name="button_press_event"/>
+ </object>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label15">
+ <child type="label">
+ <object class="GtkLabel" id="label15">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>History</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="padding">5</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">6</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label20">
+ <child type="tab">
+ <object class="GtkLabel" id="label20">
<property name="visible">True</property>
<property name="label" translatable="yes">Athlete</property>
- </widget>
+ </object>
<packing>
<property name="position">6</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="statsarea">
+ <object class="GtkHBox" id="statsarea">
<property name="visible">True</property>
<child>
- <widget class="GtkVPaned" id="vbox3">
+ <object class="GtkVPaned" id="vbox3">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="position">160</property>
<child>
- <widget class="GtkFrame" id="frame9">
+ <object class="GtkFrame" id="frame9">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment10">
+ <object class="GtkAlignment" id="alignment10">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow_stats">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
- <child>
- <widget class="GtkTreeView" id="statsTreeView">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <signal name="button_press_event" handler="on_sportstatsTreeView_button_press"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
+ <object class="GtkScrolledWindow" id="scrolledwindow_stats">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">automatic</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <child>
+ <object class="GtkTreeView" id="statsTreeView">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label27">
+ <child type="label">
+ <object class="GtkLabel" id="label27">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Sports</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="resize">False</property>
<property name="shrink">True</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame1123">
+ <object class="GtkFrame" id="frame1123">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkAlignment" id="alignment101">
+ <object class="GtkAlignment" id="alignment101">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkHBox" id="total_vbox">
+ <object class="GtkHBox" id="total_vbox">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="spacing">8</property>
<child>
- <widget class="GtkVBox" id="vbox123">
+ <object class="GtkVBox" id="vbox123">
<property name="visible">True</property>
<child>
- <widget class="GtkComboBoxEntry" id="total_combovalue">
+ <object class="GtkComboBoxEntry" id="total_combovalue">
<property name="visible">True</property>
- <property name="items" translatable="yes">Distance
-Time
-Average Heart Rate
-Average Speed
-Calories</property>
- <signal name="changed" handler="on_total_combovalue_changed"/>
- </widget>
+ <signal handler="on_total_combovalue_changed" name="changed"/>
+ <property name="model">model12</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer12"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-39">
+ <object class="GtkLabel" id="label-39">
<property name="visible">True</property>
<property name="label" translatable="yes">Versus</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -5990,33 +6356,35 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="total_combovalue2">
+ <object class="GtkComboBoxEntry" id="total_combovalue2">
<property name="visible">True</property>
- <property name="items" translatable="yes">None
-Distance
-Time
-Average Heart Rate
-Average Speed
-Calories</property>
- <signal name="changed" handler="on_total_combovalue_changed"/>
- </widget>
+ <signal handler="on_total_combovalue_changed" name="changed"/>
+ <property name="model">model13</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer13"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkTable" id="table3">
+ <object class="GtkTable" id="table3">
<property name="visible">True</property>
<property name="n_rows">4</property>
<property name="n_columns">2</property>
<child>
- <widget class="GtkLabel" id="label19">
+ <object class="GtkLabel" id="label19">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="yalign">0</property>
<property name="label" translatable="yes">Total distance:</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_SHRINK</property>
@@ -6025,12 +6393,12 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label28">
+ <object class="GtkLabel" id="label28">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="yalign">0</property>
<property name="label" translatable="yes">Total duration:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
@@ -6041,12 +6409,12 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelTotalDistance">
+ <object class="GtkLabel" id="labelTotalDistance">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -6057,12 +6425,12 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelTotalDuration">
+ <object class="GtkLabel" id="labelTotalDuration">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -6074,12 +6442,12 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label21a">
+ <object class="GtkLabel" id="label21a">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="yalign">0</property>
<property name="label" translatable="yes">Start date:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="x_options">GTK_FILL</property>
@@ -6089,12 +6457,12 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label22a">
+ <object class="GtkLabel" id="label22a">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="yalign">0</property>
<property name="label" translatable="yes">End date:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="x_options">GTK_FILL</property>
@@ -6104,12 +6472,12 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelStartDate">
+ <object class="GtkLabel" id="labelStartDate">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">4</property>
@@ -6121,12 +6489,12 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelEndDate">
+ <object class="GtkLabel" id="labelEndDate">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="xpad">5</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">4</property>
@@ -6161,91 +6529,81 @@ Calories</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label271">
+ <child type="label">
+ <object class="GtkLabel" id="label271">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>All</b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="resize">False</property>
<property name="shrink">True</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">6</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label29">
+ <child type="tab">
+ <object class="GtkLabel" id="label29">
<property name="visible">True</property>
<property name="label" translatable="yes">Totals</property>
- </widget>
+ </object>
<packing>
<property name="position">7</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- <child>
+ <child type="tab">
<placeholder/>
- <packing>
- <property name="type">tab</property>
- </packing>
</child>
<child>
- <widget class="GtkVBox" id="listarea">
+ <object class="GtkVBox" id="listarea">
<property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox36">
+ <object class="GtkHBox" id="hbox36">
<property name="height_request">40</property>
<property name="visible">True</property>
<property name="border_width">8</property>
<property name="spacing">8</property>
<child>
- <widget class="GtkLabel" id="label11121">
+ <object class="GtkLabel" id="label11121">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Title:</b></property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -6253,11 +6611,11 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="lsa_searchvalue">
+ <object class="GtkEntry" id="lsa_searchvalue">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -6265,14 +6623,14 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button34">
+ <object class="GtkButton" id="button34">
<property name="label" translatable="yes">Search</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
- <signal name="clicked" handler="on_listareasearch_clicked"/>
- </widget>
+ <signal handler="on_listareasearch_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -6280,87 +6638,108 @@ Calories</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label11120">
+ <object class="GtkLabel" id="label11120">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="lsa_distance">
+ <object class="GtkComboBox" id="lsa_distance">
<property name="visible">True</property>
- <property name="items" translatable="yes">All Distances</property>
- </widget>
+ <property name="model">model14</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer14"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="position">4</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="lsa_duration">
+ <object class="GtkComboBox" id="lsa_duration">
<property name="visible">True</property>
- <property name="items" translatable="yes">All Durations</property>
- </widget>
+ <property name="model">model15</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer15"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="position">5</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="lsa_past">
+ <object class="GtkComboBox" id="lsa_past">
<property name="visible">True</property>
<property name="active">0</property>
- <property name="items" translatable="yes">All time
-Last 4 weeks
-Last 6 months
-Last 12 months</property>
- </widget>
+ <property name="model">model16</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer16"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="position">6</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="lsa_sport">
+ <object class="GtkComboBox" id="lsa_sport">
<property name="visible">True</property>
- <property name="items" translatable="yes">All Sports</property>
- </widget>
+ <property name="model">model17</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer17"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="position">7</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="lsa_reset">
+ <object class="GtkButton" id="lsa_reset">
<property name="label">gtk-clear</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_listareareset_clicked"/>
- </widget>
+ <signal handler="on_listareareset_clicked" name="clicked"/>
+ </object>
<packing>
<property name="position">8</property>
</packing>
</child>
<child>
- <widget class="GtkMenuBar" id="listviewOptions">
+ <object class="GtkMenuBar" constructor="uimanager2" id="listviewOptions">
<property name="visible">True</property>
<child>
- <widget class="GtkMenuItem" id="menuitem5">
+ <object class="GtkMenuItem" id="menuitem_columns">
<property name="visible">True</property>
<property name="label" translatable="yes">Columns</property>
<property name="use_underline">True</property>
- <child>
- <widget class="GtkMenu" id="menulistviewOptions"/>
+ <child type="submenu">
+ <object class="GtkMenu" id="menulistviewOptions"/>
</child>
- </widget>
- </child>
- </widget>
+ </object>
+ </child>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">9</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -6371,73 +6750,67 @@ Last 12 months</property>
<placeholder/>
</child>
<child>
- <widget class="GtkScrolledWindow" id="listare">
+ <object class="GtkScrolledWindow" id="listare">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkTreeView" id="allRecordTreeView">
+ <object class="GtkTreeView" id="allRecordTreeView">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <signal name="button_press_event" handler="on_allRecordTreeView_button_press"/>
- <signal name="row_activated" handler="on_recordTree_clicked"/>
- </widget>
+ <signal handler="on_allRecordTreeView_button_press" name="button_press_event"/>
+ <signal handler="on_recordTree_clicked" name="row_activated"/>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
+ </object>
</child>
- <child>
+ <child type="tab">
<placeholder/>
- <packing>
- <property name="type">tab</property>
- </packing>
</child>
<child>
- <widget class="GtkVBox" id="waypointarea">
+ <object class="GtkVBox" id="waypointarea">
<property name="visible">True</property>
<child>
- <widget class="GtkFrame" id="frame12">
+ <object class="GtkFrame" id="frame12">
<property name="visible">True</property>
<property name="border_width">9</property>
<property name="label_xalign">0</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkAlignment" id="alignment15">
+ <object class="GtkAlignment" id="alignment15">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table14">
+ <object class="GtkTable" id="table14">
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">6</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkHBox" id="hbox44">
+ <object class="GtkHBox" id="hbox44">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label-40">
+ <object class="GtkLabel" id="label-40">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button39">
+ <object class="GtkButton" id="button39">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_removewaypoint_clicked"/>
- </widget>
+ <signal handler="on_removewaypoint_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -6445,14 +6818,14 @@ Last 12 months</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button38">
+ <object class="GtkButton" id="button38">
<property name="label">gtk-save</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_savewaypoint_clicked"/>
- </widget>
+ <signal handler="on_savewaypoint_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -6460,7 +6833,7 @@ Last 12 months</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
@@ -6471,164 +6844,165 @@ Last 12 months</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-41">
+ <object class="GtkLabel" id="label-41">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Type:</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkComboBoxEntry" id="waypoint_type">
+ <object class="GtkComboBoxEntry" id="waypoint_type">
<property name="visible">True</property>
- <property name="items" translatable="yes">Font
-Restaurant
-Scenic Area
-Summit</property>
- </widget>
+ <property name="model">model18</property>
+ <property name="text-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer18"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="x_options">GTK_EXPAND</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-42">
+ <object class="GtkLabel" id="label-42">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Latitude: </property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-43">
+ <object class="GtkLabel" id="label-43">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"> Name:</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-44">
+ <object class="GtkLabel" id="label-44">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Longitude:</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label-45">
+ <object class="GtkLabel" id="label-45">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Description:</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="waypoint_longitude">
+ <object class="GtkEntry" id="waypoint_longitude">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="waypoint_description">
+ <object class="GtkEntry" id="waypoint_description">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
+ <property name="x_options"/>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="waypoint_latitude">
+ <object class="GtkEntry" id="waypoint_latitude">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="x_options">GTK_EXPAND</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkEntry" id="waypoint_name">
+ <object class="GtkEntry" id="waypoint_name">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_EXPAND</property>
- <property name="y_options"></property>
+ <property name="y_options"/>
</packing>
</child>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label-46">
+ <child type="label">
+ <object class="GtkLabel" id="label-46">
<property name="visible">True</property>
<property name="label" translatable="yes"><b> Waypoint: </b></property>
<property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -6636,22 +7010,22 @@ Summit</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="waypointvbox">
+ <object class="GtkHBox" id="waypointvbox">
<property name="visible">True</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow7">
+ <object class="GtkScrolledWindow" id="scrolledwindow7">
<property name="width_request">230</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkTreeView" id="waypointTreeView">
+ <object class="GtkTreeView" id="waypointTreeView">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <signal name="button_press_event" handler="on_waypointTreeView_button_press"/>
- </widget>
+ <signal handler="on_waypointTreeView_button_press" name="button_press_event"/>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -6661,204 +7035,131 @@ Summit</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
+ </object>
</child>
- <child>
+ <child type="tab">
<placeholder/>
- <packing>
- <property name="type">tab</property>
- </packing>
</child>
<child>
<placeholder/>
</child>
- <child>
+ <child type="tab">
<placeholder/>
- <packing>
- <property name="type">tab</property>
- </packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkStatusbar" id="statusbar1">
+ <object class="GtkStatusbar" id="statusbar1">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label30">
+ <child type="tab">
+ <object class="GtkLabel" id="label30">
<property name="visible">True</property>
<property name="label">label162</property>
- </widget>
+ </object>
<packing>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="maparea">
+ <object class="GtkVBox" id="maparea">
<property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox31">
+ <object class="GtkHBox" id="hbox31">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label164">
+ <object class="GtkLabel" id="label164">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button26">
+ <object class="GtkButton" id="button26">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <signal name="clicked" handler="on_hidemap_clicked"/>
+ <signal handler="on_hidemap_clicked" name="clicked"/>
<child>
- <widget class="GtkImage" id="image20">
+ <object class="GtkImage" id="image20">
<property name="visible">True</property>
<property name="stock">gtk-leave-fullscreen</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHSeparator" id="hseparator4">
+ <object class="GtkHSeparator" id="hseparator4">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="map_vbox_old">
+ <object class="GtkVBox" id="map_vbox_old">
<property name="visible">True</property>
<child>
<placeholder/>
</child>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkStatusbar" id="statusbar2">
+ <object class="GtkStatusbar" id="statusbar2">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">3</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label163">
+ <child type="tab">
+ <object class="GtkLabel" id="label163">
<property name="visible">True</property>
<property name="label">label163</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
- </widget>
- </child>
- </widget>
- <widget class="GtkMenu" id="popup">
- <child>
- <widget class="GtkImageMenuItem" id="edit_record1">
- <property name="label" translatable="yes">Edit Record</property>
- <property name="visible">True</property>
- <property name="use_stock">False</property>
- <signal name="activate" handler="on_editrecord_activate"/>
- <child internal-child="image">
- <widget class="GtkImage" id="image1">
- <property name="visible">True</property>
- <property name="stock">gtk-edit</property>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkImageMenuItem" id="show_in_classic_view1">
- <property name="label" translatable="yes">Show graph in classic view</property>
- <property name="visible">True</property>
- <property name="use_stock">False</property>
- <signal name="activate" handler="on_showclassic_activate"/>
- <child internal-child="image">
- <widget class="GtkImage" id="image2">
- <property name="visible">True</property>
- <property name="stock">gtk-find</property>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkImageMenuItem" id="merge_tracks">
- <property name="label" translatable="yes">Merge tracks</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="use_stock">False</property>
- <signal name="activate" handler="on_multiple_merge_ToDo"/>
- <child internal-child="image">
- <widget class="GtkImage" id="image3">
- <property name="visible">True</property>
- <property name="icon_name">document-properties</property>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkSeparatorMenuItem" id="separador2">
- <property name="visible">True</property>
- </widget>
- </child>
- <child>
- <widget class="GtkImageMenuItem" id="borrar1">
- <property name="label">gtk-delete</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="on_remove_activate"/>
- </widget>
+ </object>
</child>
- </widget>
-</glade-interface>
+ </object>
+</interface>
diff --git a/glade/selecttrackdialog.glade b/glade/selecttrackdialog.ui
similarity index 79%
rename from glade/selecttrackdialog.glade
rename to glade/selecttrackdialog.ui
index b71b9bd..1a70988 100644
--- a/glade/selecttrackdialog.glade
+++ b/glade/selecttrackdialog.ui
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<glade-interface>
- <widget class="GtkWindow" id="selecttrackdialog">
+<interface>
+ <object class="GtkWindow" id="selecttrackdialog">
<property name="width_request">350</property>
<property name="height_request">235</property>
<property name="visible">True</property>
@@ -9,47 +9,47 @@
<property name="skip_taskbar_hint">True</property>
<property name="skip_pager_hint">True</property>
<child>
- <widget class="GtkVBox" id="vbox23">
+ <object class="GtkVBox" id="vbox23">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
- <widget class="GtkScrolledWindow" id="trkpTreeViewl">
+ <object class="GtkScrolledWindow" id="trkpTreeViewl">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkTreeView" id="trkpTreeView">
+ <object class="GtkTreeView" id="trkpTreeView">
<property name="visible">True</property>
<property name="can_focus">True</property>
- </widget>
+ </object>
</child>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox45">
+ <object class="GtkHBox" id="hbox45">
<property name="visible">True</property>
<property name="border_width">3</property>
<property name="spacing">5</property>
<child>
- <widget class="GtkLabel" id="label-2147483648">
+ <object class="GtkLabel" id="label-2147483648">
<property name="visible">True</property>
- </widget>
+ </object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button41">
+ <object class="GtkButton" id="button41">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_cancel_clicked"/>
- </widget>
+ <signal handler="on_cancel_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -57,28 +57,28 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button40">
+ <object class="GtkButton" id="button40">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_ok_clicked"/>
- </widget>
+ <signal handler="on_ok_clicked" name="clicked"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- </widget>
-</glade-interface>
+ </object>
+</interface>
diff --git a/glade/warning.glade b/glade/warning.glade
deleted file mode 100644
index 36c6de9..0000000
--- a/glade/warning.glade
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0"?>
-<glade-interface>
- <!-- interface-requires gtk+ 2.6 -->
- <!-- interface-naming-policy toplevel-contextual -->
- <widget class="GtkDialog" id="warning">
- <property name="visible">True</property>
- <property name="title" translatable="yes">Warning</property>
- <property name="resizable">False</property>
- <property name="modal">True</property>
- <property name="window_position">mouse</property>
- <property name="icon">logo_mini.png</property>
- <property name="type_hint">dialog</property>
- <signal name="destroy" handler="gtk_main_quit"/>
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox2">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <child>
- <widget class="GtkHBox" id="hbox28">
- <property name="visible">True</property>
- <child>
- <widget class="GtkImage" id="image14">
- <property name="visible">True</property>
- <property name="pixel_size">46</property>
- <property name="icon_name">gtk-dialog-warning</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="warningText">
- <property name="visible">True</property>
- <property name="xpad">5</property>
- <property name="ypad">5</property>
- <property name="label" translatable="yes">Warning</property>
- <property name="use_markup">True</property>
- <property name="wrap">True</property>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
- </child>
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area2">
- <property name="visible">True</property>
- <property name="layout_style">end</property>
- <child>
- <widget class="GtkButton" id="cancelbutton1">
- <property name="label">gtk-cancel</property>
- <property name="response_id">-6</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="on_cancel_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="okbutton1">
- <property name="label">gtk-ok</property>
- <property name="response_id">-5</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="on_accept_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
-</glade-interface>
diff --git a/imports/file_garminfit.py b/imports/file_garminfit.py
index b88cb93..0505177 100644
--- a/imports/file_garminfit.py
+++ b/imports/file_garminfit.py
@@ -6,7 +6,7 @@ import os
import traceback
import subprocess
from lxml import etree
-from pytrainer.lib.date import Date
+from pytrainer.lib.date import getDateTime
from pytrainer.lib.xmlUtils import XMLParser
class garminfit():
@@ -69,7 +69,7 @@ class garminfit():
#Try again without the last point (i.e work from end until find time and distance)
points = points[:-1]
continue
- duration_hhmmss = self.getDateTime(time)[0]-startTime[0]
+ duration_hhmmss = getDateTime(time)[0]-startTime[0]
logging.debug("Activity distance (m): %s | duration (hh:mm:ss): %s" % (distance, duration_hhmmss))
logging.debug("<<")
return float(distance), duration_hhmmss
@@ -94,7 +94,7 @@ class garminfit():
def buildActivitiesSummary(self):
self.activities = self.getActivities()
for activity in self.activities:
- startTime = self.getDateTime(self.getStartTimeFromActivity(activity))
+ startTime = getDateTime(self.getStartTimeFromActivity(activity))
inDatabase = self.inDatabase(startTime)
sport = self.getSport(activity)
distance, duration = self.getDetails(activity, startTime)
@@ -158,9 +158,6 @@ class garminfit():
else:
return timeElement.text
- def getDateTime(self, time_):
- return Date().getDateTime(time_)
-
def getGPXFile(self, ID, file_id):
"""
Generate GPX file based on activity ID
diff --git a/imports/file_garmintcxv1.py b/imports/file_garmintcxv1.py
index 93bd6b3..0b9c425 100644
--- a/imports/file_garmintcxv1.py
+++ b/imports/file_garmintcxv1.py
@@ -22,7 +22,7 @@ import os
from lxml import etree
from pytrainer.lib.xmlUtils import XMLParser
-from pytrainer.lib.date import Date
+from pytrainer.lib.date import getDateTime
class garmintcxv1():
def __init__(self, parent = None, data_path = None):
@@ -59,7 +59,7 @@ class garmintcxv1():
#Try again without the last point (i.e work from end until find time)
points = points[:-1]
continue
- return self.getDateTime(time)[0]-startTime[0]
+ return getDateTime(time)[0]-startTime[0]
def testFile(self, filename):
logging.debug('>>')
@@ -78,7 +78,7 @@ class garmintcxv1():
for (sport, activities) in self.activities:
logging.debug("Found %d tracks for %s sport in %s" % (len(activities), sport, filename))
for activity in activities:
- startTime = self.getDateTime(self.getStartTimeFromActivity(activity))
+ startTime = getDateTime(self.getStartTimeFromActivity(activity))
inDatabase = self.inDatabase(activity, startTime)
duration = self.getDetails(activity, startTime)
distance = ""
@@ -129,9 +129,6 @@ class garmintcxv1():
else:
return timeElement.text
- def getDateTime(self, time_):
- return Date().getDateTime(time_)
-
def getGPXFile(self, ID, file_id):
"""
Generate GPX file based on activity ID
diff --git a/imports/file_garmintcxv2.py b/imports/file_garmintcxv2.py
index f626daa..04efd17 100644
--- a/imports/file_garmintcxv2.py
+++ b/imports/file_garmintcxv2.py
@@ -21,7 +21,7 @@ import logging
import os
import traceback
from lxml import etree
-from pytrainer.lib.date import Date
+from pytrainer.lib.date import getDateTime
from pytrainer.lib.xmlUtils import XMLParser
@@ -82,7 +82,7 @@ class garmintcxv2():
#Try again without the last point (i.e work from end until find time and distance)
points = points[:-1]
continue
- duration_hhmmss = self.getDateTime(time)[0]-startTime[0]
+ duration_hhmmss = getDateTime(time)[0]-startTime[0]
logging.debug("Activity distance (m): %f | duration (hh:mm:ss): %s" % (distance, duration_hhmmss))
logging.debug("<<")
return float(distance), duration_hhmmss
@@ -98,7 +98,7 @@ class garmintcxv2():
logging.debug(">>")
self.activities = self.getActivities()
for activity in self.activities:
- startTime = self.getDateTime(self.getStartTimeFromActivity(activity))
+ startTime = getDateTime(self.getStartTimeFromActivity(activity))
inDatabase = self.inDatabase(startTime)
sport = self.getSport(activity)
distance, duration = self.getDetails(activity, startTime)
@@ -169,9 +169,6 @@ class garmintcxv2():
else:
return timeElement.text
- def getDateTime(self, time_):
- return Date().getDateTime(time_)
-
def getGPXFile(self, ID, file_id):
""" Generate GPX file based on activity ID
Returns (sport, GPX filename)
diff --git a/imports/file_garmintools.py b/imports/file_garmintools.py
index 7643916..fd774af 100644
--- a/imports/file_garmintools.py
+++ b/imports/file_garmintools.py
@@ -24,7 +24,7 @@ import logging
import os
import StringIO
from lxml import etree
-from pytrainer.lib.date import Date
+from pytrainer.lib.date import getDateTime
class garmintools():
def __init__(self, parent = None, data_path = None):
@@ -63,7 +63,7 @@ class garmintools():
if (xmlschema.validate(xmldoc)):
#Valid garmintools file
self.xmldoc = xmldoc
- startTime = self.getDateTime(self.startTimeFromFile(xmldoc))
+ startTime = getDateTime(self.startTimeFromFile(xmldoc))
indatabase = self.inDatabase(xmldoc, startTime)
sport = self.getSport(xmldoc)
distance, duration = self.getDetails(xmldoc, startTime)
@@ -81,9 +81,6 @@ class garmintools():
return False
return False
- def getDateTime(self, time_):
- return Date().getDateTime(time_)
-
def inDatabase(self, tree, startTime):
#comparing date and start time (sport may have been changed in DB after import)
time = startTime
@@ -110,7 +107,7 @@ class garmintools():
except:
points = points[:-1]
continue
- return float(distance), self.getDateTime(time)[0]-startTime[0]
+ return float(distance), getDateTime(time)[0]-startTime[0]
def getSport(self, tree):
#return sport from file
diff --git a/imports/file_gpxplus.py b/imports/file_gpxplus.py
index f88ca95..f4c0084 100644
--- a/imports/file_gpxplus.py
+++ b/imports/file_gpxplus.py
@@ -19,9 +19,9 @@
import logging
import os
-#import StringIO
+import traceback
from lxml import etree
-from pytrainer.lib.date import Date
+from pytrainer.lib.date import getDateTime
class gpxplus():
def __init__(self, parent = None, data_path = None):
@@ -56,7 +56,7 @@ class gpxplus():
if (xmlschema.validate(xmldoc)):
#Valid gpx file
self.xmldoc = xmldoc
- startTime = self.getDateTime(self.startTimeFromFile(xmldoc))
+ startTime = getDateTime(self.startTimeFromFile(xmldoc))
indatabase = self.inDatabase(xmldoc, startTime)
sport = self.getSport(xmldoc)
duration = self.getDetails(xmldoc, startTime)
@@ -75,9 +75,6 @@ class gpxplus():
return False
return False
- def getDateTime(self, time_):
- return Date().getDateTime(time_)
-
def inDatabase(self, tree, startTime):
#comparing date and start time (sport may have been changed in DB after import)
time = startTime
@@ -94,7 +91,7 @@ class gpxplus():
#Get all times from file
times = root.findall(".//{http://www.topografix.com/GPX/1/1}time")
time = times[-1].text
- return self.getDateTime(time)[0]-startTime[0]
+ return getDateTime(time)[0]-startTime[0]
def getSport(self, tree):
#No sport in GPX file
diff --git a/imports/file_gpxplusNokia.py b/imports/file_gpxplusNokia.py
index affa6a0..87acc8a 100644
--- a/imports/file_gpxplusNokia.py
+++ b/imports/file_gpxplusNokia.py
@@ -21,7 +21,7 @@ import logging
import os
#import StringIO
from lxml import etree
-from pytrainer.lib.date import Date
+from pytrainer.lib.date import getDateTime
class gpxplusNokia():
def __init__(self, parent = None, data_path = None):
@@ -56,7 +56,7 @@ class gpxplusNokia():
if (xmlschema.validate(xmldoc)):
#Valid gpx file
self.xmldoc = xmldoc
- startTime = self.getDateTime(self.startTimeFromFile(xmldoc))
+ startTime = getDateTime(self.startTimeFromFile(xmldoc))
indatabase = self.inDatabase(xmldoc, startTime)
sport = self.getSport(xmldoc)
duration = self.getDetails(xmldoc, startTime)
@@ -74,9 +74,6 @@ class gpxplusNokia():
return False
return False
- def getDateTime(self, time_):
- return Date().getDateTime(time_)
-
def inDatabase(self, tree, startTime):
#comparing date and start time (sport may have been changed in DB after import)
time = startTime
@@ -93,7 +90,7 @@ class gpxplusNokia():
#Get all times from file
times = root.findall(".//{http://www.topografix.com/GPX/1/1}time")
time = times[-1].text
- return self.getDateTime(time)[0]-startTime[0]
+ return getDateTime(time)[0]-startTime[0]
def getSport(self, tree):
#No sport in GPX file
diff --git a/imports/file_kml20.py b/imports/file_kml20.py
index 9112e2b..0a3c24e 100644
--- a/imports/file_kml20.py
+++ b/imports/file_kml20.py
@@ -25,8 +25,6 @@ from dateutil.tz import *
from StringIO import StringIO
from lxml import etree
-from pytrainer.lib.date import Date
-
class kml20():
def __init__(self, parent = None, data_path = None):
self.parent = parent
@@ -110,9 +108,6 @@ class kml20():
last_lat = tmp_lat
last_lon = tmp_lon
return round(total_dist, 2)
-
- def getDateTime(self, time_):
- return Date().getDateTime(time_)
def getGPXFile(self, ID, file_id):
'''
diff --git a/imports/tool_gant.py b/imports/tool_gant.py
index 56bb2d5..10e9e90 100644
--- a/imports/tool_gant.py
+++ b/imports/tool_gant.py
@@ -21,9 +21,6 @@ import logging
import os, sys, commands
import StringIO
from lxml import etree
-import dateutil.parser
-from dateutil.tz import * # for tzutc()
-
class gant():
def __init__(self, parent = None, data_path = None):
@@ -56,18 +53,3 @@ class gant():
return True
else:
return False
-
- def getDateTime(self, time_):
- # Time can be in multiple formats
- # - zulu 2009-12-15T09:00Z
- # - local ISO8601 2009-12-15T10:00+01:00
- if time_ is None or time_ == "":
- return (None, None)
- dateTime = dateutil.parser.parse(time_)
- timezone = dateTime.tzname()
- if timezone == 'UTC': #got a zulu time
- local_dateTime = dateTime.astimezone(tzlocal()) #datetime with localtime offset (from OS)
- else:
- local_dateTime = dateTime #use datetime as supplied
- utc_dateTime = dateTime.astimezone(tzutc()) #datetime with 00:00 offset
- return (utc_dateTime,local_dateTime)
diff --git a/imports/tool_garmintools.py b/imports/tool_garmintools.py
index 2dc1e18..67ca15d 100644
--- a/imports/tool_garmintools.py
+++ b/imports/tool_garmintools.py
@@ -21,9 +21,6 @@ import logging
import os, sys, commands
import StringIO
from lxml import etree
-import dateutil.parser
-from dateutil.tz import * # for tzutc()
-
class garmintools():
def __init__(self, parent = None, data_path = None):
@@ -59,18 +56,3 @@ class garmintools():
return True
else:
return False
-
- def getDateTime(self, time_):
- # Time can be in multiple formats
- # - zulu 2009-12-15T09:00Z
- # - local ISO8601 2009-12-15T10:00+01:00
- if time_ is None or time_ == "":
- return (None, None)
- dateTime = dateutil.parser.parse(time_)
- timezone = dateTime.tzname()
- if timezone == 'UTC': #got a zulu time
- local_dateTime = dateTime.astimezone(tzlocal()) #datetime with localtime offset (from OS)
- else:
- local_dateTime = dateTime #use datetime as supplied
- utc_dateTime = dateTime.astimezone(tzutc()) #datetime with 00:00 offset
- return (utc_dateTime,local_dateTime)
diff --git a/imports/tool_gpsbabel.py b/imports/tool_gpsbabel.py
index 404863c..4db6290 100644
--- a/imports/tool_gpsbabel.py
+++ b/imports/tool_gpsbabel.py
@@ -21,9 +21,6 @@ import logging
import os, sys, commands
import StringIO
from lxml import etree
-import dateutil.parser
-from dateutil.tz import * # for tzutc()
-
class gpsbabel():
def __init__(self, parent = None, data_path = None):
@@ -66,18 +63,3 @@ class gpsbabel():
return True
else:
return False
-
- def getDateTime(self, time_):
- # Time can be in multiple formats
- # - zulu 2009-12-15T09:00Z
- # - local ISO8601 2009-12-15T10:00+01:00
- if time_ is None or time_ == "":
- return (None, None)
- dateTime = dateutil.parser.parse(time_)
- timezone = dateTime.tzname()
- if timezone == 'UTC': #got a zulu time
- local_dateTime = dateTime.astimezone(tzlocal()) #datetime with localtime offset (from OS)
- else:
- local_dateTime = dateTime #use datetime as supplied
- utc_dateTime = dateTime.astimezone(tzutc()) #datetime with 00:00 offset
- return (utc_dateTime,local_dateTime)
diff --git a/locale/ca/LC_MESSAGES/pytrainer.mo b/locale/ca/LC_MESSAGES/pytrainer.mo
index 1e20f42..d4ef58c 100644
Binary files a/locale/ca/LC_MESSAGES/pytrainer.mo and b/locale/ca/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/ca/LC_MESSAGES/pytrainer_ca.po b/locale/ca/LC_MESSAGES/pytrainer_ca.po
index 518c03f..c36c6eb 100644
--- a/locale/ca/LC_MESSAGES/pytrainer_ca.po
+++ b/locale/ca/LC_MESSAGES/pytrainer_ca.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pytrainer_ca\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2006-10-23 11:49+0200\n"
"Last-Translator: Eloi Crespillo Itchart <eloi at ikuszen.com>\n"
"Language-Team: es_ES <es at li.org>\n"
@@ -20,343 +20,335 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr ""
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
#, fuzzy
msgid "<b>Equipment List</b>"
msgstr "<b>Llista d'esports:</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
msgid "Description"
msgstr ""
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr ""
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr ""
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr ""
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr ""
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
#, fuzzy
msgid "<b>Add New Equipment</b>"
msgstr "<b>Afegeix un nou esport</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
#, fuzzy
msgid "<b>Edit Equipment</b>"
msgstr "<b>Editar esport</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr ""
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
#, fuzzy
msgid "<b>Delete Equipment</b>"
msgstr "<b>Esborra esport</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr ""
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr ""
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr ""
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
#, fuzzy
msgid "Name:"
msgstr "Nom"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
msgid "Status:"
msgstr ""
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
msgid "Description:"
msgstr ""
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr ""
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr ""
-#: glade/importdata.glade:7 glade/importdata.glade:325
+#: glade/importdata.ui:9
+msgid "Test 1"
+msgstr ""
+
+#: glade/importdata.ui:12
+msgid "Test 2"
+msgstr ""
+
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr ""
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr " "
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
#, fuzzy
msgid "Import"
msgstr "Esport"
-#: glade/importdata.glade:36
-msgid ""
-"Test 1\n"
-"Test 2"
-msgstr ""
-
-#: glade/importdata.glade:46
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr ""
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr ""
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
#, fuzzy
msgid "<b>Tools</b>"
msgstr "<b>Llista d'esports:</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr ""
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr ""
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr ""
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr ""
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr ""
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr ""
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
#, fuzzy
msgid "<b>Select activities to import</b>"
msgstr "<b>Esborra esport</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr ""
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr ""
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
#, fuzzy
msgid "<b>Import from File</b>"
msgstr "<b>Llista d'esports:</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
#, fuzzy
msgid "<b>Plugins</b>"
msgstr "<b>Calories:</b>"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr ""
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr ""
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr ""
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr ""
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr ""
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
#, fuzzy
msgid "<b>Default to Tab</b>"
msgstr "<b>Base de dades</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr ""
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr ""
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
#, fuzzy
msgid "<b>Options</b>"
msgstr "<b>Llista d'esports:</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
#, fuzzy
msgid "<b>Select file to import from</b>"
msgstr "<b>Esborra esport</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr ""
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr ""
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr ""
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr ""
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
#, fuzzy
msgid "<b>File delimiter</b>"
msgstr "<b>Temps:</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Data"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr ""
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
#, fuzzy
msgid "Distance (km)"
msgstr "Distància (km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr ""
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr ""
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
#, fuzzy
msgid "<b>File Column</b>"
msgstr "<b>Comentaris</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Títol"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr ""
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
msgid "Accent (m)"
msgstr ""
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
#, fuzzy
msgid "Calories (kcal)"
msgstr "Calories"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
#, fuzzy
msgid "Max Speed (km/h)"
msgstr "mitjana (km/h)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
#, fuzzy
msgid "Average Speed (km/h)"
msgstr "mitjana (km/h)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Esport"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
msgid "Pace (min/km)"
msgstr ""
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr ""
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
#, fuzzy
msgid "Comments"
msgstr "<b>Comentaris</b>"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr ""
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr " "
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
#, fuzzy
msgid "<b>Map Columns</b>"
msgstr "<b>Comentaris</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -365,1825 +357,1847 @@ msgid ""
"4) Click 'Import Data'</small>"
msgstr ""
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr ""
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
#, fuzzy
msgid "<b>Import from CSV</b>"
msgstr "<b>Llista d'esports:</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Nova Entrada"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
#, fuzzy
msgid "Title:"
msgstr "Títol"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
msgid "GPX File:"
msgstr ""
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
#, fuzzy
msgid "Calculate Values"
msgstr "Calcular temps"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
#, fuzzy
msgid "Sport:"
msgstr "Esport"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
#, fuzzy
msgid "<b>Main</b>"
msgstr "<b>Mes:</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
#, fuzzy
msgid "Distance (Km):"
msgstr "Distància (km)"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
#, fuzzy
msgid "Calculate"
msgstr "Calcular temps"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr ""
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
#, fuzzy
msgid "Date:"
msgstr "Data"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr ""
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr ""
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
#, fuzzy
msgid "<b>General</b>"
msgstr "<b>Any:</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
#, fuzzy
msgid "Max (km/h):"
msgstr "mitjana (km/h)"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "mitjana (km/h)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
#, fuzzy
msgid "<b>Speed</b>"
msgstr "<b>Temps:</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
#, fuzzy
msgid "Quick Entry"
msgstr "Nova Entrada"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr ""
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr ""
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
#, fuzzy
msgid "<b>Pace</b>"
msgstr "<b>Data:</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr ""
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr ""
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
msgid "<b>Accumulated Altitude Change</b>"
msgstr ""
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr ""
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr ""
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Calories"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
msgstr ""
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
#, fuzzy
msgid "<b>Heart Rate</b>"
msgstr "<b>Mitjana pulsacions:</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr ""
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Comentaris</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr ""
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr ""
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr ""
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
#, fuzzy
msgid "<b>Plugin Details</b>"
msgstr "<b>Base de dades</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr ""
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
#, fuzzy
msgid "nameEntry"
msgstr "Nova Entrada"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr ""
+
+#: glade/profile.ui:12
+msgid "Warning"
+msgstr ""
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr ""
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr ""
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr ""
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr ""
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "Nova Entrada"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Llista d'esports:</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr ""
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr ""
-#: glade/profile.glade:140
+#: glade/profile.ui:231
#, fuzzy
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Esborra esport</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
#, fuzzy
msgid "Database type:"
msgstr "Tipus de base de dades"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
#, fuzzy
msgid "Database host:"
msgstr "Servidor base de dades"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
#, fuzzy
msgid "Database name:"
msgstr "Nom base de dades"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
#, fuzzy
msgid "Database user:"
msgstr "Usuari base de dades"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
#, fuzzy
msgid "Database pass:"
msgstr "Clau base de dades"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Base de dades</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr ""
-#: glade/profile.glade:369
+#: glade/profile.ui:447
#, fuzzy
msgid "User name:"
msgstr "Nou nom"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
#, fuzzy
msgid "Gender:"
msgstr "Gènere"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
#, fuzzy
msgid "Height:"
msgstr "Alçada"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr ""
-#: glade/profile.glade:520
+#: glade/profile.ui:599
#, fuzzy
msgid "Weight:"
msgstr "Pes"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
#, fuzzy
msgid "<b>Athlete Details</b>"
msgstr "<b>Esborra esport</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
#, fuzzy
msgid "Athlete"
msgstr "esborrar"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
#, fuzzy
msgid "<b>Sport List</b>"
msgstr "<b>Llista d'esports:</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr "Llista"
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr ""
-#: glade/profile.glade:766
+#: glade/profile.ui:834
#, fuzzy
msgid "Extra Weight:"
msgstr "Pes"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr ""
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
#, fuzzy
msgid "<b>Add New Sport</b>"
msgstr "<b>Afegeix un nou esport</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "nou"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
msgstr ""
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
#, fuzzy
msgid "<b>Delete Sport</b>"
msgstr "<b>Esborra esport</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "esborrar"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Nom"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr ""
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
#, fuzzy
msgid "Extra Weight"
msgstr "Pes"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr ""
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr ""
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
#, fuzzy
msgid "<b>Edit Sport</b>"
msgstr "<b>Editar esport</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
#, fuzzy
msgid "<b>lalaal</b>"
msgstr "<b>Base de dades</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "editar"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Esports"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr ""
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr ""
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
msgstr ""
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
msgstr ""
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr ""
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr ""
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr ""
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
#, fuzzy
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Pulsacions:</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr ""
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr ""
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr ""
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr ""
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
msgstr ""
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr ""
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
"instance of pytrainer, they will not be remembered next time though</small>"
msgstr ""
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr ""
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Distancia"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Temps"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "mitjanes mensuals"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "mitjanes diàries"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+#, fuzzy
+msgid "All Distances"
+msgstr "Distancia"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+#, fuzzy
+msgid "All Durations"
+msgstr "Tot els esports"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Temps"
+
+#: glade/pytrainer.ui:219
+msgid "Last 4 weeks"
+msgstr ""
+
+#: glade/pytrainer.ui:222
+msgid "Last 6 months"
+msgstr ""
+
+#: glade/pytrainer.ui:225
+msgid "Last 12 months"
+msgstr ""
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Tot els esports"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+#, fuzzy
+msgid "Profile"
+msgstr "Perfil"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr ""
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr ""
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr ""
+
+#: glade/pytrainer.ui:279
+msgid "Percentage"
+msgstr ""
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr ""
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "<b>Mitjana pulsacions:</b>"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+#, fuzzy
+msgid "Stage Profile"
+msgstr "Perfil"
+
+#: glade/pytrainer.ui:339
+msgid "Stage Velocity"
+msgstr ""
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Perfil"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Arxiu "
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
#, fuzzy
msgid "_Import"
msgstr "Esport"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
#, fuzzy
msgid "_Export as Text Separated by Commas"
msgstr "_Exportar com a text delimitat per comes"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
#, fuzzy
msgid "_Edit"
msgstr "_Editar"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Veure"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
#, fuzzy
msgid " _Classic View"
msgstr "_Vista clàssica"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
#, fuzzy
msgid " _List View"
msgstr "_Vista de llista "
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
msgid " _Waypoints Editor"
msgstr ""
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr ""
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
msgid "GPS Device Plugins"
msgstr ""
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Ajuda "
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Tot els esports"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr ""
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
#, fuzzy
msgid "<b>Sport:</b>"
msgstr "<b>Llista d'esports:</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
#, fuzzy
msgid "<b>Duration:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
#, fuzzy
msgid "<b>Speed:</b>"
msgstr "<b>Temps:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
#, fuzzy
msgid "<b>Pace:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
#, fuzzy
msgid "<b>Ascent:</b>"
msgstr "<b>Pulsacions:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
#, fuzzy
msgid "<b>Calories:</b>"
msgstr "<b>Calories:</b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
#, fuzzy
msgid "<b>Comments:</b>"
msgstr "<b>Comentaris</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
msgid "<b>Date:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Distància:</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
#, fuzzy
msgid "<b>Max Speed</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
#, fuzzy
msgid "<b>Max Pace:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
#, fuzzy
msgid "<b>Descent:</b>"
msgstr "<b>Distància:</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "Cal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "Km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/h"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
#, fuzzy
msgid "<b>Equipment:</b>"
msgstr "<b>Temps:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
#, fuzzy
msgid "<b>Active / Rest:</b>"
msgstr "<b>Mitjana:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr ""
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
#, fuzzy
msgid "<b>Laps</b>"
msgstr "<b>Pulsacions:</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
#, fuzzy
msgid " <b>Title:</b>"
msgstr "<b>Temps:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
msgid "Show graph display options"
msgstr ""
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr ""
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr ""
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr ""
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr ""
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr ""
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr ""
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr ""
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr ""
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr ""
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr ""
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr ""
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
#, fuzzy
msgid "<small>Distance</small>"
msgstr "<b>Distància:</b>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr ""
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr ""
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr ""
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr ""
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr ""
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr ""
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
msgid "<b>Beats:</b>"
msgstr "<b>Pulsacions:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Calories:</b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
#, fuzzy
msgid "<b>Max Beats:</b>"
msgstr "<b>Pulsacions:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
#, fuzzy
msgid "<b>HR Zones Method:</b>"
msgstr "<b>Mes:</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
#, fuzzy
msgid "<b>HR Zone5:</b>"
msgstr "<b>Mes:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr ""
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr ""
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
#, fuzzy
msgid "<b>HR Zone4:</b>"
msgstr "<b>Mes:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
#, fuzzy
msgid "<b>HR Zone3:</b>"
msgstr "<b>Mes:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
#, fuzzy
msgid "<b>HR Zone2:</b>"
msgstr "<b>Mes:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
#, fuzzy
msgid "<b>HR Zone1:</b>"
msgstr "<b>Mes:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "ppm"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
#, fuzzy
msgid " <b>Heart Rate:</b>"
msgstr "<b>Mitjana pulsacions:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
#, fuzzy
msgid "<b>Projected times</b>"
msgstr "<b>Llista d'esports:</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
#, fuzzy
msgid "<b>Range:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
#, fuzzy
msgid "<b>Rank:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
#, fuzzy
msgid "<b>Speed: </b>"
msgstr "<b>Temps:</b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
#, fuzzy
msgid "<b>Avg speed:</b>"
msgstr "<b>Mitjana:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
msgid "<b>Standard deviation:</b>"
msgstr ""
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
#, fuzzy
msgid "<b>Deviation:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
#, fuzzy
msgid "<b>Ranking</b>"
msgstr "<b>Mitjana:</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
#, fuzzy
msgid "<b>Analytics:</b>"
msgstr "<b>Pulsacions:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
#, fuzzy
msgid "Record"
msgstr "Editar Registre"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
#, fuzzy
msgid "<b>Max Speed:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Mitjana pulsacions:</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr ""
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
#, fuzzy
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Distància:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
#, fuzzy
msgid "m"
msgstr "Km"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
#, fuzzy
msgid " <b>Date:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Valor"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Dia"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
#, fuzzy
msgid " <b>Week:</b>"
msgstr "<b>Temps:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-#, fuzzy
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Kilòmetres\n"
-"Temps\n"
-"Pulsacions\n"
-"Mitjana\n"
-"Calories"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-#, fuzzy
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Kilòmetres\n"
-"Temps\n"
-"Pulsacions\n"
-"Mitjana\n"
-"Calories"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr ""
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
#, fuzzy
msgid " <b>Month:</b>"
msgstr "<b>Mes:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Mes"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
#, fuzzy
msgid " <b>Year:</b>"
msgstr "<b>Any:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "Any"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
#, fuzzy
msgid "<b>Graph</b>"
msgstr "<b>Mitjana:</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
#, fuzzy
msgid "<b>History</b>"
msgstr "<b>Editar esport</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
#, fuzzy
msgid "<b>Sports</b>"
msgstr "<b>Llista d'esports:</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
#, fuzzy
msgid "Total distance:"
msgstr "Distancia"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr ""
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr ""
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr ""
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
#, fuzzy
msgid "<b>All</b>"
msgstr "<b>Mitjana:</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr ""
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
#, fuzzy
msgid "<b>Title:</b>"
msgstr "<b>Temps:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
#, fuzzy
msgid "Search"
msgstr "Març"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-#, fuzzy
-msgid "All Distances"
-msgstr "Distancia"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-#, fuzzy
-msgid "All Durations"
-msgstr "Tot els esports"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr ""
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr ""
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
msgid "Latitude: "
msgstr ""
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
#, fuzzy
msgid " Name:"
msgstr "Nom"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
msgid "Longitude:"
msgstr ""
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
#, fuzzy
msgid "<b> Waypoint: </b>"
msgstr "<b>Mes:</b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Editar Registre"
-
-#: glade/pytrainer.glade:6822
-#, fuzzy
-msgid "Show graph in classic view"
-msgstr "Mostrar en vista clàssica"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
-msgstr ""
-
-#: glade/selecttrackdialog.glade:7
+#: glade/selecttrackdialog.ui:7
msgid "Select track record"
msgstr ""
-#: glade/warning.glade:7 glade/warning.glade:38
-msgid "Warning"
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
+#: extensions/gpx2garmin/gpx2garmin.py:50
+msgid "gpx2garmin Extension"
msgstr ""
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "id"
-
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
msgstr ""
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Distancia"
-
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Temps"
-
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
msgstr ""
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
msgstr ""
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Pes"
-
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
msgstr ""
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
msgstr ""
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
msgstr ""
-#: pytrainer/gui/windowmain.py:141
-#, fuzzy
-msgid "Records"
-msgstr "Editar Registre"
-
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
msgstr ""
-#: pytrainer/gui/windowmain.py:143
-#, fuzzy
-msgid "Total distance"
-msgstr "Distancia"
-
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
msgstr ""
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
msgstr ""
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
msgstr ""
-#: pytrainer/gui/windowmain.py:149
-#, fuzzy
-msgid "Max distance"
-msgstr "Distancia"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr ""
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
msgstr ""
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
msgstr ""
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
msgstr ""
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
+#: imports/tool_gant.py:34
+msgid "Gant"
msgstr ""
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
msgstr ""
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
msgstr ""
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:320
-#, fuzzy
-msgid "d"
-msgstr "id"
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
+#: imports/file_gpxplus.py:41
+msgid "GPS eXchange file"
msgstr ""
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
msgstr ""
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
msgstr ""
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
+#: pytrainer/core/activity.py:480
+msgid "%"
msgstr ""
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
+#: pytrainer/core/activity.py:489
#, fuzzy
-msgid "km"
-msgstr "km/h"
+msgid "rpm"
+msgstr "ppm"
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
msgstr ""
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-#, fuzzy
-msgid "Average"
-msgstr "mitjana (km/h)"
-
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
+msgid "h"
msgstr ""
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
-msgid "h"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
msgstr ""
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-#, fuzzy
-msgid "Edit Entry"
-msgstr "Nova Entrada"
-
-#: pytrainer/gui/windowmain.py:2188
-#, fuzzy
-msgid "Delete Entry"
-msgstr "Nova Entrada"
-
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
msgstr ""
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
msgstr ""
-#: pytrainer/gui/windowmain.py:2229
-#, fuzzy
-msgid "<b>Date</b>"
-msgstr "<b>Data:</b>"
-
-#: pytrainer/gui/windowmain.py:2245
-#, fuzzy
-msgid "<b>Weight</b>"
-msgstr "<b>Pulsacions:</b>"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Editar Registre"
-#: pytrainer/gui/windowmain.py:2253
+#: pytrainer/gui/popupmenu.py:31
#, fuzzy
-msgid "<b>Body Fat</b>"
-msgstr "<b>Pulsacions:</b>"
+msgid "Show graph in classic view"
+msgstr "Mostrar en vista clàssica"
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
msgstr ""
-#: pytrainer/gui/windowmain.py:2269
-#, fuzzy
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Mitjana pulsacions:</b>"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
msgstr ""
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
msgid "Disabled"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
msgid "GPS device found"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
#, fuzzy
msgid "File"
msgstr "_Arxiu "
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Start Time"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Duration"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
msgid "Got file: "
msgstr ""
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, python-format
msgid "Column %d"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
msgstr ""
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
-msgstr ""
-
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
-msgstr ""
-
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
-#, fuzzy
-msgid "Max"
-msgstr "Maig"
-
-#: pytrainer/gui/windowrecord.py:104
-#, fuzzy
-msgid "Ascent"
-msgstr "<b>Pulsacions:</b>"
-
-#: pytrainer/gui/windowrecord.py:105
-#, fuzzy
-msgid "Descent"
-msgstr "<b>Distància:</b>"
-
-#: pytrainer/gui/windowrecord.py:211
-#, fuzzy
-msgid "GPX File"
-msgstr "_Arxiu "
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "id"
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
msgstr ""
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
msgstr ""
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
msgstr ""
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
msgstr ""
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
-msgstr ""
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Pes"
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
msgstr ""
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
msgstr ""
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-#, fuzzy
-msgid "Height (m)"
-msgstr "Alçada"
-
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-#, fuzzy
-msgid "Stage Profile"
-msgstr "Perfil"
-
-#: pytrainer/recordgraph.py:136
+#: pytrainer/gui/windowmain.py:129
#, fuzzy
-msgid "Speed (Km/h)"
-msgstr "mitjana (km/h)"
+msgid "Records"
+msgstr "Editar Registre"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
-#, fuzzy
-msgid "Beats (bpm)"
-msgstr "Mitjana pulsacions (ppm)"
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
+msgstr ""
-#: pytrainer/recordgraph.py:142
+#: pytrainer/gui/windowmain.py:131
#, fuzzy
-msgid "Cadence (rpm)"
-msgstr "Distància (km)"
+msgid "Total distance"
+msgstr "Distancia"
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
msgstr ""
-#: pytrainer/recordgraph.py:144
-#, fuzzy
-msgid "Beats (%)"
-msgstr "Mitjana pulsacions (ppm)"
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr ""
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
msgstr ""
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
msgstr ""
-#: pytrainer/profile.py:115
+#: pytrainer/gui/windowmain.py:137
#, fuzzy
-msgid "Weight Control"
-msgstr "Pes"
+msgid "Max distance"
+msgstr "Distancia"
-#: pytrainer/profile.py:116
-msgid "Aerobic"
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
msgstr ""
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
msgstr ""
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
msgstr ""
-#: pytrainer/lib/listview.py:32
-#, fuzzy
-msgid "All Time"
-msgstr "Temps"
-
-#: pytrainer/lib/listview.py:32
-msgid "Last 4 Weeks"
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
msgstr ""
-#: pytrainer/lib/listview.py:33
-msgid "Last 6 Months"
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
msgstr ""
-#: pytrainer/lib/listview.py:33
-msgid "Last 12 Months"
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
msgstr ""
-#: pytrainer/lib/listview.py:36
-msgid "<1 Hour"
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
msgstr ""
-#: pytrainer/lib/listview.py:37
-msgid "1-2 Hours"
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
msgstr ""
-#: pytrainer/lib/listview.py:38
-msgid ">2 Hours"
+#: pytrainer/gui/windowmain.py:323
+#, fuzzy
+msgid "d"
+msgstr "id"
+
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
msgstr ""
-#: pytrainer/lib/gpx.py:129
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
#, fuzzy
-msgid "No Name"
-msgstr "Nom"
+msgid "Average"
+msgstr "mitjana (km/h)"
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
msgstr ""
-#: pytrainer/lib/activity.py:200
-msgid "feet"
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
msgstr ""
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
msgstr ""
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
+#, fuzzy
+msgid "Edit Entry"
+msgstr "Nova Entrada"
+
+#: pytrainer/gui/windowmain.py:2152
+#, fuzzy
+msgid "Delete Entry"
+msgstr "Nova Entrada"
+
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
msgstr ""
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
msgstr ""
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
+#: pytrainer/gui/windowmain.py:2193
+#, fuzzy
+msgid "<b>Date</b>"
+msgstr "<b>Data:</b>"
+
+#: pytrainer/gui/windowmain.py:2209
+#, fuzzy
+msgid "<b>Weight</b>"
+msgstr "<b>Pulsacions:</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+#, fuzzy
+msgid "<b>Body Fat</b>"
+msgstr "<b>Pulsacions:</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
msgstr ""
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
+#: pytrainer/gui/windowmain.py:2233
+#, fuzzy
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Mitjana pulsacions:</b>"
+
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
msgstr ""
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
msgstr ""
-#: pytrainer/lib/activity.py:455
-msgid "%"
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
+msgstr ""
+
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
+msgstr ""
+
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
msgstr ""
-#: pytrainer/lib/activity.py:464
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr ""
+
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
#, fuzzy
-msgid "rpm"
-msgstr "ppm"
+msgid "Max"
+msgstr "Maig"
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
+#: pytrainer/gui/windowrecord.py:97
+#, fuzzy
+msgid "Ascent"
+msgstr "<b>Pulsacions:</b>"
+
+#: pytrainer/gui/windowrecord.py:98
+#, fuzzy
+msgid "Descent"
+msgstr "<b>Distància:</b>"
+
+#: pytrainer/gui/windowrecord.py:204
+#, fuzzy
+msgid "GPX File"
+msgstr "_Arxiu "
+
+#: pytrainer/lib/gpx.py:128
+#, fuzzy
+msgid "No Name"
+msgstr "Nom"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
+msgstr ""
+
+#: pytrainer/lib/listview.py:32
+#, fuzzy
+msgid "All Time"
+msgstr "Temps"
+
+#: pytrainer/lib/listview.py:32
+msgid "Last 4 Weeks"
+msgstr ""
+
+#: pytrainer/lib/listview.py:33
+msgid "Last 6 Months"
+msgstr ""
+
+#: pytrainer/lib/listview.py:33
+msgid "Last 12 Months"
+msgstr ""
+
+#: pytrainer/lib/listview.py:36
+msgid "<1 Hour"
+msgstr ""
+
+#: pytrainer/lib/listview.py:37
+msgid "1-2 Hours"
+msgstr ""
+
+#: pytrainer/lib/listview.py:38
+msgid ">2 Hours"
msgstr ""
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
+#, fuzzy
+msgid "km"
+msgstr "km/h"
+
+#: pytrainer/lib/uc.py:52
#, fuzzy
msgid "mi"
msgstr "Km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr ""
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+#, fuzzy
+msgid "Height (m)"
+msgstr "Alçada"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr ""
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity"
+msgstr ""
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+#, fuzzy
+msgid "Beats (bpm)"
+msgstr "Mitjana pulsacions (ppm)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2195,8 +2209,8 @@ msgstr "Dia"
msgid "Daily Distance"
msgstr "Distancia"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
#, fuzzy
msgid "Time (hours)"
msgstr "temps en hores"
@@ -2206,8 +2220,8 @@ msgstr "temps en hores"
msgid "Daily Time"
msgstr "temps diari"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr ""
@@ -2225,41 +2239,20 @@ msgstr "mitjanes diàries"
msgid "Daily Calories"
msgstr "calories diàries"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr ""
-
-#: pytrainer/totalgraph.py:24
+#: pytrainer/recordgraph.py:136
#, fuzzy
-msgid "Annual Distance"
-msgstr "Distancia"
-
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr ""
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr ""
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr ""
+msgid "Speed (Km/h)"
+msgstr "mitjana (km/h)"
-#: pytrainer/totalgraph.py:28
+#: pytrainer/recordgraph.py:142
#, fuzzy
-msgid "Annual Calories"
-msgstr "Calories"
-
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr ""
+msgid "Cadence (rpm)"
+msgstr "Distància (km)"
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr ""
+#: pytrainer/recordgraph.py:144
+#, fuzzy
+msgid "Beats (%)"
+msgstr "Mitjana pulsacions (ppm)"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2292,122 +2285,101 @@ msgstr "mitjanes mensuals"
msgid "Monthly Calories"
msgstr "calories mensuals"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
msgstr ""
-#: pytrainer/daygraph.py:54
-msgid "Velocity"
-msgstr ""
+#: pytrainer/profile.py:140
+#, fuzzy
+msgid "Weight Control"
+msgstr "Pes"
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
msgstr ""
-#: imports/file_gpxplus.py:41
-msgid "GPS eXchange file"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
msgstr ""
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
msgstr ""
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
msgstr ""
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
msgstr ""
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
msgstr ""
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr ""
+#: pytrainer/totalgraph.py:24
+#, fuzzy
+msgid "Annual Distance"
+msgstr "Distancia"
-#: imports/tool_gant.py:37
-msgid "Gant"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
msgstr ""
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
msgstr ""
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
msgstr ""
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
-msgstr ""
+#: pytrainer/totalgraph.py:28
+#, fuzzy
+msgid "Annual Calories"
+msgstr "Calories"
-#: extensions/openstreetmap/openstreetmap.py:82
+#: pytrainer/waypoint.py:88
msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
-msgstr ""
-
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
-msgstr ""
-
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
-msgstr ""
-
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
msgstr ""
-#: extensions/gpx2garmin/gpx2garmin.py:50
-msgid "gpx2garmin Extension"
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Kilòmetres\n"
+#~ "Temps\n"
+#~ "Pulsacions\n"
+#~ "Mitjana\n"
+#~ "Calories"
#, fuzzy
-#~ msgid "<b>Start screen</b>"
-#~ msgstr "<b>Llista d'esports:</b>"
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Kilòmetres\n"
+#~ "Temps\n"
+#~ "Pulsacions\n"
+#~ "Mitjana\n"
+#~ "Calories"
#~ msgid "Km/day"
#~ msgstr "Km/dia"
diff --git a/locale/cs/LC_MESSAGES/pytrainer.mo b/locale/cs/LC_MESSAGES/pytrainer.mo
index ef759c9..b15103f 100644
Binary files a/locale/cs/LC_MESSAGES/pytrainer.mo and b/locale/cs/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/cs/LC_MESSAGES/pytrainer_cs.po b/locale/cs/LC_MESSAGES/pytrainer_cs.po
index f729f9d..a3dbd01 100644
--- a/locale/cs/LC_MESSAGES/pytrainer_cs.po
+++ b/locale/cs/LC_MESSAGES/pytrainer_cs.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: vud 1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2007-10-07 22:59+0100\n"
"Last-Translator: ZOiD <sp.pok at seznam.cz>\n"
"Language-Team: Czech <sp.pok at seznam.cz>\n"
@@ -19,347 +19,339 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr "Kalendář"
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
#, fuzzy
msgid "<b>Equipment List</b>"
msgstr "<b>Seznam sportů</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
#, fuzzy
msgid "Description"
msgstr "<b>Popis:</b>"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr ""
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr ""
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr "Aktivní"
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr ""
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
#, fuzzy
msgid "<b>Add New Equipment</b>"
msgstr "<b>Přidat nový sport</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
#, fuzzy
msgid "<b>Edit Equipment</b>"
msgstr "<b>Upravitt sport</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr ""
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
#, fuzzy
msgid "<b>Delete Equipment</b>"
msgstr "<b>Odstranit sport</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr "Rozšíření"
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr ""
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr ""
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
#, fuzzy
msgid "Name:"
msgstr "Jméno"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
#, fuzzy
msgid "Status:"
msgstr "<b>Stav:</b>"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
#, fuzzy
msgid "Description:"
msgstr "<b>Popis:</b>"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr ""
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr ""
-#: glade/importdata.glade:7 glade/importdata.glade:325
+#: glade/importdata.ui:9
+msgid "Test 1"
+msgstr ""
+
+#: glade/importdata.ui:12
+msgid "Test 2"
+msgstr ""
+
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr ""
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr " "
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
#, fuzzy
msgid "Import"
msgstr "Sport"
-#: glade/importdata.glade:36
-msgid ""
-"Test 1\n"
-"Test 2"
-msgstr ""
-
-#: glade/importdata.glade:46
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr ""
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr ""
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
#, fuzzy
msgid "<b>Tools</b>"
msgstr "<b>Název:</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr ""
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr ""
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr ""
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr ""
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr ""
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr ""
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
#, fuzzy
msgid "<b>Select activities to import</b>"
msgstr "<b>Odstranit sport</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr ""
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr ""
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
#, fuzzy
msgid "<b>Import from File</b>"
msgstr "<b>Seznam sportů</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
#, fuzzy
msgid "<b>Plugins</b>"
msgstr "Přídavné moduly"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr ""
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr ""
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr ""
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr ""
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr "Přídavné moduly"
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
#, fuzzy
msgid "<b>Default to Tab</b>"
msgstr "<b>Databáze</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr ""
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr ""
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
#, fuzzy
msgid "<b>Options</b>"
msgstr "<b>Popis:</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
#, fuzzy
msgid "<b>Select file to import from</b>"
msgstr "<b>Odstranit sport</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr ""
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr ""
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr ""
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr ""
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
#, fuzzy
msgid "<b>File delimiter</b>"
msgstr "<b>Čas:</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Datum"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr ""
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Vzdálenost (km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr ""
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr ""
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
#, fuzzy
msgid "<b>File Column</b>"
msgstr "<b>Komentáře</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Název"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr ""
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
#, fuzzy
msgid "Accent (m)"
msgstr "Výška (m)"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
#, fuzzy
msgid "Calories (kcal)"
msgstr "Kalorie"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
#, fuzzy
msgid "Max Speed (km/h)"
msgstr "Průměrná rychlost (km/h)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
#, fuzzy
msgid "Average Speed (km/h)"
msgstr "Průměrná rychlost (km/h)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Sport"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
#, fuzzy
msgid "Pace (min/km)"
msgstr "Vzdálenost (km)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr ""
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
#, fuzzy
msgid "Comments"
msgstr "<b>Komentáře</b>"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr ""
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr " "
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
#, fuzzy
msgid "<b>Map Columns</b>"
msgstr "<b>Komentáře</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -368,1710 +360,1763 @@ msgid ""
"4) Click 'Import Data'</small>"
msgstr ""
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr ""
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
#, fuzzy
msgid "<b>Import from CSV</b>"
msgstr "<b>Seznam sportů</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Nový údaj"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
#, fuzzy
msgid "Title:"
msgstr "Název"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
#, fuzzy
msgid "GPX File:"
msgstr "Soubor GPX"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Spočítat hodnoty"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
#, fuzzy
msgid "Sport:"
msgstr "Sport"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
#, fuzzy
msgid "<b>Main</b>"
msgstr " <b>Měsíc:</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
#, fuzzy
msgid "Distance (Km):"
msgstr "Vzdálenost (km)"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
#, fuzzy
msgid "Calculate"
msgstr "Spočítat čas"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr ""
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
#, fuzzy
msgid "Date:"
msgstr "Datum"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr ""
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr ""
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
#, fuzzy
msgid "<b>General</b>"
msgstr "<b>Průměrná rychlost:</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
#, fuzzy
msgid "Max (km/h):"
msgstr "Průměrná rychlost (km/h)"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Průměrná rychlost (km/h)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
#, fuzzy
msgid "<b>Speed</b>"
msgstr " <b>Druh:</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
#, fuzzy
msgid "Quick Entry"
msgstr "Nový údaj"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr ""
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr ""
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
#, fuzzy
msgid "<b>Pace</b>"
msgstr "<b>Jméno:</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr ""
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr ""
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
#, fuzzy
msgid "<b>Accumulated Altitude Change</b>"
msgstr " <b>Souhrnné převýšní:</b> "
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr ""
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr ""
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Kalorie"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
msgstr ""
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
#, fuzzy
msgid "<b>Heart Rate</b>"
msgstr "<b>Průměrný puls:</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr ""
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Komentáře</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr ""
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr ""
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr ""
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
#, fuzzy
msgid "<b>Plugin Details</b>"
msgstr "<b>Databáze</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr ""
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr ""
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr ""
+
+#: glade/profile.ui:12
+#, fuzzy
+msgid "Warning"
+msgstr "varování"
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr ""
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr ""
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr ""
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr ""
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "Nový údaj"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Stav:</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr ""
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr ""
-#: glade/profile.glade:140
+#: glade/profile.ui:231
#, fuzzy
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Odstranit sport</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
#, fuzzy
msgid "Database type:"
msgstr "Druh databáze"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
#, fuzzy
msgid "Database host:"
msgstr "Hostitel databáze"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
#, fuzzy
msgid "Database name:"
msgstr "Jméno databáze"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
#, fuzzy
msgid "Database user:"
msgstr "Uživatel databáze"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
#, fuzzy
msgid "Database pass:"
msgstr "Heslo databáze"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Databáze</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr ""
-#: glade/profile.glade:369
+#: glade/profile.ui:447
#, fuzzy
msgid "User name:"
msgstr "Nové jméno"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
#, fuzzy
msgid "Gender:"
msgstr "Pohlaví"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
#, fuzzy
msgid "Height:"
msgstr "Výška"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr ""
-#: glade/profile.glade:520
+#: glade/profile.ui:599
#, fuzzy
msgid "Weight:"
msgstr "Váha"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
#, fuzzy
msgid "<b>Athlete Details</b>"
msgstr "<b>Odstranit sport</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
#, fuzzy
msgid "Athlete"
msgstr "smazar"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
#, fuzzy
msgid "<b>Sport List</b>"
msgstr "<b>Seznam sportů</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr ""
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr ""
-#: glade/profile.glade:766
+#: glade/profile.ui:834
#, fuzzy
msgid "Extra Weight:"
msgstr "Váha"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr ""
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
#, fuzzy
msgid "<b>Add New Sport</b>"
msgstr "<b>Přidat nový sport</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "nový"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
msgstr ""
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
#, fuzzy
msgid "<b>Delete Sport</b>"
msgstr "<b>Odstranit sport</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "smazar"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Jméno"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr ""
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
#, fuzzy
msgid "Extra Weight"
msgstr "Váha"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr ""
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr ""
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
#, fuzzy
msgid "<b>Edit Sport</b>"
msgstr "<b>Upravitt sport</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
#, fuzzy
msgid "<b>lalaal</b>"
msgstr "<b>Databáze</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "upravit"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Sporty"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr ""
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr ""
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
msgstr ""
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
msgstr ""
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr ""
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr ""
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr ""
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
#, fuzzy
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Puls:</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr ""
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr ""
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr ""
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr ""
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
msgstr ""
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr ""
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
"instance of pytrainer, they will not be remembered next time though</small>"
msgstr ""
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr ""
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Vzdálenost"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Čas"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "Průměrné rychlosti v jednotlivých měsících"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "Průměrné rychlosti v jednotlivých dnech"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+#, fuzzy
+msgid "All Distances"
+msgstr "Vzdálenost"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+#, fuzzy
+msgid "All Durations"
+msgstr "Všechny sporty"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Čas"
+
+#: glade/pytrainer.ui:219
+msgid "Last 4 weeks"
+msgstr ""
+
+#: glade/pytrainer.ui:222
+msgid "Last 6 months"
+msgstr ""
+
+#: glade/pytrainer.ui:225
+msgid "Last 12 months"
+msgstr ""
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Všechny sporty"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+msgid "Profile"
+msgstr "Profil"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr ""
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr ""
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr ""
+
+#: glade/pytrainer.ui:279
+msgid "Percentage"
+msgstr ""
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr ""
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "<b>Průměrný puls:</b>"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Profil etapy"
+
+#: glade/pytrainer.ui:339
+#, fuzzy
+msgid "Stage Velocity"
+msgstr "rychlost"
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Profil etapy"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Soubor"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
#, fuzzy
msgid "_Import"
msgstr "Sport"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
#, fuzzy
msgid "_Export as Text Separated by Commas"
msgstr "_Exportovat jako text oddělený čárkami (csv)"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "_Upravit"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Zobrazit"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr " _Klasické zobrazení"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr " Jako _seznam"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
#, fuzzy
msgid " _Waypoints Editor"
msgstr " Editor _waitpointů"
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr "Nás_troje"
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
#, fuzzy
msgid "GPS Device Plugins"
msgstr "Přídavné moduly pro zařízení GPS"
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Nápověda"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Všechny sporty"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr "Sloupce"
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
#, fuzzy
msgid "<b>Sport:</b>"
msgstr "<b>Seznam sportů</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
#, fuzzy
msgid "<b>Duration:</b>"
msgstr "<b>Popis:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
#, fuzzy
msgid "<b>Speed:</b>"
msgstr " <b>Druh:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
#, fuzzy
msgid "<b>Pace:</b>"
msgstr "<b>Jméno:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
#, fuzzy
msgid "<b>Ascent:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
#, fuzzy
msgid "<b>Calories:</b>"
msgstr "<b>Kalorie: </b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "<b>Komentáře:</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
#, fuzzy
msgid "<b>Date:</b>"
msgstr " <b>Datum:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Vzdálenost:</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
#, fuzzy
msgid "<b>Max Speed</b>"
msgstr "<b>Jméno:</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
#, fuzzy
msgid "<b>Max Pace:</b>"
msgstr "<b>Jméno:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
#, fuzzy
msgid "<b>Descent:</b>"
msgstr "<b>Vzdálenost:</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "cal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/h"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
#, fuzzy
msgid "<b>Equipment:</b>"
msgstr "<b>Čas:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
#, fuzzy
msgid "<b>Active / Rest:</b>"
msgstr "<b>Průměrná rychlost:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr ""
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
#, fuzzy
msgid "<b>Laps</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
msgid " <b>Title:</b>"
msgstr " <b>Název:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
#, fuzzy
msgid "Show graph display options"
msgstr "Zobrazit graf v klasickém zobrazení"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr ""
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr ""
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr ""
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr ""
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr ""
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr ""
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr ""
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr ""
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr ""
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr ""
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr ""
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
#, fuzzy
msgid "<small>Distance</small>"
msgstr "<b>Vzdálenost:</b>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr ""
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr ""
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr ""
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr ""
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr ""
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr ""
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
msgid "<b>Beats:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Kalorie: </b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
#, fuzzy
msgid "<b>Max Beats:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
#, fuzzy
msgid "<b>HR Zones Method:</b>"
msgstr " <b>Měsíc:</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
#, fuzzy
msgid "<b>HR Zone5:</b>"
msgstr " <b>Měsíc:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr " bpm"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr " cal"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
#, fuzzy
msgid "<b>HR Zone4:</b>"
msgstr " <b>Měsíc:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
#, fuzzy
msgid "<b>HR Zone3:</b>"
msgstr " <b>Měsíc:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
#, fuzzy
msgid "<b>HR Zone2:</b>"
msgstr " <b>Měsíc:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
#, fuzzy
msgid "<b>HR Zone1:</b>"
msgstr " <b>Měsíc:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "bpm"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
#, fuzzy
msgid " <b>Heart Rate:</b>"
msgstr " <b>Datum:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
#, fuzzy
msgid "<b>Projected times</b>"
msgstr "<b>Kladné:</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
#, fuzzy
msgid "<b>Range:</b>"
msgstr "<b>Jméno:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
#, fuzzy
msgid "<b>Rank:</b>"
msgstr "<b>Jméno:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
#, fuzzy
msgid "<b>Speed: </b>"
msgstr " <b>Druh:</b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
#, fuzzy
msgid "<b>Avg speed:</b>"
msgstr "<b>Průměrná rychlost:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
#, fuzzy
msgid "<b>Standard deviation:</b>"
msgstr "<b>Popis:</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
#, fuzzy
msgid "<b>Deviation:</b>"
msgstr "<b>Popis:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
#, fuzzy
msgid "<b>Ranking</b>"
msgstr "<b> Waypoint: </b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
#, fuzzy
msgid "<b>Analytics:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
msgid "Record"
msgstr "Záznam"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
#, fuzzy
msgid "<b>Max Speed:</b>"
msgstr "<b>Jméno:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Průměrný puls:</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr ""
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
#, fuzzy
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Název:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
#, fuzzy
msgid "m"
msgstr "km"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
msgid " <b>Date:</b>"
msgstr " <b>Datum:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Hodnota"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-"Profil etapy\n"
-"Rychlost v etapě\n"
-"Profil/rychlost v etapě"
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Den"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
#, fuzzy
msgid " <b>Week:</b>"
msgstr " <b>Datum:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-#, fuzzy
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Kilometry\n"
-"Čas\n"
-"Puls\n"
-"Průměrná rychlost\n"
-"Kalorie"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-#, fuzzy
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Kilometry\n"
-"Čas\n"
-"Puls\n"
-"Průměrná rychlost\n"
-"Kalorie"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr ""
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
msgid " <b>Month:</b>"
msgstr " <b>Měsíc:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Měsíc"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
msgid " <b>Year:</b>"
msgstr " <b>Rok:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "Rok"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
#, fuzzy
msgid "<b>Graph</b>"
msgstr "<b>Průměrná rychlost:</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
#, fuzzy
msgid "<b>History</b>"
msgstr "<b>Upravitt sport</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
#, fuzzy
msgid "<b>Sports</b>"
msgstr "<b>Seznam sportů</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
#, fuzzy
msgid "Total distance:"
msgstr "Vzdálenost"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr ""
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr ""
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr ""
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
#, fuzzy
msgid "<b>All</b>"
msgstr "<b>Název:</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr ""
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
msgid "<b>Title:</b>"
msgstr "<b>Název:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Hledat"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-#, fuzzy
-msgid "All Distances"
-msgstr "Vzdálenost"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-#, fuzzy
-msgid "All Durations"
-msgstr "Všechny sporty"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr "Sloupce"
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr ""
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
#, fuzzy
msgid "Latitude: "
msgstr " <b>Šířka: </b>"
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
#, fuzzy
msgid " Name:"
msgstr "Jméno"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
#, fuzzy
msgid "Longitude:"
msgstr " <b>Výška:</b>"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
msgid "<b> Waypoint: </b>"
msgstr "<b> Waypoint: </b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Upravit záznam"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Zobrazit graf v klasickém zobrazení"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
+#: glade/selecttrackdialog.ui:7
+msgid "Select track record"
msgstr ""
-#: glade/selecttrackdialog.glade:7
-msgid "Select track record"
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
msgstr ""
-#: glade/warning.glade:7 glade/warning.glade:38
+#: extensions/gpx2garmin/gpx2garmin.py:50
#, fuzzy
-msgid "Warning"
-msgstr "varování"
+msgid "gpx2garmin Extension"
+msgstr "Rozšíření"
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
msgstr ""
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
msgstr ""
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Vzdálenost"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr ""
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Čas"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr ""
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
msgstr ""
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
msgstr ""
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
-msgstr "Waypoint"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr ""
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Váha"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr ""
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
msgstr ""
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
msgstr ""
-#: pytrainer/gui/windowmain.py:141
-#, fuzzy
-msgid "Records"
-msgstr "Záznam"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr ""
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
msgstr ""
-#: pytrainer/gui/windowmain.py:143
-#, fuzzy
-msgid "Total distance"
-msgstr "Vzdálenost"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
+msgstr ""
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
msgstr ""
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
+#: imports/tool_gant.py:34
+msgid "Gant"
msgstr ""
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
msgstr ""
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
msgstr ""
-#: pytrainer/gui/windowmain.py:149
+#: imports/file_gpxplus.py:41
#, fuzzy
-msgid "Max distance"
-msgstr "Vzdálenost"
+msgid "GPS eXchange file"
+msgstr "Soubor GPX"
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
msgstr ""
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
msgstr ""
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
+#: pytrainer/core/activity.py:480
+msgid "%"
msgstr ""
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
-msgstr ""
+#: pytrainer/core/activity.py:489
+#, fuzzy
+msgid "rpm"
+msgstr "bpm"
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
msgstr ""
-#: pytrainer/gui/windowmain.py:320
-msgid "d"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
+msgid "h"
msgstr ""
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
msgstr ""
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
msgstr ""
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
msgstr ""
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
msgstr ""
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
msgstr ""
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr ""
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Upravit záznam"
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Zobrazit graf v klasickém zobrazení"
+
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
msgstr ""
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
msgstr ""
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
+msgstr "nastavení %s"
+
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
msgstr ""
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
+#: pytrainer/gui/windowimportdata.py:96
+msgid "No file selected"
msgstr ""
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
+#: pytrainer/gui/windowimportdata.py:141
+msgid "Configure"
msgstr ""
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
+#: pytrainer/gui/windowimportdata.py:147
+msgid "Disabled"
msgstr ""
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
+#: pytrainer/gui/windowimportdata.py:149
+msgid "Enabled"
msgstr ""
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
+#: pytrainer/gui/windowimportdata.py:201
+msgid "Checking for tools"
msgstr ""
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
+#: pytrainer/gui/windowimportdata.py:228
+msgid "GPS device found"
msgstr ""
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
+#: pytrainer/gui/windowimportdata.py:231
+msgid "GPS device <b>not</b> found"
msgstr ""
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
+#: pytrainer/gui/windowimportdata.py:238
+msgid "This tool was not found on the system"
msgstr ""
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
+#: pytrainer/gui/windowimportdata.py:240
+msgid " Homepage"
msgstr ""
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
+#: pytrainer/gui/windowimportdata.py:260
+msgid "Checking file type for: "
msgstr ""
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
+#: pytrainer/gui/windowimportdata.py:293
+#, fuzzy
+msgid "File"
+msgstr "_Soubor"
+
+#: pytrainer/gui/windowimportdata.py:293
+msgid "Type"
msgstr ""
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
+#: pytrainer/gui/windowimportdata.py:293
+#, fuzzy
+msgid "Activities"
+msgstr "Aktivní"
+
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
+msgid "Start Time"
msgstr ""
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
+msgid "Duration"
msgstr ""
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
-#, fuzzy
-msgid "km"
-msgstr "km/h"
+#: pytrainer/gui/windowimportdata.py:483
+msgid "Imported into database"
+msgstr ""
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
-msgstr "Puls"
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
+msgid "Ok"
+msgstr "Ok"
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Průměrná rychlost"
+#: pytrainer/gui/windowimportdata.py:606
+msgid "Saving options"
+msgstr ""
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
+#: pytrainer/gui/windowimportdata.py:608
+msgid "Options saved"
msgstr ""
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
+#: pytrainer/gui/windowimportdata.py:634
+msgid "Importing one activity"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
-msgid "h"
+#: pytrainer/gui/windowimportdata.py:636
+#, python-format
+msgid "Importing %d activities"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
+#: pytrainer/gui/windowimportdata.py:644
+msgid "No activity has been imported"
msgstr ""
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-#, fuzzy
-msgid "Edit Entry"
-msgstr "Nový údaj"
+#: pytrainer/gui/windowimportdata.py:646
+msgid "Imported one activity"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2188
-#, fuzzy
-msgid "Delete Entry"
-msgstr "Nový údaj"
+#: pytrainer/gui/windowimportdata.py:648
+#, python-format
+msgid "Imported %d activities"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
+#: pytrainer/gui/windowimportdata.py:652
+msgid " Activity selected was already present in DB"
msgstr ""
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
+#: pytrainer/gui/windowimportdata.py:654
+#, python-format
+msgid " %d selected activities were already present in DB"
msgstr ""
-#: pytrainer/gui/windowmain.py:2229
-#, fuzzy
-msgid "<b>Date</b>"
-msgstr " <b>Datum:</b>"
+#: pytrainer/gui/windowimportdata.py:662
+msgid "Choose a file (or files) to import activities from"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2245
-#, fuzzy
-msgid "<b>Weight</b>"
-msgstr "<b>Puls:</b>"
+#: pytrainer/gui/windowimportdata.py:677
+#, python-format
+msgid "Found file of type: %s"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2253
-#, fuzzy
-msgid "<b>Body Fat</b>"
-msgstr "<b>Puls:</b>"
+#: pytrainer/gui/windowimportdata.py:702
+msgid "Found in database"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
+#: pytrainer/gui/windowimportdata.py:720
+#, python-format
+msgid "File %s is of unknown or unsupported file type"
msgstr ""
-#: pytrainer/gui/windowmain.py:2269
+#: pytrainer/gui/windowimportdata.py:757
#, fuzzy
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Průměrný puls:</b>"
+msgid "Got file: "
+msgstr "Soubor GPX"
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
-msgstr ""
+#: pytrainer/gui/windowimportdata.py:794
+#, fuzzy, python-format
+msgid "Column %d"
+msgstr "Sloupce"
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
+#: pytrainer/gui/windowimportdata.py:851
+msgid "ERROR: Must define at least a date column"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:99
-msgid "No file selected"
+#: pytrainer/gui/windowimportdata.py:983
+#, python-format
+msgid "Import completed. %d rows processed"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:144
-msgid "Configure"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:150
-msgid "Disabled"
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:152
-msgid "Enabled"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:204
-msgid "Checking for tools"
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:231
-msgid "GPS device found"
-msgstr ""
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
+msgstr "Waypoint"
-#: pytrainer/gui/windowimportdata.py:234
-msgid "GPS device <b>not</b> found"
-msgstr ""
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Váha"
-#: pytrainer/gui/windowimportdata.py:241
-msgid "This tool was not found on the system"
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:243
-msgid " Homepage"
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:263
-msgid "Checking file type for: "
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowmain.py:129
#, fuzzy
-msgid "File"
-msgstr "_Soubor"
+msgid "Records"
+msgstr "Záznam"
-#: pytrainer/gui/windowimportdata.py:296
-msgid "Type"
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowmain.py:131
#, fuzzy
-msgid "Activities"
-msgstr "Aktivní"
-
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-msgid "Start Time"
-msgstr ""
+msgid "Total distance"
+msgstr "Vzdálenost"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-msgid "Duration"
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:486
-msgid "Imported into database"
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr "nastavení %s"
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
-msgid "Ok"
-msgstr "Ok"
+#: pytrainer/gui/windowmain.py:137
+#, fuzzy
+msgid "Max distance"
+msgstr "Vzdálenost"
-#: pytrainer/gui/windowimportdata.py:609
-msgid "Saving options"
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:611
-msgid "Options saved"
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:637
-msgid "Importing one activity"
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:639
-#, python-format
-msgid "Importing %d activities"
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:647
-msgid "No activity has been imported"
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:649
-msgid "Imported one activity"
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:651
-#, python-format
-msgid "Imported %d activities"
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:655
-msgid " Activity selected was already present in DB"
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:657
-#, python-format
-msgid " %d selected activities were already present in DB"
+#: pytrainer/gui/windowmain.py:323
+msgid "d"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:665
-msgid "Choose a file (or files) to import activities from"
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:680
-#, python-format
-msgid "Found file of type: %s"
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:705
-msgid "Found in database"
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:723
-#, python-format
-msgid "File %s is of unknown or unsupported file type"
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:760
-#, fuzzy
-msgid "Got file: "
-msgstr "Soubor GPX"
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
+msgstr ""
-#: pytrainer/gui/windowimportdata.py:797
-#, fuzzy, python-format
-msgid "Column %d"
-msgstr "Sloupce"
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr ""
-#: pytrainer/gui/windowimportdata.py:854
-msgid "ERROR: Must define at least a date column"
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:986
-#, python-format
-msgid "Import completed. %d rows processed"
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
msgstr ""
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
msgstr ""
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
msgstr ""
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
-#, fuzzy
-msgid "Max"
-msgstr "Květen"
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:104
-#, fuzzy
-msgid "Ascent"
-msgstr "Výška (m)"
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:105
-#, fuzzy
-msgid "Descent"
-msgstr "<b>Vzdálenost:</b>"
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:211
-#, fuzzy
-msgid "GPX File"
-msgstr "Soubor GPX"
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr ""
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
msgstr ""
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
msgstr ""
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
msgstr ""
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
msgstr ""
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
msgstr ""
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr "Puls"
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Průměrná rychlost"
+
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
msgstr ""
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
msgstr ""
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Výška (m)"
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
+#, fuzzy
+msgid "Edit Entry"
+msgstr "Nový údaj"
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Profil etapy"
+#: pytrainer/gui/windowmain.py:2152
+#, fuzzy
+msgid "Delete Entry"
+msgstr "Nový údaj"
-#: pytrainer/recordgraph.py:136
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2193
#, fuzzy
-msgid "Speed (Km/h)"
-msgstr "Průměrná rychlost (km/h)"
+msgid "<b>Date</b>"
+msgstr " <b>Datum:</b>"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
+#: pytrainer/gui/windowmain.py:2209
#, fuzzy
-msgid "Beats (bpm)"
-msgstr "Průměrný puls (bpm)"
+msgid "<b>Weight</b>"
+msgstr "<b>Puls:</b>"
-#: pytrainer/recordgraph.py:142
+#: pytrainer/gui/windowmain.py:2217
#, fuzzy
-msgid "Cadence (rpm)"
-msgstr "Vzdálenost (km)"
+msgid "<b>Body Fat</b>"
+msgstr "<b>Puls:</b>"
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
msgstr ""
-#: pytrainer/recordgraph.py:144
+#: pytrainer/gui/windowmain.py:2233
#, fuzzy
-msgid "Beats (%)"
-msgstr "Puls"
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Průměrný puls:</b>"
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
msgstr ""
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
msgstr ""
-#: pytrainer/profile.py:115
-#, fuzzy
-msgid "Weight Control"
-msgstr "Váha"
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
+msgstr ""
-#: pytrainer/profile.py:116
-msgid "Aerobic"
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
msgstr ""
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
msgstr ""
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr ""
+
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
+#, fuzzy
+msgid "Max"
+msgstr "Květen"
+
+#: pytrainer/gui/windowrecord.py:97
+#, fuzzy
+msgid "Ascent"
+msgstr "Výška (m)"
+
+#: pytrainer/gui/windowrecord.py:98
+#, fuzzy
+msgid "Descent"
+msgstr "<b>Vzdálenost:</b>"
+
+#: pytrainer/gui/windowrecord.py:204
+#, fuzzy
+msgid "GPX File"
+msgstr "Soubor GPX"
+
+#: pytrainer/lib/gpx.py:128
+#, fuzzy
+msgid "No Name"
+msgstr "Jméno"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
msgstr ""
#: pytrainer/lib/listview.py:32
@@ -2103,86 +2148,55 @@ msgstr ""
msgid ">2 Hours"
msgstr ""
-#: pytrainer/lib/gpx.py:129
-#, fuzzy
-msgid "No Name"
-msgstr "Jméno"
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr ""
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr ""
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr ""
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr ""
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr ""
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr ""
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr ""
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr ""
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr ""
-
-#: pytrainer/lib/activity.py:464
+#: pytrainer/lib/uc.py:52
#, fuzzy
-msgid "rpm"
-msgstr "bpm"
-
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
-msgstr ""
+msgid "km"
+msgstr "km/h"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
#, fuzzy
msgid "mi"
msgstr "km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr ""
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Výška (m)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr "Rychlost (km/h)"
+
+#: pytrainer/daygraph.py:54
+#, fuzzy
+msgid "Velocity"
+msgstr "rychlost"
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+#, fuzzy
+msgid "Beats (bpm)"
+msgstr "Průměrný puls (bpm)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2194,8 +2208,8 @@ msgstr "den"
msgid "Daily Distance"
msgstr "Vzdálenost"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
#, fuzzy
msgid "Time (hours)"
msgstr "čas v hodinách"
@@ -2205,8 +2219,8 @@ msgstr "čas v hodinách"
msgid "Daily Time"
msgstr "Čas v jednotlivých dnech"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr ""
@@ -2224,41 +2238,20 @@ msgstr "Průměrné rychlosti v jednotlivých dnech"
msgid "Daily Calories"
msgstr "Kalorie v jednotlivých dnech"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr ""
-
-#: pytrainer/totalgraph.py:24
+#: pytrainer/recordgraph.py:136
#, fuzzy
-msgid "Annual Distance"
-msgstr "Vzdálenost"
-
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr ""
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr ""
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr ""
+msgid "Speed (Km/h)"
+msgstr "Průměrná rychlost (km/h)"
-#: pytrainer/totalgraph.py:28
+#: pytrainer/recordgraph.py:142
#, fuzzy
-msgid "Annual Calories"
-msgstr "Kalorie"
-
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr ""
+msgid "Cadence (rpm)"
+msgstr "Vzdálenost (km)"
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr ""
+#: pytrainer/recordgraph.py:144
+#, fuzzy
+msgid "Beats (%)"
+msgstr "Puls"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2291,126 +2284,114 @@ msgstr "Průměrné rychlosti v jednotlivých měsících"
msgid "Monthly Calories"
msgstr "Kalorie v jednotlivých měsících"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-"Soubor gpx vypadá na záznam z několika dnů. Možná bude potřeba jej upravit."
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr "Rychlost (km/h)"
-
-#: pytrainer/daygraph.py:54
-#, fuzzy
-msgid "Velocity"
-msgstr "rychlost"
-
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
msgstr ""
-#: imports/file_gpxplus.py:41
+#: pytrainer/profile.py:140
#, fuzzy
-msgid "GPS eXchange file"
-msgstr "Soubor GPX"
-
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr ""
-
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
-msgstr ""
-
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr ""
-
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
-msgstr ""
-
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr ""
-
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr ""
+msgid "Weight Control"
+msgstr "Váha"
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
msgstr ""
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
msgstr ""
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:82
-msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
-msgstr ""
+#: pytrainer/totalgraph.py:24
+#, fuzzy
+msgid "Annual Distance"
+msgstr "Vzdálenost"
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
-msgstr ""
+#: pytrainer/totalgraph.py:28
+#, fuzzy
+msgid "Annual Calories"
+msgstr "Kalorie"
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
+#: pytrainer/waypoint.py:88
+msgid ""
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
+"Soubor gpx vypadá na záznam z několika dnů. Možná bude potřeba jej upravit."
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
msgstr ""
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
-msgstr ""
+#~ msgid "Calendar"
+#~ msgstr "Kalendář"
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
-msgstr ""
+#~ msgid ""
+#~ "Stage Profile\n"
+#~ "Stage Velocity\n"
+#~ "Stage Profile/velocity"
+#~ msgstr ""
+#~ "Profil etapy\n"
+#~ "Rychlost v etapě\n"
+#~ "Profil/rychlost v etapě"
-#: extensions/gpx2garmin/gpx2garmin.py:50
#, fuzzy
-msgid "gpx2garmin Extension"
-msgstr "Rozšíření"
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Kilometry\n"
+#~ "Čas\n"
+#~ "Puls\n"
+#~ "Průměrná rychlost\n"
+#~ "Kalorie"
#, fuzzy
-#~ msgid "<b>Start screen</b>"
-#~ msgstr "<b>Stav:</b>"
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Kilometry\n"
+#~ "Čas\n"
+#~ "Puls\n"
+#~ "Průměrná rychlost\n"
+#~ "Kalorie"
#~ msgid " Km"
#~ msgstr " km"
@@ -2448,9 +2429,6 @@ msgstr "Rozšíření"
#~ msgid "Calculate Average"
#~ msgstr "Spočítat průměr"
-#~ msgid "Profile"
-#~ msgstr "Profil"
-
#~ msgid "Age"
#~ msgstr "Věk"
diff --git a/locale/da/LC_MESSAGES/pytrainer.mo b/locale/da/LC_MESSAGES/pytrainer.mo
index e2f45c5..b413c3f 100644
Binary files a/locale/da/LC_MESSAGES/pytrainer.mo and b/locale/da/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/da/LC_MESSAGES/pytrainer_da.po b/locale/da/LC_MESSAGES/pytrainer_da.po
index 27cb8c2..20bd422 100644
--- a/locale/da/LC_MESSAGES/pytrainer_da.po
+++ b/locale/da/LC_MESSAGES/pytrainer_da.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pytrainer_dk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2007-12-20 21:02+0100\n"
"Last-Translator: Lars Olesen <olesen.lars at gmail.com>\n"
"Language-Team: Dansk\n"
@@ -19,347 +19,339 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: KBabel 1.11.4\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr "Kalender"
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
#, fuzzy
msgid "<b>Equipment List</b>"
msgstr "<b>Liste over sportsgrene</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
#, fuzzy
msgid "Description"
msgstr "<b>Beskrivelse:</b>"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr ""
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr ""
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr "Aktiv"
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr ""
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
#, fuzzy
msgid "<b>Add New Equipment</b>"
msgstr "<b>Tilføj ny Sportsgren</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
#, fuzzy
msgid "<b>Edit Equipment</b>"
msgstr "<b>Rediger sportsgren</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr ""
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
#, fuzzy
msgid "<b>Delete Equipment</b>"
msgstr "<b>Slet sportsgren</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr "Udvidelser"
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr ""
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr "Navne-indtastning"
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
#, fuzzy
msgid "Name:"
msgstr "Navn"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
#, fuzzy
msgid "Status:"
msgstr "<b>Status:</b>"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
#, fuzzy
msgid "Description:"
msgstr "<b>Beskrivelse:</b>"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr "status-indtastning"
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr "Beskrivelses indtastning"
-#: glade/importdata.glade:7 glade/importdata.glade:325
+#: glade/importdata.ui:9
+msgid "Test 1"
+msgstr ""
+
+#: glade/importdata.ui:12
+msgid "Test 2"
+msgstr ""
+
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr ""
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr " "
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
#, fuzzy
msgid "Import"
msgstr "Sport"
-#: glade/importdata.glade:36
-msgid ""
-"Test 1\n"
-"Test 2"
-msgstr ""
-
-#: glade/importdata.glade:46
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr ""
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr ""
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
#, fuzzy
msgid "<b>Tools</b>"
msgstr "<b>Titel:</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr ""
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr ""
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr ""
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr ""
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr ""
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr ""
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
#, fuzzy
msgid "<b>Select activities to import</b>"
msgstr "<b>Slet sportsgren</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr ""
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr ""
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
#, fuzzy
msgid "<b>Import from File</b>"
msgstr "<b>Liste over sportsgrene</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
#, fuzzy
msgid "<b>Plugins</b>"
msgstr "Plugins"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr ""
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr ""
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr ""
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr ""
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr "Plugins"
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
#, fuzzy
msgid "<b>Default to Tab</b>"
msgstr "<b>Database</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr ""
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr ""
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
#, fuzzy
msgid "<b>Options</b>"
msgstr "<b>Beskrivelse:</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
#, fuzzy
msgid "<b>Select file to import from</b>"
msgstr "<b>Slet sportsgren</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr ""
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr ""
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr ""
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr ""
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
#, fuzzy
msgid "<b>File delimiter</b>"
msgstr "Tid"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Dato"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr ""
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Distance (km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr ""
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr ""
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
#, fuzzy
msgid "<b>File Column</b>"
msgstr "<b>Kommentarer</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Titel"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr ""
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
#, fuzzy
msgid "Accent (m)"
msgstr "Højde (m)"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
#, fuzzy
msgid "Calories (kcal)"
msgstr "Kalorier"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
#, fuzzy
msgid "Max Speed (km/h)"
msgstr "Gennemsnit (km/t)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
#, fuzzy
msgid "Average Speed (km/h)"
msgstr "Gennemsnit (km/t)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Sport"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
#, fuzzy
msgid "Pace (min/km)"
msgstr "Distance (km)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr ""
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
#, fuzzy
msgid "Comments"
msgstr "<b>Kommentarer</b>"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr ""
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr " "
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
#, fuzzy
msgid "<b>Map Columns</b>"
msgstr "<b>Kommentarer</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -368,1715 +360,1767 @@ msgid ""
"4) Click 'Import Data'</small>"
msgstr ""
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr ""
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
#, fuzzy
msgid "<b>Import from CSV</b>"
msgstr "<b>Liste over sportsgrene</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Nyt data sæt"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
#, fuzzy
msgid "Title:"
msgstr "Titel"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
#, fuzzy
msgid "GPX File:"
msgstr "GPX fil"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Beregn værdier"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
#, fuzzy
msgid "Sport:"
msgstr "Sport"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
#, fuzzy
msgid "<b>Main</b>"
msgstr "Måned"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
#, fuzzy
msgid "Distance (Km):"
msgstr "Afstand (km)"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
#, fuzzy
msgid "Calculate"
msgstr "Beregn tid"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr ""
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
#, fuzzy
msgid "Date:"
msgstr "Dato"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr ""
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr ""
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
#, fuzzy
msgid "<b>General</b>"
msgstr "Gennemsnit"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
#, fuzzy
msgid "Max (km/h):"
msgstr "Gennemsnit (km/t)"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Gennemsnit (km/t)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
#, fuzzy
msgid "<b>Speed</b>"
msgstr " <b>Type:</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
#, fuzzy
msgid "Quick Entry"
msgstr "Nyt data sæt"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr ""
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr ""
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
#, fuzzy
msgid "<b>Pace</b>"
msgstr "<b>Navn:</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr ""
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr ""
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
#, fuzzy
msgid "<b>Accumulated Altitude Change</b>"
msgstr "Akkumuleret højdeforskel"
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr ""
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr ""
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Kalorier"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
msgstr ""
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
#, fuzzy
msgid "<b>Heart Rate</b>"
msgstr "Hjerteslag"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr ""
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Kommentarer</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr ""
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr ""
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr ""
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
#, fuzzy
msgid "<b>Plugin Details</b>"
msgstr "<b>Database</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
#, fuzzy
msgid "description-entry "
msgstr "Beskrivelses indtastning"
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr "navneIndtastning"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr ""
+
+#: glade/profile.ui:12
+#, fuzzy
+msgid "Warning"
+msgstr "Advarsel"
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr ""
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr ""
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr ""
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr ""
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "status-indtastning"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Status:</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr ""
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr ""
-#: glade/profile.glade:140
+#: glade/profile.ui:231
#, fuzzy
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Slet sportsgren</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
#, fuzzy
msgid "Database type:"
msgstr "Database Type"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
#, fuzzy
msgid "Database host:"
msgstr "Database Host"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
#, fuzzy
msgid "Database name:"
msgstr "Database Navn"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
#, fuzzy
msgid "Database user:"
msgstr "Database Brugernavn "
-#: glade/profile.glade:267
+#: glade/profile.ui:358
#, fuzzy
msgid "Database pass:"
msgstr "Database Password"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Database</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr ""
-#: glade/profile.glade:369
+#: glade/profile.ui:447
#, fuzzy
msgid "User name:"
msgstr "Nyt navn"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
#, fuzzy
msgid "Gender:"
msgstr "Køn"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
#, fuzzy
msgid "Height:"
msgstr "Højde"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr ""
-#: glade/profile.glade:520
+#: glade/profile.ui:599
#, fuzzy
msgid "Weight:"
msgstr "Vægt"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
#, fuzzy
msgid "<b>Athlete Details</b>"
msgstr "<b>Slet sportsgren</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
#, fuzzy
msgid "Athlete"
msgstr "Slet"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
#, fuzzy
msgid "<b>Sport List</b>"
msgstr "<b>Liste over sportsgrene</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr "Liste"
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr ""
-#: glade/profile.glade:766
+#: glade/profile.ui:834
#, fuzzy
msgid "Extra Weight:"
msgstr "Vægt"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr ""
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
#, fuzzy
msgid "<b>Add New Sport</b>"
msgstr "<b>Tilføj ny Sportsgren</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "ny"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
msgstr ""
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
#, fuzzy
msgid "<b>Delete Sport</b>"
msgstr "<b>Slet sportsgren</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "Slet"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Navn"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr ""
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
#, fuzzy
msgid "Extra Weight"
msgstr "Vægt"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr ""
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr ""
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
#, fuzzy
msgid "<b>Edit Sport</b>"
msgstr "<b>Rediger sportsgren</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
#, fuzzy
msgid "<b>lalaal</b>"
msgstr "<b>Database</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "Rediger"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Sportsgrene"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr ""
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr ""
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
msgstr ""
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
msgstr ""
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr ""
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr ""
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr ""
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
#, fuzzy
msgid "<b>Heart Rate Zones</b>"
msgstr "Hjerteslag"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr ""
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr ""
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr ""
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr ""
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
msgstr ""
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr ""
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
"instance of pytrainer, they will not be remembered next time though</small>"
msgstr ""
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr ""
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Distance"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Tid"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "Månedlige gennemsnit"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "daglige gennemsnit"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+#, fuzzy
+msgid "All Distances"
+msgstr "Distance"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+#, fuzzy
+msgid "All Durations"
+msgstr "Alle sportsgrene"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Tid"
+
+#: glade/pytrainer.ui:219
+msgid "Last 4 weeks"
+msgstr ""
+
+#: glade/pytrainer.ui:222
+#, fuzzy
+msgid "Last 6 months"
+msgstr "status-indtastning"
+
+#: glade/pytrainer.ui:225
+msgid "Last 12 months"
+msgstr ""
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Alle sportsgrene"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+msgid "Profile"
+msgstr "Profil"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr ""
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr ""
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr ""
+
+#: glade/pytrainer.ui:279
+msgid "Percentage"
+msgstr ""
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr ""
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "Hjerteslag"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Træningspas fart profil"
+
+#: glade/pytrainer.ui:339
+#, fuzzy
+msgid "Stage Velocity"
+msgstr "hastighed"
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Træningspas fart profil"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "Fil"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
#, fuzzy
msgid "_Import"
msgstr "Sport"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
#, fuzzy
msgid "_Export as Text Separated by Commas"
msgstr "Eksporteret som tekst adskilt af kommaer"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "Rediger"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "Billede"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr "Klassisk billede"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr "Liste billede"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
#, fuzzy
msgid " _Waypoints Editor"
msgstr "Waypoint redigerings billede"
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr "Værktøjer"
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
#, fuzzy
msgid "GPS Device Plugins"
msgstr "GPS udstyrs plugins"
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "Hjælp"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Alle sportsgrene"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr "Kolonner"
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
#, fuzzy
msgid "<b>Sport:</b>"
msgstr "<b>Liste over sportsgrene</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
#, fuzzy
msgid "<b>Duration:</b>"
msgstr "<b>Beskrivelse:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
#, fuzzy
msgid "<b>Speed:</b>"
msgstr " <b>Type:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
#, fuzzy
msgid "<b>Pace:</b>"
msgstr "<b>Navn:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
#, fuzzy
msgid "<b>Ascent:</b>"
msgstr "Distance"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
#, fuzzy
msgid "<b>Calories:</b>"
msgstr "Kalorier"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "Kommentarer"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
#, fuzzy
msgid "<b>Date:</b>"
msgstr "Dato"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "Distance"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
#, fuzzy
msgid "<b>Max Speed</b>"
msgstr "<b>Navn:</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
#, fuzzy
msgid "<b>Max Pace:</b>"
msgstr "<b>Navn:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
#, fuzzy
msgid "<b>Descent:</b>"
msgstr "Distance"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "Kal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "Km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/t"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
#, fuzzy
msgid "<b>Equipment:</b>"
msgstr "Tid"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
#, fuzzy
msgid "<b>Active / Rest:</b>"
msgstr "Gennemsnit"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr ""
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
#, fuzzy
msgid "<b>Laps</b>"
msgstr "<b>Status:</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
msgid " <b>Title:</b>"
msgstr "Titel"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
#, fuzzy
msgid "Show graph display options"
msgstr "Vis graf i klassisk billede"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr ""
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr ""
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr ""
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr ""
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr ""
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr ""
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr ""
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr ""
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr ""
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr ""
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr ""
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
#, fuzzy
msgid "<small>Distance</small>"
msgstr "Distance"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr ""
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr ""
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr ""
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr ""
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr ""
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr ""
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
#, fuzzy
msgid "<b>Beats:</b>"
msgstr "Hjerteslag"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "Kalorier"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
#, fuzzy
msgid "<b>Max Beats:</b>"
msgstr "Hjerteslag"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
#, fuzzy
msgid "<b>HR Zones Method:</b>"
msgstr "Måned"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
#, fuzzy
msgid "<b>HR Zone5:</b>"
msgstr "Måned"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr "puls"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr "Kal"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
#, fuzzy
msgid "<b>HR Zone4:</b>"
msgstr "Måned"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
#, fuzzy
msgid "<b>HR Zone3:</b>"
msgstr "Måned"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
#, fuzzy
msgid "<b>HR Zone2:</b>"
msgstr "Måned"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
#, fuzzy
msgid "<b>HR Zone1:</b>"
msgstr "Måned"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "puls"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
#, fuzzy
msgid " <b>Heart Rate:</b>"
msgstr "Dato"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
#, fuzzy
msgid "<b>Projected times</b>"
msgstr "Positive"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
#, fuzzy
msgid "<b>Range:</b>"
msgstr "<b>Navn:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
#, fuzzy
msgid "<b>Rank:</b>"
msgstr "<b>Navn:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
#, fuzzy
msgid "<b>Speed: </b>"
msgstr " <b>Type:</b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
#, fuzzy
msgid "<b>Avg speed:</b>"
msgstr "Gennemsnit"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
#, fuzzy
msgid "<b>Standard deviation:</b>"
msgstr "<b>Beskrivelse:</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
#, fuzzy
msgid "<b>Deviation:</b>"
msgstr "<b>Beskrivelse:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
#, fuzzy
msgid "<b>Ranking</b>"
msgstr "<b> Waypoint: </b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
#, fuzzy
msgid "<b>Analytics:</b>"
msgstr "<b>Status:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
msgid "Record"
msgstr "Data sæt"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
#, fuzzy
msgid "<b>Max Speed:</b>"
msgstr "<b>Navn:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "Hjerteslag"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr ""
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
#, fuzzy
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Titel:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
#, fuzzy
msgid "m"
msgstr "Km"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
msgid " <b>Date:</b>"
msgstr "Dato"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Værdi"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-"Træningspas Højdekurve\n"
-"Træningspas Hastighed\n"
-"Træningpas Højdekurve / Hastighed"
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Dag"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
#, fuzzy
msgid " <b>Week:</b>"
msgstr "Dato"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-#, fuzzy
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Kilometern Tid\n"
-"Hjerteslag\n"
-"Gennemsnit\n"
-"Kalorier"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-#, fuzzy
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Kilometern Tid\n"
-"Hjerteslag\n"
-"Gennemsnit\n"
-"Kalorier"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr ""
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
msgid " <b>Month:</b>"
msgstr "Måned"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Måned"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
msgid " <b>Year:</b>"
msgstr "<b>År</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "År"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
#, fuzzy
msgid "<b>Graph</b>"
msgstr "Gennemsnit"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
#, fuzzy
msgid "<b>History</b>"
msgstr "<b>Rediger sportsgren</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
#, fuzzy
msgid "<b>Sports</b>"
msgstr "<b>Liste over sportsgrene</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
#, fuzzy
msgid "Total distance:"
msgstr "Distance"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr ""
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr ""
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr ""
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
#, fuzzy
msgid "<b>All</b>"
msgstr "<b>Titel:</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr ""
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
msgid "<b>Title:</b>"
msgstr "<b>Titel:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Søg"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-#, fuzzy
-msgid "All Distances"
-msgstr "Distance"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-#, fuzzy
-msgid "All Durations"
-msgstr "Alle sportsgrene"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr "Kolonner"
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr ""
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-"Font\n"
-"Restaurant\n"
-"Naturskønt område\n"
-"Møde"
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
#, fuzzy
msgid "Latitude: "
msgstr " <b>Breddegrad:</b>"
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
#, fuzzy
msgid " Name:"
msgstr "Navn"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
#, fuzzy
msgid "Longitude:"
msgstr " <b>Længdegrad:</b>"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
msgid "<b> Waypoint: </b>"
msgstr "<b> Waypoint: </b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Rediger data sæt"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Vis graf i klassisk billede"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
-msgstr ""
-
-#: glade/selecttrackdialog.glade:7
+#: glade/selecttrackdialog.ui:7
msgid "Select track record"
msgstr "Vælg track data sæt"
-#: glade/warning.glade:7 glade/warning.glade:38
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
+msgstr ""
+
+#: extensions/gpx2garmin/gpx2garmin.py:50
#, fuzzy
-msgid "Warning"
-msgstr "Advarsel"
+msgid "gpx2garmin Extension"
+msgstr "Udvidelser"
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
msgstr ""
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "id"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
+msgstr ""
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Distance"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr ""
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Tid"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr ""
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
msgstr ""
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
msgstr ""
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
-msgstr "Waypoint"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr ""
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Vægt"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr ""
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
msgstr ""
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
msgstr ""
-#: pytrainer/gui/windowmain.py:141
-#, fuzzy
-msgid "Records"
-msgstr "Data sæt"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr ""
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
msgstr ""
-#: pytrainer/gui/windowmain.py:143
-#, fuzzy
-msgid "Total distance"
-msgstr "Distance"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
+msgstr ""
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
msgstr ""
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
+#: imports/tool_gant.py:34
+msgid "Gant"
msgstr ""
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
msgstr ""
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
msgstr ""
-#: pytrainer/gui/windowmain.py:149
+#: imports/file_gpxplus.py:41
#, fuzzy
-msgid "Max distance"
-msgstr "Distance"
+msgid "GPS eXchange file"
+msgstr "GPX fil"
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
msgstr ""
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
msgstr ""
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
+#: pytrainer/core/activity.py:480
+msgid "%"
msgstr ""
-#: pytrainer/gui/windowmain.py:320
+#: pytrainer/core/activity.py:489
#, fuzzy
-msgid "d"
-msgstr "id"
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
-msgstr ""
+msgid "rpm"
+msgstr "puls"
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
msgstr ""
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
+msgid "h"
msgstr ""
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
msgstr ""
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
-#, fuzzy
-msgid "km"
-msgstr "km/t"
-
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
-msgstr "Slag"
-
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Gennemsnit"
-
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
msgstr ""
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
-msgstr ""
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
+msgstr "Track Navn"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
-msgid "h"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
msgstr ""
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-#, fuzzy
-msgid "Edit Entry"
-msgstr "Nyt data sæt"
-
-#: pytrainer/gui/windowmain.py:2188
-#, fuzzy
-msgid "Delete Entry"
-msgstr "Nyt data sæt"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Rediger data sæt"
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
-msgstr ""
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Vis graf i klassisk billede"
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
msgstr ""
-#: pytrainer/gui/windowmain.py:2229
-#, fuzzy
-msgid "<b>Date</b>"
-msgstr "Dato"
-
-#: pytrainer/gui/windowmain.py:2245
-#, fuzzy
-msgid "<b>Weight</b>"
-msgstr "<b>Titel:</b>"
-
-#: pytrainer/gui/windowmain.py:2253
-#, fuzzy
-msgid "<b>Body Fat</b>"
-msgstr "Dato"
-
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
msgstr ""
-#: pytrainer/gui/windowmain.py:2269
-#, fuzzy
-msgid "<b>Max Heart Rate</b>"
-msgstr "Hjerteslag"
-
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
-msgstr ""
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
+msgstr "%s settings"
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
msgid "Disabled"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
msgid "GPS device found"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
#, fuzzy
msgid "File"
msgstr "Fil"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
#, fuzzy
msgid "Activities"
msgstr "Aktiv"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Start Time"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Duration"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr "%s settings"
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr "Ok"
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
#, fuzzy
msgid "Got file: "
msgstr "GPX fil"
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, fuzzy, python-format
msgid "Column %d"
msgstr "Kolonner"
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
msgstr ""
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "id"
+
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
msgstr ""
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
msgstr ""
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
+msgstr "Waypoint"
+
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Vægt"
+
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:129
#, fuzzy
-msgid "Max"
-msgstr "Maj"
+msgid "Records"
+msgstr "Data sæt"
-#: pytrainer/gui/windowrecord.py:104
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:131
#, fuzzy
-msgid "Ascent"
-msgstr "Højde (m)"
+msgid "Total distance"
+msgstr "Distance"
+
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:105
+#: pytrainer/gui/windowmain.py:137
#, fuzzy
-msgid "Descent"
+msgid "Max distance"
msgstr "Distance"
-#: pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:323
#, fuzzy
-msgid "GPX File"
-msgstr "GPX fil"
+msgid "d"
+msgstr "id"
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
msgstr ""
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
msgstr ""
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
msgstr ""
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
msgstr ""
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
msgstr ""
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
-msgstr "Track Navn"
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr ""
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
msgstr ""
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Højde (m)"
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Træningspas fart profil"
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr ""
-#: pytrainer/recordgraph.py:136
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr "Slag"
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Gennemsnit"
+
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
#, fuzzy
-msgid "Speed (Km/h)"
-msgstr "Gennemsnit (km/t)"
+msgid "Edit Entry"
+msgstr "Nyt data sæt"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
+#: pytrainer/gui/windowmain.py:2152
#, fuzzy
-msgid "Beats (bpm)"
-msgstr "Gennemsnitlig puls "
+msgid "Delete Entry"
+msgstr "Nyt data sæt"
+
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2193
+#, fuzzy
+msgid "<b>Date</b>"
+msgstr "Dato"
+
+#: pytrainer/gui/windowmain.py:2209
+#, fuzzy
+msgid "<b>Weight</b>"
+msgstr "<b>Titel:</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+#, fuzzy
+msgid "<b>Body Fat</b>"
+msgstr "Dato"
+
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2233
+#, fuzzy
+msgid "<b>Max Heart Rate</b>"
+msgstr "Hjerteslag"
+
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
+msgstr ""
-#: pytrainer/recordgraph.py:142
-#, fuzzy
-msgid "Cadence (rpm)"
-msgstr "Afstand (km)"
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
+msgstr ""
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
msgstr ""
-#: pytrainer/recordgraph.py:144
-#, fuzzy
-msgid "Beats (%)"
-msgstr "Slag"
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
+msgstr ""
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
msgstr ""
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
msgstr ""
-#: pytrainer/profile.py:115
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
#, fuzzy
-msgid "Weight Control"
-msgstr "Vægt"
+msgid "Max"
+msgstr "Maj"
-#: pytrainer/profile.py:116
-msgid "Aerobic"
-msgstr ""
+#: pytrainer/gui/windowrecord.py:97
+#, fuzzy
+msgid "Ascent"
+msgstr "Højde (m)"
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
-msgstr ""
+#: pytrainer/gui/windowrecord.py:98
+#, fuzzy
+msgid "Descent"
+msgstr "Distance"
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
+#: pytrainer/gui/windowrecord.py:204
+#, fuzzy
+msgid "GPX File"
+msgstr "GPX fil"
+
+#: pytrainer/lib/gpx.py:128
+#, fuzzy
+msgid "No Name"
+msgstr "Navn"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
msgstr ""
#: pytrainer/lib/listview.py:32
@@ -2108,86 +2152,55 @@ msgstr ""
msgid ">2 Hours"
msgstr ""
-#: pytrainer/lib/gpx.py:129
-#, fuzzy
-msgid "No Name"
-msgstr "Navn"
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr ""
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr ""
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr ""
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr ""
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr ""
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr ""
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr ""
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr ""
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr ""
-
-#: pytrainer/lib/activity.py:464
+#: pytrainer/lib/uc.py:52
#, fuzzy
-msgid "rpm"
-msgstr "puls"
-
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
-msgstr ""
+msgid "km"
+msgstr "km/t"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
#, fuzzy
msgid "mi"
msgstr "Km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr ""
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Højde (m)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr "Hastighed (Km/t)"
+
+#: pytrainer/daygraph.py:54
+#, fuzzy
+msgid "Velocity"
+msgstr "hastighed"
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+#, fuzzy
+msgid "Beats (bpm)"
+msgstr "Gennemsnitlig puls "
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2199,8 +2212,8 @@ msgstr "dag"
msgid "Daily Distance"
msgstr "Distance"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
#, fuzzy
msgid "Time (hours)"
msgstr "Tid i timer"
@@ -2210,8 +2223,8 @@ msgstr "Tid i timer"
msgid "Daily Time"
msgstr "tid pr. dag"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr ""
@@ -2229,41 +2242,20 @@ msgstr "daglige gennemsnit"
msgid "Daily Calories"
msgstr "kalorier pr. dag"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr ""
-
-#: pytrainer/totalgraph.py:24
+#: pytrainer/recordgraph.py:136
#, fuzzy
-msgid "Annual Distance"
-msgstr "Distance"
-
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr ""
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr ""
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr ""
+msgid "Speed (Km/h)"
+msgstr "Gennemsnit (km/t)"
-#: pytrainer/totalgraph.py:28
+#: pytrainer/recordgraph.py:142
#, fuzzy
-msgid "Annual Calories"
-msgstr "Kalorier"
-
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr ""
+msgid "Cadence (rpm)"
+msgstr "Afstand (km)"
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr ""
+#: pytrainer/recordgraph.py:144
+#, fuzzy
+msgid "Beats (%)"
+msgstr "Slag"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2296,131 +2288,124 @@ msgstr "Månedlige gennemsnit"
msgid "Monthly Calories"
msgstr "Kalorier pr. måned"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-"gpx filen ser ud til at indeholde data sæt for flere dage. Måske bliver du "
-"nødt til at redigere din gpx fil."
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr "Hastighed (Km/t)"
-
-#: pytrainer/daygraph.py:54
-#, fuzzy
-msgid "Velocity"
-msgstr "hastighed"
-
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
msgstr ""
-#: imports/file_gpxplus.py:41
+#: pytrainer/profile.py:140
#, fuzzy
-msgid "GPS eXchange file"
-msgstr "GPX fil"
-
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr ""
-
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
-msgstr ""
-
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr ""
-
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
-msgstr ""
-
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr ""
-
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr ""
+msgid "Weight Control"
+msgstr "Vægt"
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
msgstr ""
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
msgstr ""
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:82
-msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
-msgstr ""
+#: pytrainer/totalgraph.py:24
+#, fuzzy
+msgid "Annual Distance"
+msgstr "Distance"
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
-msgstr ""
+#: pytrainer/totalgraph.py:28
+#, fuzzy
+msgid "Annual Calories"
+msgstr "Kalorier"
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
+#: pytrainer/waypoint.py:88
+msgid ""
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
+"gpx filen ser ud til at indeholde data sæt for flere dage. Måske bliver du "
+"nødt til at redigere din gpx fil."
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
msgstr ""
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
-msgstr ""
+#~ msgid "Calendar"
+#~ msgstr "Kalender"
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
-msgstr ""
+#~ msgid ""
+#~ "Stage Profile\n"
+#~ "Stage Velocity\n"
+#~ "Stage Profile/velocity"
+#~ msgstr ""
+#~ "Træningspas Højdekurve\n"
+#~ "Træningspas Hastighed\n"
+#~ "Træningpas Højdekurve / Hastighed"
-#: extensions/gpx2garmin/gpx2garmin.py:50
#, fuzzy
-msgid "gpx2garmin Extension"
-msgstr "Udvidelser"
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Kilometern Tid\n"
+#~ "Hjerteslag\n"
+#~ "Gennemsnit\n"
+#~ "Kalorier"
#, fuzzy
-#~ msgid "Last entry"
-#~ msgstr "status-indtastning"
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Kilometern Tid\n"
+#~ "Hjerteslag\n"
+#~ "Gennemsnit\n"
+#~ "Kalorier"
-#, fuzzy
-#~ msgid "<b>Start screen</b>"
-#~ msgstr "<b>Status:</b>"
+#~ msgid ""
+#~ "Font\n"
+#~ "Restaurant\n"
+#~ "Scenic Area\n"
+#~ "Summit"
+#~ msgstr ""
+#~ "Font\n"
+#~ "Restaurant\n"
+#~ "Naturskønt område\n"
+#~ "Møde"
#~ msgid "window1"
#~ msgstr "Vindue1"
@@ -2464,9 +2449,6 @@ msgstr "Udvidelser"
#~ msgid "Calculate Average"
#~ msgstr "Beregn gennemsnit"
-#~ msgid "Profile"
-#~ msgstr "Profil"
-
#~ msgid "Age"
#~ msgstr "Alder"
diff --git a/locale/de/LC_MESSAGES/pytrainer.mo b/locale/de/LC_MESSAGES/pytrainer.mo
index 1397974..d2d9f90 100644
Binary files a/locale/de/LC_MESSAGES/pytrainer.mo and b/locale/de/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/de/LC_MESSAGES/pytrainer_de.po b/locale/de/LC_MESSAGES/pytrainer_de.po
index 83cb47d..1d937fe 100644
--- a/locale/de/LC_MESSAGES/pytrainer_de.po
+++ b/locale/de/LC_MESSAGES/pytrainer_de.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pytrainer 1.10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2013-03-28 21:17+0100\n"
"Last-Translator: Wilfried Goesgens <dothebart at citadel.org>\n"
"Language-Team: American English <kde-i18n-doc at kde.org>\n"
@@ -20,324 +20,320 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.4\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr "Kalender"
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
msgid "<b>Equipment List</b>"
msgstr "<b>Liste der Ausrüstungsgegenstände</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
msgid "Description"
msgstr "Beschreibung"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr "Lebenserwartung"
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr "Vorherige Nutzung"
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr "Aktiv"
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr "Notizen"
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
msgid "<b>Add New Equipment</b>"
msgstr "<b>Ausrüstung hinzufügen</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
msgid "<b>Edit Equipment</b>"
msgstr "<b>Ausrüstung bearbeiten</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr "Diesen Ausrüstungsgegenstand wirklich löschen?"
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
msgid "<b>Delete Equipment</b>"
msgstr "<b>Ausrüstung löschen</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr "Erweiterungen"
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr "<b>Erweiterungsdetails</b>"
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr "Namens Eintrag"
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
msgid "Name:"
msgstr "Name:"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
msgid "Status:"
msgstr "Status:"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
msgid "Description:"
msgstr "Beschreibung:"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr "Status Eintrag"
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr "Beschreibungs Eintrag"
-#: glade/importdata.glade:7 glade/importdata.glade:325
-msgid "Import"
-msgstr "Importieren"
-
-#: glade/importdata.glade:36
-msgid ""
+#: glade/importdata.ui:9
+#, fuzzy
+msgid "Test 1"
+msgstr ""
"Test 1\n"
"Test 2"
+
+#: glade/importdata.ui:12
+#, fuzzy
+msgid "Test 2"
msgstr ""
"Test 1\n"
"Test 2"
-#: glade/importdata.glade:46
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr "Ausschließen"
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr " "
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
+msgid "Import"
+msgstr "Importieren"
+
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr "<b>Wählen Sie Ihr GPS-Gerät</b>"
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr "Das Importieren von einem GPS-Gerät ist noch nicht implementiert"
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
msgid "<b>Tools</b>"
msgstr "<b>Werkzeuge</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr "Erneut scannen"
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr "System erneut nach verfügbaren Werkzeugen durchsuchen"
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr "<b>Von GPS-Gerät importieren</b>"
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr "Ausgewählte Dateien und die verbundenen Aktivitäten löschen"
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr "Dateien hinzufügen, um Aktivitäten zu importieren"
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr "<b>Datei(en) hinzufügen, um Aktivitäten zu importieren</b>"
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
msgid "<b>Select activities to import</b>"
msgstr "<b>Aktivitäten auswählen, die Importiert werden sollen</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr "Ausgewählte Aktivitäten importieren"
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr "Import-Dialog schließen"
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
msgid "<b>Import from File</b>"
msgstr "<b>Importieren aus Datei</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
msgid "<b>Plugins</b>"
msgstr "<b>Erweiterungen</b>"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr "Vom GPS-Gerät importieren"
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr "Aus Datei importieren"
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr "Beim Starten »Dateiauswahl« öffnen"
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr "Dateiauswahl-Dialog automatisch starten"
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr "Erweiterungen"
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
msgid "<b>Default to Tab</b>"
msgstr "<b>Seite, die beim Öffnen angezeigt wird</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr "Zurücksetzen"
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr "Sichern"
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
msgid "<b>Options</b>"
msgstr "<b>Optionen</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
msgid "<b>Select file to import from</b>"
msgstr "<b>Wählen Sie die zu importierende Datei</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr "Tabulator"
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr "Komma"
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr "Anderes"
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr "Datei lesen"
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
msgid "<b>File delimiter</b>"
msgstr "<b>Trennzeichen</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Datum"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr "Ausschließen"
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Strecke (km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr "Dauer (s)"
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr "<b>PyTrainer-Feld</b>"
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
msgid "<b>File Column</b>"
msgstr "<b>Spalte in Datei</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Titel"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr "Abstieg (m)"
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
msgid "Accent (m)"
msgstr "Aufstieg (m)"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
msgid "Calories (kcal)"
msgstr "Kalorien (kcal)"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
msgid "Max Speed (km/h)"
msgstr "Höchstgeschwindigkeit (km/h)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
msgid "Average Speed (km/h)"
msgstr "Durchschnittsgeschwindigkeit (km/h)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Sportart"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr "Durchschnitts-Herzfrequenz (bpm)"
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr "Höchste Herzfrequenz (bpm)"
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
msgid "Pace (min/km)"
msgstr "Tempo (min/km)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr "Höchsttempo (min/km)"
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
msgid "Comments"
msgstr "Kommentare"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr "erzwinge Sportart:"
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr " "
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
msgid "<b>Map Columns</b>"
msgstr "<b>Spalten zuordnen</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -352,128 +348,130 @@ msgstr ""
"zwingend)\n"
"4) »Daten importieren« anklicken</small>"
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr "Daten importieren"
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
msgid "<b>Import from CSV</b>"
msgstr "<b>CSV-Datei importieren</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Neuer Eintrag"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
msgid "Title:"
msgstr "Titel:"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
msgid "GPX File:"
msgstr "GPX-Datei:"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Werte berechnen"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
msgid "Sport:"
msgstr "Sportart:"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
msgid "<b>Main</b>"
msgstr "<b>Hauptsächlich</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
msgid "Distance (Km):"
msgstr "Strecke (km):"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
msgid "Calculate"
msgstr "Berechnen"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr "Dauer:"
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
msgid "Date:"
msgstr "Datum:"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr "Startzeit:"
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr "12:00:00"
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
msgid "<b>General</b>"
msgstr "<b>Allgemein</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
msgid "Max (km/h):"
msgstr "Maximal (km/h):"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Durchschnitt (km/h)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
msgid "<b>Speed</b>"
msgstr "<b>Geschwindigkeit</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
msgid "Quick Entry"
msgstr "Schneller Eintrag"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr "Maximal (min/km):"
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr "Tempo (min/km):"
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
msgid "<b>Pace</b>"
msgstr "<b>Tempo</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr "Anstieg:"
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr "Abstieg:"
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
msgid "<b>Accumulated Altitude Change</b>"
msgstr "<b>Aufgerechneter Höhenunterschied</b>"
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr "Maximal (bpm):"
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr "Herzfrequenz:"
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Kalorien"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
@@ -481,162 +479,192 @@ msgstr ""
"<small><b>Achtung:</b> Um die Kalorien zu berechnen, müssen Sie als Sportart "
"»M.E.T.« angeben (in Einstellungen->Sportart)</small>"
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
msgid "<b>Heart Rate</b>"
msgstr "<b>Herzfrequenz</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr "Erweitert"
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Kommentare</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr "<i>Es gibt keine aktiven Ausrüstungsgegenstände.</i>"
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr "<b>Zugehörige Ausrüstung</b>"
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr "Ausrüstung"
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
msgid "<b>Plugin Details</b>"
msgstr "<b>Erweiterungsdetails</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr "beschreibungs eintrag "
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr "Namens Eintrag"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr "Fehler"
+
+#: glade/profile.ui:12
+msgid "Warning"
+msgstr "Warnung"
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr "Einstellungen"
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr "Metrisches System"
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr "In den USA gebräuchliche Einheiten"
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr "<b>Maßsystem</b>"
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "Status Eintrag"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Sportarten</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr "Google"
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr "OpenStreetMap"
-#: glade/profile.glade:140
+#: glade/profile.ui:231
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Voreingestellter Kartenbetrachter</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
msgid "Database type:"
msgstr "Datenbank Typ:"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
msgid "Database host:"
msgstr "Datenbank Server:"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
msgid "Database name:"
msgstr "Datenbank Name:"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
msgid "Database user:"
msgstr "Datenbank Benutzer:"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
msgid "Database pass:"
msgstr "Datenbank Passwort:"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Datenbank</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr "Allgemein"
-#: glade/profile.glade:369
+#: glade/profile.ui:447
msgid "User name:"
msgstr "Benutzername:"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
msgid "Gender:"
msgstr "Geschlecht:"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
msgid "Height:"
msgstr "Größe:"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr "Geburtsdatum:"
-#: glade/profile.glade:520
+#: glade/profile.ui:599
msgid "Weight:"
msgstr "Gewicht:"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
msgid "<b>Athlete Details</b>"
msgstr "<b>Athleten-Details</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
msgid "Athlete"
msgstr "Athlet"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
msgid "<b>Sport List</b>"
msgstr "<b>Sportartenliste</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr "llist"
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr "M.E.T.:"
-#: glade/profile.glade:766
+#: glade/profile.ui:834
msgid "Extra Weight:"
msgstr "Zusätzliches Gewicht:"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
"Weitere Informationen zur Berechnung Ihres M.E.T.-Sportkoeffizienten finden "
"Sie in der Wikipedia"
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr "Höchsttempo:"
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
msgid "<b>Add New Sport</b>"
msgstr "<b>Sportart hinzufügen</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "neu"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
@@ -645,60 +673,60 @@ msgstr ""
"entfernt.\n"
"Fortfahren?"
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
msgid "<b>Delete Sport</b>"
msgstr "<b>Sportart löschen</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "löschen"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Name"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr "M.E.T.:"
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
msgid "Extra Weight"
msgstr "Zusätzliches Gewicht:"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr "Höchsttempo:"
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr "Farbe"
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
msgid "<b>Edit Sport</b>"
msgstr "<b>Sportart bearbeiten</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
msgid "<b>lalaal</b>"
msgstr "<b>lalaal</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "bearbeiten"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Sportarten"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr "Höchste Herzfrequenz:"
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr "Ruhe-Herzfrequenz:"
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
@@ -706,7 +734,7 @@ msgstr ""
"<small><b>Achtung:</b> Die maximale Herzfrequenz wird durch Abziehen Ihres "
"Alters von der Zahl 220 berechnet.</small>"
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
@@ -714,54 +742,43 @@ msgstr ""
"<small><b>Achtung:</b> Um die Karvonen-Methode anzuwenden, müssen Sie das "
"Ruhe-Herzfrequenz-Feld ausfüllen.</small>"
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr "Prozentbasierte Methode"
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr "Karvonen-Methode"
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr "Wählen Sie, wie Ihre Herzfrequenzzonen ermittelt werden sollen."
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Herzfrequenzzonen</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr "Herzfrequenz"
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr "Protokollierungsstufe"
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-"Fehler\n"
-"Warnung\n"
-"Info\n"
-"Debug"
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr "<small>Wie detailliert soll das Protokoll sein?</small>"
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr "Überprüfen"
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
@@ -769,17 +786,17 @@ msgstr ""
"<small>Versuchen die Erweiterungen, die Eingabedatei vor der Verarbeitung zu "
"überprüfen?</small>"
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr "Neuer Graph"
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
"<small>Wollen Sie eine experimentelle neue Herangehensweise zur "
"Graphenzeichnung verwenden?</small>"
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
@@ -790,1214 +807,1228 @@ msgstr ""
"werden und betreffen die derzeit laufende PyTrainer-Instanz, werden aber bis "
"zum nächsten Starten vergessen.</small>"
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr "Startparameter"
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Strecke"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Zeit"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "Durchschnittliche Herzfrequenz (bpm)"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "Tägliche Durchschnittsgeschwindigkeit"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+msgid "All Distances"
+msgstr "Alle Strecken"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+msgid "All Durations"
+msgstr "Alle Laufzeiten"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Gesamte Zeit"
+
+#: glade/pytrainer.ui:219
+#, fuzzy
+msgid "Last 4 weeks"
+msgstr "Letzte vier Wochen"
+
+#: glade/pytrainer.ui:222
+#, fuzzy
+msgid "Last 6 months"
+msgstr "Letzte sechs Monate"
+
+#: glade/pytrainer.ui:225
+#, fuzzy
+msgid "Last 12 months"
+msgstr "Letzte zwölf Monate"
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Alle Sportarten"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+#, fuzzy
+msgid "Profile"
+msgstr "Abschnittsprofil"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr "Geschwindigkeit"
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr "Tempo"
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr "Trittfrequenz"
+
+#: glade/pytrainer.ui:279
+#, fuzzy
+msgid "Percentage"
+msgstr "Prozentuale Methode"
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr "Zone"
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "Herzfrequenz:"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Abschnittsprofil"
+
+#: glade/pytrainer.ui:339
+#, fuzzy
+msgid "Stage Velocity"
+msgstr "Schnelligkeit"
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Abschnittsprofil"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Datei"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
msgid "_Import"
msgstr "_Importieren"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
msgid "_Export as Text Separated by Commas"
msgstr "_Exportieren als CSV-Datei"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "_Bearbeiten"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Ansicht"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr "_Klassische Ansicht"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr "_Listenansicht"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
msgid " _Waypoints Editor"
msgstr "_Wegpunkt-Editor"
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr "Werkzeuge"
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
msgid "GPS Device Plugins"
msgstr "GPS-Geräteerweiterungen"
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Hilfe"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Alle Sportarten"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr "Spalten"
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
msgid "<b>Sport:</b>"
msgstr "<b>Sportart:</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
msgid "<b>Duration:</b>"
msgstr "<b>Dauer:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
msgid "<b>Speed:</b>"
msgstr "<b>Geschwindigkeit:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
msgid "<b>Pace:</b>"
msgstr "<b>Tempo:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
msgid "<b>Ascent:</b>"
msgstr "<b>Anstieg:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
msgid "<b>Calories:</b>"
msgstr "<b>Kalorien: </b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "<b>Kommentare:</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
msgid "<b>Date:</b>"
msgstr "<b>Datum:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Strecke:</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
msgid "<b>Max Speed</b>"
msgstr "<b>Höchstgeschwindigkeit:</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
msgid "<b>Max Pace:</b>"
msgstr "<b>Höchsttempo:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
msgid "<b>Descent:</b>"
msgstr "<b>Abstieg:</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "cal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/h"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
msgid "<b>Equipment:</b>"
msgstr "<b>Ausrüstung:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
msgid "<b>Active / Rest:</b>"
msgstr "<b>Aktiv / Ruhe:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr "h:m:s"
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
msgid "<b>Laps</b>"
msgstr "<b>Runden</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
msgid " <b>Title:</b>"
msgstr "<b>Titel:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
msgid "Show graph display options"
msgstr "Optionen zur Graphendarstellung anzeigen"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-"Profil\n"
-"Geschwindigkeit\n"
-"Tempo\n"
-"Herzfrequenz\n"
-"Rhythmus\n"
-"Prozente\n"
-"Zone"
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr "Gegen"
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-"Nichts\n"
-"Profil\n"
-"Geschwindigkeit\n"
-"Tempo\n"
-"Herzfrequenz\n"
-"Rhythmus\n"
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr "<small>Graphendarstellungs-Optionen</small>"
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr "<small>Grenzen</small>"
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr "<small>Min</small>"
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr "<small>Max</small>"
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr "<small>Farbe</small>"
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr "<small>Gewicht</small>"
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr "Y1"
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr "<small>Glättung</small>"
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr "Y2"
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr "X"
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
msgid "<small>Distance</small>"
msgstr "<small>Strecke:</small>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr "<small>Zeit</small>"
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr "Runden anzeigen"
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr "Graph zurücksetzen"
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr "Karte neu zeichnen"
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr "<small>Zeigen:</small>"
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-"Nichts\n"
-"Geschwindigkeit\n"
-"Herzfrequenz\n"
-"Rhythmus"
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr "<small>Zum Anzeigen der Karte verwenden:</small>"
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
msgid "<b>Beats:</b>"
msgstr "<b>Schläge:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Kalorien: </b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
msgid "<b>Max Beats:</b>"
msgstr "<b>Höchste Schlaganzahl:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
msgid "<b>HR Zones Method:</b>"
msgstr "<b>HF-Zonen-Methode:</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
msgid "<b>HR Zone5:</b>"
msgstr "<b>HF-Zone5:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr " bpm"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr " cal"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
msgid "<b>HR Zone4:</b>"
msgstr "<b>HF-Zone4:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
msgid "<b>HR Zone3:</b>"
msgstr "<b>HF-Zone3:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
msgid "<b>HR Zone2:</b>"
msgstr "<b>HF-Zone2:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
msgid "<b>HR Zone1:</b>"
msgstr "<b>HF-Zone1:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "bpm"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
msgid " <b>Heart Rate:</b>"
msgstr " <b>Herzfrequenz:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
msgid "<b>Projected times</b>"
msgstr "<b>Geplante Zeiten</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
"<i>Relativ zu sportgleichen Aktivitäten für Distanzen ± x% anordnen:</i>"
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
msgid "<b>Range:</b>"
msgstr "<b>Bereich:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
msgid "<b>Rank:</b>"
msgstr "<b>Rang:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
msgid "<b>Speed: </b>"
msgstr "<b>Geschwindigkeit:</b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
msgid "<b>Avg speed:</b>"
msgstr "<b>Durchschnittsgeschwindigkeit:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
msgid "<b>Standard deviation:</b>"
msgstr "<b>Standardabweichung</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
msgid "<b>Deviation:</b>"
msgstr "<b>Abweichung:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
msgid "<b>Ranking</b>"
msgstr "<b>Rangfolge</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
msgid "<b>Analytics:</b>"
msgstr "<b>Analysen:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
msgid "Record"
msgstr "Eintrag"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
msgid "<b>Max Speed:</b>"
msgstr "<b>Höchstgeschwindigkeit:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Durchschn. Schläge:</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr "min/km"
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Gesamter An-/Abstieg:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
msgid "m"
msgstr "m"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
msgid " <b>Date:</b>"
msgstr "<b>Datum:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Wert"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-"Profil bereitstellen\n"
-"Geschwindigkeit bereitstellen\n"
-"Profil/Geschwindigkeit bereitstellen"
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Tag"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
msgid " <b>Week:</b>"
msgstr "<b>Woche:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Strecke\n"
-"Zeit\n"
-"Durchschnitts-Herzfrequenz\n"
-"Durchschnittsgeschwindigkeit\n"
-"Kalorien"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Nichts\n"
-"Strecke\n"
-"Zeit\n"
-"Duchschnittliche Herzfrequenz\n"
-"Durchschnittsgeschwindigkeit\n"
-"Kalorien"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr "Woche"
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
msgid " <b>Month:</b>"
msgstr "<b>Monat:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Monat"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
msgid " <b>Year:</b>"
msgstr "<b>Jahr:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "Jahr"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
msgid "<b>Graph</b>"
msgstr "<b>Graph:</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
msgid "<b>History</b>"
msgstr "<b>Geschichte</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
msgid "<b>Sports</b>"
msgstr "<b>Sportarten</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
msgid "Total distance:"
msgstr "Gesamtstrecke:"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr "Gesamtdauer:"
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr "Startdatum:"
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr "Enddatum:"
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
msgid "<b>All</b>"
msgstr "<b>Alles</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr "Insgesamt"
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
msgid "<b>Title:</b>"
msgstr "<b>Titel:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Suche"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-msgid "All Distances"
-msgstr "Alle Strecken"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-msgid "All Durations"
-msgstr "Alle Laufzeiten"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-"Seit Anbeginn der Zeit\n"
-"Letzte 4 Wochen\n"
-"Letzte 6 Wochen\n"
-"Letzte 12 Wochen"
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr "Spalten"
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr "Typ:"
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-"Schrift\n"
-"Restaurant\n"
-"Landschaft\n"
-"Gipfel"
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
msgid "Latitude: "
msgstr "Breitengrad: "
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
msgid " Name:"
msgstr "Name:"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
msgid "Longitude:"
msgstr "Längengrad:"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
msgid "<b> Waypoint: </b>"
msgstr "<b>Wegpunkt:</b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Eintrag bearbeiten"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Graphen in klassischer Ansicht zeigen"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
-msgstr "Strecken zusammenführen"
-
-#: glade/selecttrackdialog.glade:7
+#: glade/selecttrackdialog.ui:7
msgid "Select track record"
msgstr "Streckeneintrag bearbeiten"
-#: glade/warning.glade:7 glade/warning.glade:38
-msgid "Warning"
-msgstr "Warnung"
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
+msgstr "Korrektur der Höhenlage abgeschlossen"
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
-msgstr "Meilen"
+#: extensions/gpx2garmin/gpx2garmin.py:50
+msgid "gpx2garmin Extension"
+msgstr "gpx2garmin Erweiterung"
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "ID"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
+msgstr ""
+"GPX-Spur wird zu OpenStreetMap hochgeladen\n"
+"\n"
+"Bitte haben Sie Geduld, dies kann einige Minuten dauern"
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
-msgstr "Start"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
+msgstr "OpenStreetMap-Erweiterung arbeitet"
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Strecke"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
+msgstr "OpenStreetMap-Erweiterung hat das Hochladen abgeschlossen"
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Zeit"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr "Fehler beim Hochladen der Datei zu OSM: "
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
-msgstr "⌀ HF"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr "OpenStreetMap-Erweiterungs-Fehler"
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
-msgstr "⌀ Geschwindigkeit"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
+msgstr "Bitte fügen Sie diesem Upload jede zusätzliche Information bei"
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
-msgstr "Wegpunkt"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
+msgstr "Fehler beim Speichern der Erweiterungs-Konfiguration"
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Gewicht"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr "Strava Hochladen"
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
-msgstr "Körperfett %"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr "Hochladen zum Wordpress-Blog"
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
-msgstr "Ruhe-Herzfrequenz"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
+msgstr "Worpress-Erweiterung arbeitet"
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
-msgstr "Höchste Herzfrequenz"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
+msgstr "Wordpress-Erweiterung Hochladen abgeschlossen"
-#: pytrainer/gui/windowmain.py:141
-msgid "Records"
-msgstr "Einträge"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
+msgstr "Garmin Trainings-Center Datenbankdatei Version 1"
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
-msgstr "Gesamtdauer"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr "Garmin Trainings-Center Datenbankdatei Version 2"
-#: pytrainer/gui/windowmain.py:143
-msgid "Total distance"
-msgstr "Gesamtstrecke"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
+msgstr "Garmintools Dump-Datei"
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
-msgstr "Durchschnittsgeschwindigkeit"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
+msgstr "Nokia Export - GPS eXchange-Datei"
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
-msgstr "Höchste Geschwindigkeit"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
+msgstr "Geodistanz kml-Datei Version 2.0"
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
-msgstr "Durchschnittliche Herzfrequenz"
+#: imports/tool_gant.py:34
+msgid "Gant"
+msgstr "Gant"
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
-msgstr "Höchste Dauer"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
+msgstr "Garmintools"
-#: pytrainer/gui/windowmain.py:149
-msgid "Max distance"
-msgstr "Längste Strecke"
-
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
-msgstr "Runde"
-
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
-msgstr "Auslöser"
-
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
-msgstr "Durchschnittstempo"
-
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
-msgstr "Höchsttempo"
-
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
-msgstr "Intensität"
-
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
-msgstr "Rennen"
-
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
-msgstr "Rang"
-
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
-msgstr "Geschwindigkeit"
-
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
-msgstr "Tempo"
-
-#: pytrainer/gui/windowmain.py:320
-msgid "d"
-msgstr "d"
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr "Auf der X-Achse zeigen"
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr "Auf der Y1-Achse zeigen"
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr "Auf der Y2-Achse zeigen"
-
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
-msgstr "Achsenbegrenzungen"
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr "Runden"
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr "Gitternetz links der Achse"
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr "Gitternetz rechts der Achse"
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr "X-Achsen-Gitternetz"
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr "Begrenzungen zurücksetzen"
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr "Begrenzungen setzen"
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr "Prozentuale Methode"
-
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr "800 m"
-
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr "1500 m"
-
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
-msgstr "5 km"
-
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
-msgstr "7 km"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
+msgstr "GPSBabel"
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
-msgstr "10 km"
+#: imports/file_gpxplus.py:41
+msgid "GPS eXchange file"
+msgstr "GPS-eXchange-Datei"
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
-msgstr "Halbmarathon"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
+msgstr "Tempo pro Runde"
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
-msgstr "Marathon"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
+msgstr "Zeit (Sekunden)"
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
-msgstr "100 km"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
+msgstr "Geschwindigkeit pro Runde"
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
-msgstr "Meilen"
-
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
-msgstr "Meilen/h"
-
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
-msgstr "min/Meile"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
+msgstr "Höhenlage"
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
-msgid "km"
-msgstr "km"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
+msgstr "Berichtigte Höhenlage"
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
-msgstr "Schläge"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
+msgstr "Herzfrequenz (% des Maximums)"
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Durchschnitt"
+#: pytrainer/core/activity.py:480
+msgid "%"
+msgstr "%"
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
-msgstr "Graphenanzeige-Optionen verstecken"
+#: pytrainer/core/activity.py:489
+msgid "rpm"
+msgstr "u/min"
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
-msgstr "Runde"
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
+msgstr "Herzfrequenz-Zone"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
msgid "h"
msgstr "h"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
-msgstr "s"
-
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-msgid "Edit Entry"
-msgstr "Eintrag bearbeiten"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
+msgstr "min"
-#: pytrainer/gui/windowmain.py:2188
-msgid "Delete Entry"
-msgstr "Eintrag löschen"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
+msgstr "Athletendaten"
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
-msgstr "Athleteneintrag erstellen"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
+msgstr "Name der Strecke"
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
-msgstr "Athleteneintrag bearbeiten"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
+msgstr "Ruhe"
-#: pytrainer/gui/windowmain.py:2229
-msgid "<b>Date</b>"
-msgstr "<b>Datum</b>"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
+msgstr "Verwendung"
-#: pytrainer/gui/windowmain.py:2245
-msgid "<b>Weight</b>"
-msgstr "<b>Gewicht</b>"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Eintrag bearbeiten"
-#: pytrainer/gui/windowmain.py:2253
-msgid "<b>Body Fat</b>"
-msgstr "<b>Körperfett</b>"
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Graphen in klassischer Ansicht zeigen"
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
-msgstr "<b>Ruhe-Herzfrequenz</b>"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
+msgstr "ausschalten"
-#: pytrainer/gui/windowmain.py:2269
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Höchste Herzfrequenz:</b>"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
+msgstr "einschalten"
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
-msgstr "Diesen Datenbankeintrag löschen?"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
+msgstr "%s Einstellungen"
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
-msgstr "Sind Sie sicher?"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
+msgstr "OK"
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr "Keine Datei ausgewählt"
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr "Konfigurieren"
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
msgid "Disabled"
msgstr "abgeschaltet"
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr "eingeschaltet"
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
msgstr "Suche nach Werkzeugen"
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
msgid "GPS device found"
msgstr "GPS-Gerät gefunden"
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr "GPS-Gerät <b>nicht</b> gefunden"
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr "Dieses Hilfsprogramm wurde auf dem System nicht gefunden"
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr "Homepage"
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
msgstr "Suche nach Typ für: "
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "File"
msgstr "Datei"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr "Typ"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Activities"
msgstr "Aktivitäten"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Start Time"
msgstr "Startzeit"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Duration"
msgstr "Dauer"
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr "In Datenbank importiert"
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr "%s Einstellungen"
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr "ausschalten"
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr "einschalten"
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr "OK"
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr "Speicheroptionen"
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr "Optionen gespeichert"
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr "Eine Aktivität wird importiert"
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr "%d Aktivitäten werden importiert"
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
msgstr "Keine Aktivität wurde importiert"
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr "Eine Aktivität wurde importiert"
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr "%d Aktivitäten importiert"
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
msgstr "Die ausgewählte Aktivität war schon in der Datenbank"
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
msgstr "%d ausgewählte Aktivitäten waren schon in der Datenbank"
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr ""
"Wählen Sie eine (oder mehrere) Datei(en), um daraus Aktivitäten zu "
"importieren"
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr "Datei des Typs %s gefunden"
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr "In der Datenbank gefunden"
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr "Datei %s hat einen unbekannten oder nicht unterstützten Dateityp"
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
msgid "Got file: "
msgstr "Habe Datei: "
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, python-format
msgid "Column %d"
msgstr "Spalte %d"
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
msgstr "FEHLER: zumindest eine Datumsspalte muss definiert sein"
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
msgstr "Import beendet. %d Zeilen bearbeitet"
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
-msgstr "min"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "ID"
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
-msgstr "Ruhe"
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
+msgstr "Start"
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
-msgid "Max"
-msgstr "Maximale"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
+msgstr "⌀ HF"
-#: pytrainer/gui/windowrecord.py:104
-msgid "Ascent"
-msgstr "Anstieg"
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
+msgstr "⌀ Geschwindigkeit"
-#: pytrainer/gui/windowrecord.py:105
-msgid "Descent"
-msgstr "Abstie:"
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
+msgstr "Wegpunkt"
-#: pytrainer/gui/windowrecord.py:211
-msgid "GPX File"
-msgstr "GPX-Datei"
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Gewicht"
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
-msgstr "Männlich"
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
+msgstr "Körperfett %"
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
-msgstr "Weiblich"
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
+msgstr "Ruhe-Herzfrequenz"
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
-msgstr "MET"
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
+msgstr "Höchste Herzfrequenz"
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
-msgstr "Fehler beim Erstellen der Sportart"
+#: pytrainer/gui/windowmain.py:129
+msgid "Records"
+msgstr "Einträge"
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
-msgstr "Verwendung"
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
+msgstr "Gesamtdauer"
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
-msgstr "Name der Strecke"
+#: pytrainer/gui/windowmain.py:131
+msgid "Total distance"
+msgstr "Gesamtstrecke"
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
-msgstr "Athletendaten"
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
+msgstr "Durchschnittsgeschwindigkeit"
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
-msgstr "OK"
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr "Höchste Geschwindigkeit"
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Größe (m)"
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
+msgstr "Durchschnittliche Herzfrequenz"
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Abschnittsprofil"
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
+msgstr "Höchste Dauer"
-#: pytrainer/recordgraph.py:136
-msgid "Speed (Km/h)"
-msgstr "Geschwindigkeit (km/h)"
+#: pytrainer/gui/windowmain.py:137
+msgid "Max distance"
+msgstr "Längste Strecke"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
-msgid "Beats (bpm)"
-msgstr "Schläge (bpm)"
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
+msgstr "Runde"
-#: pytrainer/recordgraph.py:142
-msgid "Cadence (rpm)"
-msgstr "Trittfrequenz (rpm)"
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
+msgstr "Auslöser"
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
-msgstr "Trittfrequenz"
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
+msgstr "Durchschnittstempo"
-#: pytrainer/recordgraph.py:144
-msgid "Beats (%)"
-msgstr "Schläge (%)"
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
+msgstr "Höchsttempo"
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
-msgstr "Zone"
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
+msgstr "Intensität"
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
-msgstr "Moderate Aktivität"
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
+msgstr "Rennen"
-#: pytrainer/profile.py:115
-msgid "Weight Control"
-msgstr "Gewichtskontrolle"
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
+msgstr "Rang"
-#: pytrainer/profile.py:116
-msgid "Aerobic"
-msgstr "Sauerstoffabhängig"
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
+msgstr ""
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
-msgstr "Sauerstoffunabhängig"
+#: pytrainer/gui/windowmain.py:323
+msgid "d"
+msgstr "d"
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
-msgstr "VO2 MAX"
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
+msgstr "Auf der X-Achse zeigen"
+
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
+msgstr "Auf der Y1-Achse zeigen"
+
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
+msgstr "Auf der Y2-Achse zeigen"
+
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
+msgstr "Achsenbegrenzungen"
+
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
+msgstr "Runden"
+
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr "Gitternetz links der Achse"
+
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
+msgstr "Gitternetz rechts der Achse"
+
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
+msgstr "X-Achsen-Gitternetz"
+
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr "Begrenzungen zurücksetzen"
+
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr "Begrenzungen setzen"
+
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr "Prozentuale Methode"
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr "800 m"
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr "1500 m"
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr "5 km"
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr "7 km"
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr "10 km"
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
+msgstr "Halbmarathon"
+
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr "Marathon"
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr "100 km"
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr "Schläge"
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Durchschnitt"
+
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
+msgstr "Graphenanzeige-Optionen verstecken"
+
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
+msgstr "Runde"
+
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
+msgstr "s"
+
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
+msgid "Edit Entry"
+msgstr "Eintrag bearbeiten"
+
+#: pytrainer/gui/windowmain.py:2152
+msgid "Delete Entry"
+msgstr "Eintrag löschen"
+
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
+msgstr "Athleteneintrag erstellen"
+
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
+msgstr "Athleteneintrag bearbeiten"
+
+#: pytrainer/gui/windowmain.py:2193
+msgid "<b>Date</b>"
+msgstr "<b>Datum</b>"
+
+#: pytrainer/gui/windowmain.py:2209
+msgid "<b>Weight</b>"
+msgstr "<b>Gewicht</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+msgid "<b>Body Fat</b>"
+msgstr "<b>Körperfett</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
+msgstr "<b>Ruhe-Herzfrequenz</b>"
+
+#: pytrainer/gui/windowmain.py:2233
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Höchste Herzfrequenz:</b>"
+
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
+msgstr "Diesen Datenbankeintrag löschen?"
+
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
+msgstr "Sind Sie sicher?"
+
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
+msgstr "Männlich"
+
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
+msgstr "Weiblich"
+
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
+msgstr "MET"
+
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr "Fehler beim Erstellen der Sportart"
+
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
+msgid "Max"
+msgstr "Maximale"
+
+#: pytrainer/gui/windowrecord.py:97
+msgid "Ascent"
+msgstr "Anstieg"
+
+#: pytrainer/gui/windowrecord.py:98
+msgid "Descent"
+msgstr "Abstie:"
+
+#: pytrainer/gui/windowrecord.py:204
+msgid "GPX File"
+msgstr "GPX-Datei"
+
+#: pytrainer/lib/gpx.py:128
+msgid "No Name"
+msgstr "Kein Name"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
+msgstr "Keine Daten"
#: pytrainer/lib/listview.py:32
msgid "All Time"
@@ -2027,83 +2058,51 @@ msgstr "ein bis zwei Stunden"
msgid ">2 Hours"
msgstr "über zwei Stunden"
-#: pytrainer/lib/gpx.py:129
-msgid "No Name"
-msgstr "Kein Name"
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr "Keine Daten"
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr "Fuß"
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr "Tempo pro Runde"
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr "Zeit (Sekunden)"
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr "Geschwindigkeit pro Runde"
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr "Höhenlage"
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr "Berichtigte Höhenlage"
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr "Herzfrequenz (% des Maximums)"
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr "%"
-
-#: pytrainer/lib/activity.py:464
-msgid "rpm"
-msgstr "u/min"
-
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
-msgstr "Herzfrequenz-Zone"
+#: pytrainer/lib/uc.py:52
+msgid "km"
+msgstr "km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mi"
msgstr "min"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr "m/h"
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr "min/Meile"
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr "Fuß"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr "kg"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr "lb"
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Größe (m)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr "Schnelligkeit (km/h)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity"
+msgstr "Schnelligkeit"
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+msgid "Beats (bpm)"
+msgstr "Schläge (bpm)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2114,8 +2113,8 @@ msgstr "Tag"
msgid "Daily Distance"
msgstr "Tägliche Entfernung"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
msgid "Time (hours)"
msgstr "Zeit (Stunden)"
@@ -2123,8 +2122,8 @@ msgstr "Zeit (Stunden)"
msgid "Daily Time"
msgstr "Tägliche Zeit"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr "Durchschnittliche Herzfrequenz (bpm)"
@@ -2140,39 +2139,17 @@ msgstr "Tägliche Durchschnittsgeschwindigkeit"
msgid "Daily Calories"
msgstr "Tägliche Kalorien"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr "Jahr"
-
-#: pytrainer/totalgraph.py:24
-msgid "Annual Distance"
-msgstr "Jährliche Strecke"
-
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr "Jährliche Zeit"
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr "Jährliche Durchschnitts-Herzfrequenz"
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr "Jährliche Durchschnittsgeschwindigkeit"
-
-#: pytrainer/totalgraph.py:28
-msgid "Annual Calories"
-msgstr "Jährliche Kalorien"
+#: pytrainer/recordgraph.py:136
+msgid "Speed (Km/h)"
+msgstr "Geschwindigkeit (km/h)"
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr "Dateien vor dem Import bearbeiten"
+#: pytrainer/recordgraph.py:142
+msgid "Cadence (rpm)"
+msgstr "Trittfrequenz (rpm)"
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr "pytrainer kann keine Daten aus Ihrer GPX-Datei importieren"
+#: pytrainer/recordgraph.py:144
+msgid "Beats (%)"
+msgstr "Schläge (%)"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2200,120 +2177,202 @@ msgstr "Monats-Durchschnittsgeschwindigkeit"
msgid "Monthly Calories"
msgstr "Monatliche Kalorien"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-"Diese GPX-Datei scheint ein Eintrag über mehrere Tage zu sein. Vielleicht "
-"werden Sie Ihre GPX-Datei bearbeiten müssen."
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr "Schnelligkeit (km/h)"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
+msgstr "Moderate Aktivität"
-#: pytrainer/daygraph.py:54
-msgid "Velocity"
-msgstr "Schnelligkeit"
+#: pytrainer/profile.py:140
+msgid "Weight Control"
+msgstr "Gewichtskontrolle"
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
-msgstr "Diesen Wegpunkt löschen?"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
+msgstr "Sauerstoffabhängig"
-#: imports/file_gpxplus.py:41
-msgid "GPS eXchange file"
-msgstr "GPS-eXchange-Datei"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
+msgstr "Sauerstoffunabhängig"
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr "Geodistanz kml-Datei Version 2.0"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
+msgstr "VO2 MAX"
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
-msgstr "Garmin Trainings-Center Datenbankdatei Version 1"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
+msgstr "Dateien vor dem Import bearbeiten"
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr "Nokia Export - GPS eXchange-Datei"
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
+msgstr "pytrainer kann keine Daten aus Ihrer GPX-Datei importieren"
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
-msgstr "GPSBabel"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
+msgstr "Jahr"
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr "Garmintools"
+#: pytrainer/totalgraph.py:24
+msgid "Annual Distance"
+msgstr "Jährliche Strecke"
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr "Gant"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
+msgstr "Jährliche Zeit"
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
-msgstr "Garmintools Dump-Datei"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
+msgstr "Jährliche Durchschnitts-Herzfrequenz"
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
-msgstr "Garmin Trainings-Center Datenbankdatei Version 2"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
+msgstr "Jährliche Durchschnittsgeschwindigkeit"
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
-msgstr "Korrektur der Höhenlage abgeschlossen"
+#: pytrainer/totalgraph.py:28
+msgid "Annual Calories"
+msgstr "Jährliche Kalorien"
-#: extensions/openstreetmap/openstreetmap.py:82
+#: pytrainer/waypoint.py:88
msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
-"GPX-Spur wird zu OpenStreetMap hochgeladen\n"
-"\n"
-"Bitte haben Sie Geduld, dies kann einige Minuten dauern"
-
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
-msgstr "OpenStreetMap-Erweiterung arbeitet"
-
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
-msgstr "OpenStreetMap-Erweiterung hat das Hochladen abgeschlossen"
-
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
-msgstr "Fehler beim Hochladen der Datei zu OSM: "
-
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
-msgstr "OpenStreetMap-Erweiterungs-Fehler"
-
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
-msgstr "Bitte fügen Sie diesem Upload jede zusätzliche Information bei"
-
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
-msgstr "Fehler"
-
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
-msgstr "Fehler beim Speichern der Erweiterungs-Konfiguration"
-
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
-msgstr "Hochladen zum Wordpress-Blog"
-
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
-msgstr "Worpress-Erweiterung arbeitet"
-
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
-msgstr "Wordpress-Erweiterung Hochladen abgeschlossen"
+"Diese GPX-Datei scheint ein Eintrag über mehrere Tage zu sein. Vielleicht "
+"werden Sie Ihre GPX-Datei bearbeiten müssen."
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
-msgstr "Strava Hochladen"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
+msgstr "Diesen Wegpunkt löschen?"
-#: extensions/gpx2garmin/gpx2garmin.py:50
-msgid "gpx2garmin Extension"
-msgstr "gpx2garmin Erweiterung"
+#~ msgid "Calendar"
+#~ msgstr "Kalender"
+
+#~ msgid ""
+#~ "Error\n"
+#~ "Warning\n"
+#~ "Info\n"
+#~ "Debug"
+#~ msgstr ""
+#~ "Fehler\n"
+#~ "Warnung\n"
+#~ "Info\n"
+#~ "Debug"
+
+#~ msgid ""
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ "Percentage\n"
+#~ "Zone"
+#~ msgstr ""
+#~ "Profil\n"
+#~ "Geschwindigkeit\n"
+#~ "Tempo\n"
+#~ "Herzfrequenz\n"
+#~ "Rhythmus\n"
+#~ "Prozente\n"
+#~ "Zone"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ msgstr ""
+#~ "Nichts\n"
+#~ "Profil\n"
+#~ "Geschwindigkeit\n"
+#~ "Tempo\n"
+#~ "Herzfrequenz\n"
+#~ "Rhythmus\n"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Speed\n"
+#~ "Heart rate\n"
+#~ "Cadence"
+#~ msgstr ""
+#~ "Nichts\n"
+#~ "Geschwindigkeit\n"
+#~ "Herzfrequenz\n"
+#~ "Rhythmus"
+
+#~ msgid ""
+#~ "Stage Profile\n"
+#~ "Stage Velocity\n"
+#~ "Stage Profile/velocity"
+#~ msgstr ""
+#~ "Profil bereitstellen\n"
+#~ "Geschwindigkeit bereitstellen\n"
+#~ "Profil/Geschwindigkeit bereitstellen"
+
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Strecke\n"
+#~ "Zeit\n"
+#~ "Durchschnitts-Herzfrequenz\n"
+#~ "Durchschnittsgeschwindigkeit\n"
+#~ "Kalorien"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Nichts\n"
+#~ "Strecke\n"
+#~ "Zeit\n"
+#~ "Duchschnittliche Herzfrequenz\n"
+#~ "Durchschnittsgeschwindigkeit\n"
+#~ "Kalorien"
+
+#~ msgid ""
+#~ "All time\n"
+#~ "Last 4 weeks\n"
+#~ "Last 6 months\n"
+#~ "Last 12 months"
+#~ msgstr ""
+#~ "Seit Anbeginn der Zeit\n"
+#~ "Letzte 4 Wochen\n"
+#~ "Letzte 6 Wochen\n"
+#~ "Letzte 12 Wochen"
+
+#~ msgid ""
+#~ "Font\n"
+#~ "Restaurant\n"
+#~ "Scenic Area\n"
+#~ "Summit"
+#~ msgstr ""
+#~ "Schrift\n"
+#~ "Restaurant\n"
+#~ "Landschaft\n"
+#~ "Gipfel"
+
+#~ msgid "Merge tracks"
+#~ msgstr "Strecken zusammenführen"
+
+#~ msgid "Miles"
+#~ msgstr "Meilen"
+
+#~ msgid "miles"
+#~ msgstr "Meilen"
+
+#~ msgid "miles/h"
+#~ msgstr "Meilen/h"
+
+#~ msgid "min/mile"
+#~ msgstr "min/Meile"
+
+#~ msgid "feet"
+#~ msgstr "Fuß"
diff --git a/locale/es/LC_MESSAGES/pytrainer.mo b/locale/es/LC_MESSAGES/pytrainer.mo
index 4f5e34f..8d3ad95 100644
Binary files a/locale/es/LC_MESSAGES/pytrainer.mo and b/locale/es/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/es/LC_MESSAGES/pytrainer_es.po b/locale/es/LC_MESSAGES/pytrainer_es.po
index c10df11..3b6c4b0 100644
--- a/locale/es/LC_MESSAGES/pytrainer_es.po
+++ b/locale/es/LC_MESSAGES/pytrainer_es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pytrainer 1.10\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2013-03-12 16:31+0100\n"
"Last-Translator: David Garcia Granda <dgranda at gmail.com>\n"
"Language-Team: Spanish <pytrainer-devel at lists.sourceforge.net>\n"
@@ -18,324 +18,320 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr "Calendario"
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
msgid "<b>Equipment List</b>"
msgstr "<b>Lista de material</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
msgid "Description"
msgstr "Descripción"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr "Vida útil esperada"
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr "Uso anterior"
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr "Habilitado"
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr "Notas"
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
msgid "<b>Add New Equipment</b>"
msgstr "<b>Añadir nuevo material</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
msgid "<b>Edit Equipment</b>"
msgstr "<b>Editar material</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr "¿Confirma que desea borrar el material?"
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
msgid "<b>Delete Equipment</b>"
msgstr "<b>Borrar material</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr "Extensiones"
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr "<b>Detalles de la extensión</b>"
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr "Nombre"
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
msgid "Name:"
msgstr "Nombre:"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
msgid "Status:"
msgstr "Estado:"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
msgid "Description:"
msgstr "Descripción:"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr "Estado"
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr "Descripción"
-#: glade/importdata.glade:7 glade/importdata.glade:325
-msgid "Import"
-msgstr "Importar"
+#: glade/importdata.ui:9
+#, fuzzy
+msgid "Test 1"
+msgstr ""
+"Prueba 1\n"
+"Prueba 2"
-#: glade/importdata.glade:36
-msgid ""
-"Test 1\n"
-"Test 2"
+#: glade/importdata.ui:12
+#, fuzzy
+msgid "Test 2"
msgstr ""
"Prueba 1\n"
"Prueba 2"
-#: glade/importdata.glade:46
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr "Descartar"
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr " "
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
+msgid "Import"
+msgstr "Importar"
+
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr "<b>Seleccione su dispositivo GPS</b>"
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr "Importar desde dispositivo GPS todavía no disponible"
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
msgid "<b>Tools</b>"
msgstr "<b>Herramientas</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr "Examinar de nuevo"
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr "Buscando de nuevo herramientas disponibles en el sistema"
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr "<b>Importar desde dispositivo GPS</b>"
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr "Borrar ficheros seleccionados y actividades asociadas"
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr "Añadir ficheros desde los que importar actividades"
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr "<b>Añadir fichero(s) desde el/los que importar actividades</b>"
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
msgid "<b>Select activities to import</b>"
msgstr "<b>Seleccionar actividades para importar</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr "Importar actividades seleccionadas"
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr "Cerrar proceso de importación"
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
msgid "<b>Import from File</b>"
msgstr "<b>Importar desde fichero</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
msgid "<b>Plugins</b>"
msgstr "<b>Plugins</b>"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr "Importar desde dispositivo GPS"
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr "Importar desde fichero"
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr "Arrancar 'Selección de fichero' en el comienzo"
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr "Lanzar proceso de selección de fichero automáticamente"
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr "Plugins"
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
msgid "<b>Default to Tab</b>"
msgstr "<b>Pestaña por defecto</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr "Resetear"
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr "Guardar"
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
msgid "<b>Options</b>"
msgstr "<b>Opciones</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
msgid "<b>Select file to import from</b>"
msgstr "<b>Seleccionar fichero para importar</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr "Pestaña"
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr "Coma"
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr "Otro"
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr "Leer archivo"
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
msgid "<b>File delimiter</b>"
msgstr "<b>Delimitador en el archivo</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Fecha"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr "Descartar"
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Distancia (km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr "Duración (s)"
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr "<b>Campo en pytrainer</b>"
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
msgid "<b>File Column</b>"
msgstr "<b>Columna en el archivo</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Título"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr "Descenso (m)"
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
msgid "Accent (m)"
msgstr "Ascenso (m)"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
msgid "Calories (kcal)"
msgstr "Calorías (kcal)"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
msgid "Max Speed (km/h)"
msgstr "Velocidad Máx. (km/h)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
msgid "Average Speed (km/h)"
msgstr "Velocidad media (km/h)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Deporte"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr "Pulsaciones medias (ppm)"
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr "Pulsaciones máximas (ppm)"
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
msgid "Pace (min/km)"
msgstr "Ritmo (min/km)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr "Ritmo máximo(min/km)"
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
msgid "Comments"
msgstr "Comentarios"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr "Forzar deporte a:"
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr " "
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
msgid "<b>Map Columns</b>"
msgstr "<b>Mapear columnas</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -350,128 +346,130 @@ msgstr ""
"fecha obligatoria)\n"
"4) Pulse 'Importar datos'</small>"
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr "Importar datos"
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
msgid "<b>Import from CSV</b>"
msgstr "<b>Importar desde fichero CSV</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Nueva entrada"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
msgid "Title:"
msgstr "Título:"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
msgid "GPX File:"
msgstr "Archivo GPX:"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Calcular valores"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
msgid "Sport:"
msgstr "Deporte:"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
msgid "<b>Main</b>"
msgstr "<b>Principal</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
msgid "Distance (Km):"
msgstr "Distancia (km):"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
msgid "Calculate"
msgstr "Calcular"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr "Duración:"
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
msgid "Date:"
msgstr "Fecha:"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr "Hora de comienzo:"
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr "12:00:00"
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
msgid "<b>General</b>"
msgstr "<b>General:</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
msgid "Max (km/h):"
msgstr "Velocidad Máx. (km/h):"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Velocidad media (km/h)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
msgid "<b>Speed</b>"
msgstr "<b>Velocidad</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
msgid "Quick Entry"
msgstr "Entrada"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr "Máx (min/km):"
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr "Ritmo (min/km):"
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
msgid "<b>Pace</b>"
msgstr "<b>Ritmo</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr "Ascenso:"
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr "Descenso:"
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
msgid "<b>Accumulated Altitude Change</b>"
msgstr "<b>Desnivel acumulado:</b>"
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr "Pico (ppm)"
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr "Pulsaciones:"
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Calorías"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
@@ -479,160 +477,190 @@ msgstr ""
"<small><b>Nota:</b> para el cálculo de calorías es necesario introducir el "
"valor de MET del deporte (en Preferencias -> Deporte)</small>"
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
msgid "<b>Heart Rate</b>"
msgstr "<b>Pulsaciones</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr "Avanzado"
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Comentarios</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr "<i>No hay piezas de material activas</i>"
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr "<b>Material asociado</b>"
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr "Equipamiento"
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
msgid "<b>Plugin Details</b>"
msgstr "<b>Detalles del plugin</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr "Descripción"
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr "Nombre entrada"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr "Error"
+
+#: glade/profile.ui:12
+msgid "Warning"
+msgstr "Advertencia"
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr "Preferencias"
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr "Sistema métrico"
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr "Sistema americano"
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr "<b>Sistema de medida</b>"
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "Estado"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Deportes</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr "Google"
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr "Open Street Map"
-#: glade/profile.glade:140
+#: glade/profile.ui:231
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Mapa por defecto</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
msgid "Database type:"
msgstr "Tipo de base de datos"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
msgid "Database host:"
msgstr "Servidor base de datos"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
msgid "Database name:"
msgstr "Nombre base de datos"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
msgid "Database user:"
msgstr "Usuario base de datos"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
msgid "Database pass:"
msgstr "Contraseña base de datos"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Base de datos:</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr "General"
-#: glade/profile.glade:369
+#: glade/profile.ui:447
msgid "User name:"
msgstr "Nombre de usuario:"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
msgid "Gender:"
msgstr "Género:"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
msgid "Height:"
msgstr "Altura:"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr "Fecha de nacimiento:"
-#: glade/profile.glade:520
+#: glade/profile.ui:599
msgid "Weight:"
msgstr "Peso:"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
msgid "<b>Athlete Details</b>"
msgstr "<b>Datos personales</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
msgid "Athlete"
msgstr "Atleta"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
msgid "<b>Sport List</b>"
msgstr "<b>Lista de deportes</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr "lista"
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr "M.E.T.:"
-#: glade/profile.glade:766
+#: glade/profile.ui:834
msgid "Extra Weight:"
msgstr "Peso extra:"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr "Más información sobre el coeficiente M.E.T. en Wikipedia"
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr "Ritmo más rápido:"
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
msgid "<b>Add New Sport</b>"
msgstr "<b>Añadir nuevo deporte</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "nuevo"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
@@ -640,60 +668,60 @@ msgstr ""
"Si borra un deporte elimina sus registros asociados.\n"
"¿Desea continuar?"
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
msgid "<b>Delete Sport</b>"
msgstr "<b>Borrar deporte</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "borrar"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Nombre"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr "M.E.T."
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
msgid "Extra Weight"
msgstr "Peso extra"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr "Ritmo más rápido"
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr "Color"
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
msgid "<b>Edit Sport</b>"
msgstr "<b>Editar deporte</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
msgid "<b>lalaal</b>"
msgstr "<b>lalaal</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "editar"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Deportes"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr "Pulsaciones máximas:"
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr "Pulsaciones en reposo:"
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
@@ -701,7 +729,7 @@ msgstr ""
"<small><b>Nota:</b> el número máximo de pulsaciones se calcula con la "
"siguiente fórmula: 220 menos su edad. </small>"
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
@@ -709,54 +737,43 @@ msgstr ""
"<small><b>Nota:</b> rellene todos los campos relativos a pulsaciones si usa "
"el método Karvonen</small>"
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr "Basado en porcentajes"
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr "Karvonen"
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr "Seleccione cómo calcular las zonas de frecuencia cardiaca"
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Zonas de frecuencia cardiaca</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr "Pulsaciones"
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr "Nivel de log"
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-"Error\n"
-"Advertencia\n"
-"Información\n"
-"Depuración"
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr "<small>¿Qué nivel de detalle existe en el fichero de log?</small>"
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr "Validar"
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
@@ -764,15 +781,15 @@ msgstr ""
"<small>¿Intentan los plugins validar el fichero de entrada antes de "
"procesarlo?</small>"
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr "Nuevo gráfico"
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr "<small>¿Desea usar los nuevos gráficos (experimental)?</small>"
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
@@ -783,1210 +800,1225 @@ msgstr ""
"hagan únicamente tendrán efecto en la presente ejecución de pytrainer y no "
"serán recordados en el futuro</small>"
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr "Configuración inicio"
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Distancia"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Tiempo"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "Pulsaciones medias (ppm)"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "medias diarias"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+msgid "All Distances"
+msgstr "Distancia"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+msgid "All Durations"
+msgstr "Duración"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Fecha"
+
+#: glade/pytrainer.ui:219
+#, fuzzy
+msgid "Last 4 weeks"
+msgstr "Últimas 4 semanas"
+
+#: glade/pytrainer.ui:222
+#, fuzzy
+msgid "Last 6 months"
+msgstr "Últimos 6 meses"
+
+#: glade/pytrainer.ui:225
+#, fuzzy
+msgid "Last 12 months"
+msgstr "Últimos 12 meses"
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Deportes"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+#, fuzzy
+msgid "Profile"
+msgstr "Perfil de Etapa"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr "Velocidad"
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr "Ritmo"
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr "Cadence"
+
+#: glade/pytrainer.ui:279
+#, fuzzy
+msgid "Percentage"
+msgstr "basado en porcentajes"
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr "Zona"
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "Pulsaciones:"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Perfil de Etapa"
+
+#: glade/pytrainer.ui:339
+#, fuzzy
+msgid "Stage Velocity"
+msgstr "Velocidad"
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Perfil de Etapa"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Archivo"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
msgid "_Import"
msgstr "_Importar"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
msgid "_Export as Text Separated by Commas"
msgstr "_Exportar como texto separado por comas (csv)"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "_Editar"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Ver"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr "Vista _clásica"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr "_Listado de registros"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
msgid " _Waypoints Editor"
msgstr "Editor de _waypoints"
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr "Herramientas"
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
msgid "GPS Device Plugins"
msgstr "Plugins de dispositivos GPS"
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Ayuda"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Deportes"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr "Columnas"
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
msgid "<b>Sport:</b>"
msgstr "<b>Deporte:</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
msgid "<b>Duration:</b>"
msgstr "<b>Duración:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
msgid "<b>Speed:</b>"
msgstr "<b>Velocidad:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
msgid "<b>Pace:</b>"
msgstr "<b>Ritmo:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
msgid "<b>Ascent:</b>"
msgstr "<b>Ascenso:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
msgid "<b>Calories:</b>"
msgstr "<b>Calorías: </b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "<b>Comentarios:</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
msgid "<b>Date:</b>"
msgstr "<b>Fecha:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Distancia:</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
msgid "<b>Max Speed</b>"
msgstr "<b>Pico velocidad:</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
msgid "<b>Max Pace:</b>"
msgstr "<b>Pico ritmo:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
msgid "<b>Descent:</b>"
msgstr "<b>Descenso:</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "Cal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/h"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
msgid "<b>Equipment:</b>"
msgstr "<b>Material:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
msgid "<b>Active / Rest:</b>"
msgstr "<b>Activo / Descanso:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr "h:m:s"
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
msgid "<b>Laps</b>"
msgstr "<b>Vueltas</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
msgid " <b>Title:</b>"
msgstr "<b>Título:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
msgid "Show graph display options"
msgstr "Mostrar opciones del gráfico"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-"Perfil\n"
-"Velocidad\n"
-"Ritmo\n"
-"Pulsaciones\n"
-"Cadencia\n"
-"Porcentaje\n"
-"Zona"
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr "contra"
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-"Nada\n"
-"Perfil\n"
-"Velocidad\n"
-"Ritmo\n"
-"Pulsaciones\n"
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr "<small>Opciones de visualización gráfica</small>"
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr "<small>Límites</small>"
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr "<small>Mín</small>"
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr "<small>Máx</small>"
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr "<small>Color</small>"
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr "<small>Peso</small>"
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr "Y1"
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr "<small>Suavizado</small>"
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr "Y2"
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr "X"
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
msgid "<small>Distance</small>"
msgstr "<small>Distancia</small>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr "<small>Tiempo</small>"
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr "Mostras vueltas"
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr "Resetear"
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr "Restaurar"
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr "<small>Mostrar:</small>"
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-"Nada\n"
-"Velocidad\n"
-"Pulsaciones\n"
-"Cadencia"
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr "<small>Opciones de visualización de mapas:</small>"
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
msgid "<b>Beats:</b>"
msgstr "<b>Pulsaciones:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Calorías: </b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
msgid "<b>Max Beats:</b>"
msgstr "<b>Pico pulsaciones:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
msgid "<b>HR Zones Method:</b>"
msgstr "<b>Método de cálculo:</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
msgid "<b>HR Zone5:</b>"
msgstr "<b>Máximo esfuerzo:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr "ppm"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr "Cal"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
msgid "<b>HR Zone4:</b>"
msgstr "<b>Anaeróbica:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
msgid "<b>HR Zone3:</b>"
msgstr "<b>Aeróbica:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
msgid "<b>HR Zone2:</b>"
msgstr "<b>Quemagrasas:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
msgid "<b>HR Zone1:</b>"
msgstr "<b>Recuperación:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "ppm"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
msgid " <b>Heart Rate:</b>"
msgstr "<b>Pulsaciones:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
msgid "<b>Projected times</b>"
msgstr "<b>Tiempos estimados</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr "<i>Historial en distancias similares ± x%: </i>"
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
msgid "<b>Range:</b>"
msgstr "<b>Horquilla:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
msgid "<b>Rank:</b>"
msgstr "<b>Posición:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
msgid "<b>Speed: </b>"
msgstr "<b>Velocidad: </b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
msgid "<b>Avg speed:</b>"
msgstr "<b>Velocidad media:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
msgid "<b>Standard deviation:</b>"
msgstr "<b>Desviación estándar:</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
msgid "<b>Deviation:</b>"
msgstr "<b>Desviación:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
msgid "<b>Ranking</b>"
msgstr "<b>Clasificación</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
msgid "<b>Analytics:</b>"
msgstr "<b>Estadísticas:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
msgid "Record"
msgstr "Registro"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
msgid "<b>Max Speed:</b>"
msgstr "<b>Velocidad máxima:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Media pulsaciones:</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr "min/km"
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Desnivel pos/neg:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
msgid "m"
msgstr "m"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
msgid " <b>Date:</b>"
msgstr "<b>Fecha:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Valor"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-"Perfil de Etapa\n"
-"Velocidad de Etapa\n"
-"Perfil/Velocidad de Etapa"
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Día"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
msgid " <b>Week:</b>"
msgstr "<b>Semana:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Distancia\n"
-"Tiempo\n"
-"Pulsaciones\n"
-"Velocidad media\n"
-"Calorías"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Nada\n"
-"Distancia\n"
-"Tiempo\n"
-"Pulsaciones\n"
-"Velocidad media\n"
-"Calorías"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr "Semana"
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
msgid " <b>Month:</b>"
msgstr "<b>Mes:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Mes"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
msgid " <b>Year:</b>"
msgstr "<b>Año:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "Año"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
msgid "<b>Graph</b>"
msgstr "<b>Gráfico</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
msgid "<b>History</b>"
msgstr "<b>Histórico</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
msgid "<b>Sports</b>"
msgstr "<b>Deportes</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
msgid "Total distance:"
msgstr "Distancia:"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr "Duración:"
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr "Fecha de comienzo:"
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr "Fecha fin:"
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
msgid "<b>All</b>"
msgstr "<b>Todos</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr "Totales"
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
msgid "<b>Title:</b>"
msgstr "<b>Título:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Buscar"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-msgid "All Distances"
-msgstr "Distancia"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-msgid "All Durations"
-msgstr "Duración"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-"Tiempo\n"
-"Últimas 4 semanas\n"
-"Últimos 6 meses\n"
-"Últimos 12 meses"
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr "Columnas"
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr "Tipo:"
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-"Fuente\n"
-"Restaurante\n"
-"Mirador\n"
-"Cumbre"
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
msgid "Latitude: "
msgstr "<b>Latitud:</b>"
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
msgid " Name:"
msgstr "Nombre:"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
msgid "Longitude:"
msgstr "<b>Longitud:</b>"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
msgid "<b> Waypoint: </b>"
msgstr "<b> Waypoint: </b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Editar entrada"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Mostrar gráfico en vista clásica"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
-msgstr "Combinar entrenamientos"
-
-#: glade/selecttrackdialog.glade:7
+#: glade/selecttrackdialog.ui:7
msgid "Select track record"
msgstr "Seleccione uno de los tracks"
-#: glade/warning.glade:7 glade/warning.glade:38
-msgid "Warning"
-msgstr "Advertencia"
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
+msgstr "Corrección de altura completada"
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
-msgstr "Millas"
+#: extensions/gpx2garmin/gpx2garmin.py:50
+msgid "gpx2garmin Extension"
+msgstr "Extensión gpx2garmin"
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "id"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
+msgstr ""
+"Enviando traza GPX a OpenStreetMap\n"
+"\n"
+"Por favor espere, puede durar varios minutos"
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
-msgstr "Comienzo"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
+msgstr "Procesando extensión OpenStreetMap"
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Distancia"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
+msgstr "Envío completo de la extensión OpenStreetMap"
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Tiempo"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr "Error mientras se subía el fichero a OSM:"
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
-msgstr "⌀ FC"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr "Error de la extensión OpenStreetMap"
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
-msgstr "⌀ Velocidad"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
+msgstr "Por favor indique información adicional para este envío"
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
-msgstr "Waypoint"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
+msgstr "Error mientras se guardaba la configuración de la extensión"
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Peso"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr "Subir a Strava"
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
-msgstr "Grasa corporal %"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr "Subir a blog de Wordpress"
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
-msgstr "FC en reposo"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
+msgstr "Procesando extensión Wordpress"
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
-msgstr "FC max"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
+msgstr "Envío completo a Wordpress"
-#: pytrainer/gui/windowmain.py:141
-msgid "Records"
-msgstr "Registros"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
+msgstr "Versión 1 del fichero Garmin training center database"
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
-msgstr "Duración"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr "Versión 2 del fichero Garmin training center database"
-#: pytrainer/gui/windowmain.py:143
-msgid "Total distance"
-msgstr "Distancia"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
+msgstr "Fichero de volcado de datos de Garmintools"
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
-msgstr "Velocidad"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
+msgstr "Nokia Export - Fichero de intercambio GPS"
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
-msgstr "Velocidad Máx."
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
+msgstr "Fichero kml v2.0"
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
-msgstr "FC med"
+#: imports/tool_gant.py:34
+msgid "Gant"
+msgstr "Gant"
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
-msgstr "Duración"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
+msgstr "Garmintools"
-#: pytrainer/gui/windowmain.py:149
-msgid "Max distance"
-msgstr "Distancia"
-
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
-msgstr "Vuelta"
-
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
-msgstr "Activador"
-
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
-msgstr "Ritmo"
-
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
-msgstr "Pico ritmo"
-
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
-msgstr "Intensidad"
-
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
-msgstr "Carrera"
-
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
-msgstr "Posición"
-
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
-msgstr "Velocidad"
-
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
-msgstr "Ritmo"
-
-#: pytrainer/gui/windowmain.py:320
-msgid "d"
-msgstr "d"
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr "Mostrar en eje X"
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr "Mostrar en eje Y1"
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr "Mostrar en eje Y2"
-
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
-msgstr "Límites de ejes"
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr "Vueltas"
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr "Cuadrícula eje izquierdo"
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr "Cuadrícula eje derecho"
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr "Cuadrícula eje X"
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr "Borrar límites"
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr "Establecer límites"
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr "basado en porcentajes"
-
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr "800 m"
-
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr "1500 m"
-
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
-msgstr "5 km"
-
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
-msgstr "7 km"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
+msgstr "GPSBabel"
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
-msgstr "10 km"
+#: imports/file_gpxplus.py:41
+msgid "GPS eXchange file"
+msgstr "Fichero de intercambio GPS"
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
-msgstr "Media maratón"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
+msgstr "Ritmo por vuelta"
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
-msgstr "Maratón"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
+msgstr "Tiempo (segundos)"
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
-msgstr "100 km"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
+msgstr "Velocidad por vuelta"
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
-msgstr "millas"
-
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
-msgstr "millas/h"
-
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
-msgstr "min/milla"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
+msgstr "Altura"
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
-msgid "km"
-msgstr "km"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
+msgstr "Altura corregida"
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
-msgstr "Pulsaciones"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
+msgstr "Frecuencia cardíaca (% del máx.)"
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Media"
+#: pytrainer/core/activity.py:480
+msgid "%"
+msgstr "%"
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
-msgstr "Ocultar configuración de visualización gráfica"
+#: pytrainer/core/activity.py:489
+msgid "rpm"
+msgstr "rpm"
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
-msgstr "vuelta"
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
+msgstr "Zona frecuencia cardiaca"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
msgid "h"
msgstr "h"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
-msgstr "s"
-
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-msgid "Edit Entry"
-msgstr "Editar entrada"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
+msgstr "min"
-#: pytrainer/gui/windowmain.py:2188
-msgid "Delete Entry"
-msgstr "Borrar entrada"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
+msgstr "Datos del atleta"
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
-msgstr "Crear entrada de atleta"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
+msgstr "Nombre de la ruta"
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
-msgstr "Editar atleta"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
+msgstr "descanso"
-#: pytrainer/gui/windowmain.py:2229
-msgid "<b>Date</b>"
-msgstr "<b>Fecha</b>"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
+msgstr "Uso"
-#: pytrainer/gui/windowmain.py:2245
-msgid "<b>Weight</b>"
-msgstr "<b>Peso</b>"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Editar entrada"
-#: pytrainer/gui/windowmain.py:2253
-msgid "<b>Body Fat</b>"
-msgstr "<b>Grasa corporal</b>"
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Mostrar gráfico en vista clásica"
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
-msgstr "<b>Pulsaciones en reposo</b>"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
+msgstr "Deshabilitar"
-#: pytrainer/gui/windowmain.py:2269
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Pulsaciones máx</b>"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
+msgstr "Habilitar"
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
-msgstr "¿Borrar esta entrada de la base de datos?"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
+msgstr "%s opciones"
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
-msgstr "¿Está seguro?"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
+msgstr "Ok"
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr "Ningún fichero seleccionado"
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr "Configurar"
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
msgid "Disabled"
msgstr "Deshabilitado"
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr "Activo"
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
msgstr "Comprobando herramientas"
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
msgid "GPS device found"
msgstr "Dispositivos GPS encontrado"
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr "Dispositivo GPS <b>no</b> encontrado"
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr "No se ha encontrado esta herramienta en el sistema"
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr "Página de inicio"
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
msgstr "Comprobando tipo de fichero: "
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "File"
msgstr "Archivo"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr "Tipo"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Activities"
msgstr "Actividades"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Start Time"
msgstr "Hora de comienzo"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Duration"
msgstr "Duración"
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr "Importado a base de datos"
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr "%s opciones"
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr "Deshabilitar"
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr "Habilitar"
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr "Ok"
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr "Guardar configuración"
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr "Configuración guardada"
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr "Importando una actividad"
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr "Importando %d actividades"
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
msgstr "Ninguna actividad ha sido importada"
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr "Una actividad importada"
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr "Importadas %d actividades"
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
msgstr " La actividad seleccionada ya estaba presente en base de datos"
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
msgstr "%d actividades seleccionadas ya estaban presentes en base de datos"
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr "Seleccione fichero/s desde el/los que importar actividades"
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr "Tipo de fichero encontrado: %s"
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr "Encontrado en base de datos"
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr "Fichero %s desconocido o no compatible"
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
msgid "Got file: "
msgstr "Fichero:"
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, python-format
msgid "Column %d"
msgstr "Columna %d"
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
msgstr "Error: se debe definir al menos la columna de la fecha"
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
msgstr "Importación completa. %d filas procesadas"
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
-msgstr "min"
-
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
-msgstr "descanso"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "id"
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
-msgid "Max"
-msgstr "Máx"
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
+msgstr "Comienzo"
-#: pytrainer/gui/windowrecord.py:104
-msgid "Ascent"
-msgstr "Ascenso"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
+msgstr "⌀ FC"
-#: pytrainer/gui/windowrecord.py:105
-msgid "Descent"
-msgstr "Descenso"
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
+msgstr "⌀ Velocidad"
-#: pytrainer/gui/windowrecord.py:211
-msgid "GPX File"
-msgstr "Archivo GPX"
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
+msgstr "Waypoint"
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
-msgstr "Varón"
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Peso"
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
-msgstr "Mujer"
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
+msgstr "Grasa corporal %"
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
-msgstr "M.E.T."
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
+msgstr "FC en reposo"
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
-msgstr "Fallo en la creación de deporte"
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
+msgstr "FC max"
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
-msgstr "Uso"
+#: pytrainer/gui/windowmain.py:129
+msgid "Records"
+msgstr "Registros"
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
-msgstr "Nombre de la ruta"
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
+msgstr "Duración"
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
-msgstr "Datos del atleta"
+#: pytrainer/gui/windowmain.py:131
+msgid "Total distance"
+msgstr "Distancia"
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
-msgstr "Ok"
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
+msgstr "Velocidad"
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Altura (m)"
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr "Velocidad Máx."
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Perfil de Etapa"
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
+msgstr "FC med"
-#: pytrainer/recordgraph.py:136
-msgid "Speed (Km/h)"
-msgstr "Velocidad (km/h)"
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
+msgstr "Duración"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
-msgid "Beats (bpm)"
-msgstr "Media pulsaciones (ppm)"
+#: pytrainer/gui/windowmain.py:137
+msgid "Max distance"
+msgstr "Distancia"
-#: pytrainer/recordgraph.py:142
-msgid "Cadence (rpm)"
-msgstr "Cadencia (rpm)"
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
+msgstr "Vuelta"
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
-msgstr "Cadence"
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
+msgstr "Activador"
-#: pytrainer/recordgraph.py:144
-msgid "Beats (%)"
-msgstr "Pulsaciones (%)"
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
+msgstr "Ritmo"
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
-msgstr "Zona"
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
+msgstr "Pico ritmo"
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
-msgstr "Actividad moderada"
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
+msgstr "Intensidad"
-#: pytrainer/profile.py:115
-msgid "Weight Control"
-msgstr "Control de peso"
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
+msgstr "Carrera"
-#: pytrainer/profile.py:116
-msgid "Aerobic"
-msgstr "Aeróbico"
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
+msgstr "Posición"
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
-msgstr "Anaeróbico"
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
+msgstr ""
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
-msgstr "VO2 máximo"
+#: pytrainer/gui/windowmain.py:323
+msgid "d"
+msgstr "d"
+
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
+msgstr "Mostrar en eje X"
+
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
+msgstr "Mostrar en eje Y1"
+
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
+msgstr "Mostrar en eje Y2"
+
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
+msgstr "Límites de ejes"
+
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
+msgstr "Vueltas"
+
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr "Cuadrícula eje izquierdo"
+
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
+msgstr "Cuadrícula eje derecho"
+
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
+msgstr "Cuadrícula eje X"
+
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr "Borrar límites"
+
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr "Establecer límites"
+
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr "basado en porcentajes"
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr "800 m"
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr "1500 m"
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr "5 km"
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr "7 km"
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr "10 km"
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
+msgstr "Media maratón"
+
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr "Maratón"
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr "100 km"
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr "Pulsaciones"
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Media"
+
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
+msgstr "Ocultar configuración de visualización gráfica"
+
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
+msgstr "vuelta"
+
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
+msgstr "s"
+
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
+msgid "Edit Entry"
+msgstr "Editar entrada"
+
+#: pytrainer/gui/windowmain.py:2152
+msgid "Delete Entry"
+msgstr "Borrar entrada"
+
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
+msgstr "Crear entrada de atleta"
+
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
+msgstr "Editar atleta"
+
+#: pytrainer/gui/windowmain.py:2193
+msgid "<b>Date</b>"
+msgstr "<b>Fecha</b>"
+
+#: pytrainer/gui/windowmain.py:2209
+msgid "<b>Weight</b>"
+msgstr "<b>Peso</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+msgid "<b>Body Fat</b>"
+msgstr "<b>Grasa corporal</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
+msgstr "<b>Pulsaciones en reposo</b>"
+
+#: pytrainer/gui/windowmain.py:2233
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Pulsaciones máx</b>"
+
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
+msgstr "¿Borrar esta entrada de la base de datos?"
+
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
+msgstr "¿Está seguro?"
+
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
+msgstr "Varón"
+
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
+msgstr "Mujer"
+
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
+msgstr "M.E.T."
+
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr "Fallo en la creación de deporte"
+
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
+msgid "Max"
+msgstr "Máx"
+
+#: pytrainer/gui/windowrecord.py:97
+msgid "Ascent"
+msgstr "Ascenso"
+
+#: pytrainer/gui/windowrecord.py:98
+msgid "Descent"
+msgstr "Descenso"
+
+#: pytrainer/gui/windowrecord.py:204
+msgid "GPX File"
+msgstr "Archivo GPX"
+
+#: pytrainer/lib/gpx.py:128
+msgid "No Name"
+msgstr "Sin nombre"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
+msgstr "Sin datos"
#: pytrainer/lib/listview.py:32
msgid "All Time"
@@ -2016,83 +2048,51 @@ msgstr "De 1 a 2 horas"
msgid ">2 Hours"
msgstr "> 2 horas"
-#: pytrainer/lib/gpx.py:129
-msgid "No Name"
-msgstr "Sin nombre"
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr "Sin datos"
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr "pies"
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr "Ritmo por vuelta"
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr "Tiempo (segundos)"
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr "Velocidad por vuelta"
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr "Altura"
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr "Altura corregida"
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr "Frecuencia cardíaca (% del máx.)"
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr "%"
-
-#: pytrainer/lib/activity.py:464
-msgid "rpm"
-msgstr "rpm"
-
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
-msgstr "Zona frecuencia cardiaca"
+#: pytrainer/lib/uc.py:52
+msgid "km"
+msgstr "km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mi"
msgstr "milla"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr "mph"
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr "min/milla"
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr "pie"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr "kg"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr "lb"
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Altura (m)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr "Velocidad (km/h)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity"
+msgstr "Velocidad"
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+msgid "Beats (bpm)"
+msgstr "Media pulsaciones (ppm)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2103,8 +2103,8 @@ msgstr "día"
msgid "Daily Distance"
msgstr "Distancia"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
msgid "Time (hours)"
msgstr "Tiempo en horas"
@@ -2112,8 +2112,8 @@ msgstr "Tiempo en horas"
msgid "Daily Time"
msgstr "Tiempo diario"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr "Pulsaciones medias (ppm)"
@@ -2129,39 +2129,17 @@ msgstr "medias diarias"
msgid "Daily Calories"
msgstr "Calorías diarias"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr "año"
-
-#: pytrainer/totalgraph.py:24
-msgid "Annual Distance"
-msgstr "Distancia anual"
-
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr "Tiempo anual"
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr "Pulsaciones medias en el año"
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr "Velocidad media anual"
-
-#: pytrainer/totalgraph.py:28
-msgid "Annual Calories"
-msgstr "Calorías (kcal) en el año"
+#: pytrainer/recordgraph.py:136
+msgid "Speed (Km/h)"
+msgstr "Velocidad (km/h)"
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr "Modificar detalles antes de importar"
+#: pytrainer/recordgraph.py:142
+msgid "Cadence (rpm)"
+msgstr "Cadencia (rpm)"
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr "pytrainer no puede importar datos de tu fichero gpx"
+#: pytrainer/recordgraph.py:144
+msgid "Beats (%)"
+msgstr "Pulsaciones (%)"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2189,120 +2167,201 @@ msgstr "Medias mensuales"
msgid "Monthly Calories"
msgstr "Calorías mensuales"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-"Parece que el archivo gpx contiene actividades de varios días. Probablemente "
-"necesites editarlo"
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr "Velocidad (km/h)"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
+msgstr "Actividad moderada"
-#: pytrainer/daygraph.py:54
-msgid "Velocity"
-msgstr "Velocidad"
+#: pytrainer/profile.py:140
+msgid "Weight Control"
+msgstr "Control de peso"
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
-msgstr "¿Borrar este waypoint?"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
+msgstr "Aeróbico"
-#: imports/file_gpxplus.py:41
-msgid "GPS eXchange file"
-msgstr "Fichero de intercambio GPS"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
+msgstr "Anaeróbico"
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr "Fichero kml v2.0"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
+msgstr "VO2 máximo"
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
-msgstr "Versión 1 del fichero Garmin training center database"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
+msgstr "Modificar detalles antes de importar"
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr "Nokia Export - Fichero de intercambio GPS"
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
+msgstr "pytrainer no puede importar datos de tu fichero gpx"
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
-msgstr "GPSBabel"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
+msgstr "año"
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr "Garmintools"
+#: pytrainer/totalgraph.py:24
+msgid "Annual Distance"
+msgstr "Distancia anual"
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr "Gant"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
+msgstr "Tiempo anual"
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
-msgstr "Fichero de volcado de datos de Garmintools"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
+msgstr "Pulsaciones medias en el año"
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
-msgstr "Versión 2 del fichero Garmin training center database"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
+msgstr "Velocidad media anual"
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
-msgstr "Corrección de altura completada"
+#: pytrainer/totalgraph.py:28
+msgid "Annual Calories"
+msgstr "Calorías (kcal) en el año"
-#: extensions/openstreetmap/openstreetmap.py:82
+#: pytrainer/waypoint.py:88
msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
-"Enviando traza GPX a OpenStreetMap\n"
-"\n"
-"Por favor espere, puede durar varios minutos"
-
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
-msgstr "Procesando extensión OpenStreetMap"
-
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
-msgstr "Envío completo de la extensión OpenStreetMap"
-
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
-msgstr "Error mientras se subía el fichero a OSM:"
-
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
-msgstr "Error de la extensión OpenStreetMap"
-
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
-msgstr "Por favor indique información adicional para este envío"
-
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
-msgstr "Error"
-
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
-msgstr "Error mientras se guardaba la configuración de la extensión"
-
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
-msgstr "Subir a blog de Wordpress"
-
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
-msgstr "Procesando extensión Wordpress"
-
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
-msgstr "Envío completo a Wordpress"
+"Parece que el archivo gpx contiene actividades de varios días. Probablemente "
+"necesites editarlo"
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
-msgstr "Subir a Strava"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
+msgstr "¿Borrar este waypoint?"
-#: extensions/gpx2garmin/gpx2garmin.py:50
-msgid "gpx2garmin Extension"
-msgstr "Extensión gpx2garmin"
+#~ msgid "Calendar"
+#~ msgstr "Calendario"
+
+#~ msgid ""
+#~ "Error\n"
+#~ "Warning\n"
+#~ "Info\n"
+#~ "Debug"
+#~ msgstr ""
+#~ "Error\n"
+#~ "Advertencia\n"
+#~ "Información\n"
+#~ "Depuración"
+
+#~ msgid ""
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ "Percentage\n"
+#~ "Zone"
+#~ msgstr ""
+#~ "Perfil\n"
+#~ "Velocidad\n"
+#~ "Ritmo\n"
+#~ "Pulsaciones\n"
+#~ "Cadencia\n"
+#~ "Porcentaje\n"
+#~ "Zona"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ msgstr ""
+#~ "Nada\n"
+#~ "Perfil\n"
+#~ "Velocidad\n"
+#~ "Ritmo\n"
+#~ "Pulsaciones\n"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Speed\n"
+#~ "Heart rate\n"
+#~ "Cadence"
+#~ msgstr ""
+#~ "Nada\n"
+#~ "Velocidad\n"
+#~ "Pulsaciones\n"
+#~ "Cadencia"
+
+#~ msgid ""
+#~ "Stage Profile\n"
+#~ "Stage Velocity\n"
+#~ "Stage Profile/velocity"
+#~ msgstr ""
+#~ "Perfil de Etapa\n"
+#~ "Velocidad de Etapa\n"
+#~ "Perfil/Velocidad de Etapa"
+
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Distancia\n"
+#~ "Tiempo\n"
+#~ "Pulsaciones\n"
+#~ "Velocidad media\n"
+#~ "Calorías"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Nada\n"
+#~ "Distancia\n"
+#~ "Tiempo\n"
+#~ "Pulsaciones\n"
+#~ "Velocidad media\n"
+#~ "Calorías"
+
+#~ msgid ""
+#~ "All time\n"
+#~ "Last 4 weeks\n"
+#~ "Last 6 months\n"
+#~ "Last 12 months"
+#~ msgstr ""
+#~ "Tiempo\n"
+#~ "Últimas 4 semanas\n"
+#~ "Últimos 6 meses\n"
+#~ "Últimos 12 meses"
+
+#~ msgid ""
+#~ "Font\n"
+#~ "Restaurant\n"
+#~ "Scenic Area\n"
+#~ "Summit"
+#~ msgstr ""
+#~ "Fuente\n"
+#~ "Restaurante\n"
+#~ "Mirador\n"
+#~ "Cumbre"
+
+#~ msgid "Merge tracks"
+#~ msgstr "Combinar entrenamientos"
+
+#~ msgid "Miles"
+#~ msgstr "Millas"
+
+#~ msgid "miles"
+#~ msgstr "millas"
+
+#~ msgid "miles/h"
+#~ msgstr "millas/h"
+
+#~ msgid "min/mile"
+#~ msgstr "min/milla"
+
+#~ msgid "feet"
+#~ msgstr "pies"
diff --git a/locale/eu/LC_MESSAGES/pytrainer.mo b/locale/eu/LC_MESSAGES/pytrainer.mo
index 59da62c..e990172 100644
Binary files a/locale/eu/LC_MESSAGES/pytrainer.mo and b/locale/eu/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/eu/LC_MESSAGES/pytrainer_eu.po b/locale/eu/LC_MESSAGES/pytrainer_eu.po
index c3dfef1..5533b60 100644
--- a/locale/eu/LC_MESSAGES/pytrainer_eu.po
+++ b/locale/eu/LC_MESSAGES/pytrainer_eu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: vud 1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2008-01-04 20:21+0100\n"
"Last-Translator: Jabier Santamaria <mendikote at gmail.com>\n"
"Language-Team: Basque\n"
@@ -16,347 +16,339 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr "Egutegia"
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
#, fuzzy
msgid "<b>Equipment List</b>"
msgstr "<b>Kirolen zerrenda</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
#, fuzzy
msgid "Description"
msgstr "<b>Deskribapena:</b>"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr ""
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr ""
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr "Aktiboa"
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr ""
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
#, fuzzy
msgid "<b>Add New Equipment</b>"
msgstr "<b>Kirol berria gehitu</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
#, fuzzy
msgid "<b>Edit Equipment</b>"
msgstr "<b>Kirola editatu</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr ""
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
#, fuzzy
msgid "<b>Delete Equipment</b>"
msgstr "<b>Kirola ezabatu</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr "Gehigarriak"
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr ""
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr ""
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
#, fuzzy
msgid "Name:"
msgstr "Izena"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
#, fuzzy
msgid "Status:"
msgstr "<b>Egoera:</b>"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
#, fuzzy
msgid "Description:"
msgstr "<b>Deskribapena:</b>"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr ""
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr ""
-#: glade/importdata.glade:7 glade/importdata.glade:325
+#: glade/importdata.ui:9
+msgid "Test 1"
+msgstr ""
+
+#: glade/importdata.ui:12
+msgid "Test 2"
+msgstr ""
+
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr ""
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr "."
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
#, fuzzy
msgid "Import"
msgstr "Kirola"
-#: glade/importdata.glade:36
-msgid ""
-"Test 1\n"
-"Test 2"
-msgstr ""
-
-#: glade/importdata.glade:46
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr ""
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr ""
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
#, fuzzy
msgid "<b>Tools</b>"
msgstr "<b>Titulua:</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr ""
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr ""
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr ""
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr ""
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr ""
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr ""
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
#, fuzzy
msgid "<b>Select activities to import</b>"
msgstr "<b>Kirola ezabatu</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr ""
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr ""
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
#, fuzzy
msgid "<b>Import from File</b>"
msgstr "<b>Kirolen zerrenda</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
#, fuzzy
msgid "<b>Plugins</b>"
msgstr "Plugin-ak"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr ""
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr ""
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr ""
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr ""
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr "Plugin-ak"
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
#, fuzzy
msgid "<b>Default to Tab</b>"
msgstr "<b>Datubasea</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr ""
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr ""
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
#, fuzzy
msgid "<b>Options</b>"
msgstr "<b>Deskribapena:</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
#, fuzzy
msgid "<b>Select file to import from</b>"
msgstr "<b>Kirola ezabatu</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr ""
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr ""
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr ""
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr ""
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
#, fuzzy
msgid "<b>File delimiter</b>"
msgstr "<b>Denbora:</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Data"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr ""
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Distantzia (km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr ""
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr ""
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
#, fuzzy
msgid "<b>File Column</b>"
msgstr "<b>Komentarioa</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Titulua"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr ""
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
#, fuzzy
msgid "Accent (m)"
msgstr "Altuera (m)"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
#, fuzzy
msgid "Calories (kcal)"
msgstr "Kaloriak"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
#, fuzzy
msgid "Max Speed (km/h)"
msgstr "Bataz bestekoa (km/h)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
#, fuzzy
msgid "Average Speed (km/h)"
msgstr "Bataz bestekoa (km/h)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Kirola"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
#, fuzzy
msgid "Pace (min/km)"
msgstr "Distantzia (km)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr ""
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
#, fuzzy
msgid "Comments"
msgstr "<b>Komentarioa</b>"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr ""
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr "."
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
#, fuzzy
msgid "<b>Map Columns</b>"
msgstr "<b>Komentarioa</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -365,1712 +357,1766 @@ msgid ""
"4) Click 'Import Data'</small>"
msgstr ""
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr ""
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
#, fuzzy
msgid "<b>Import from CSV</b>"
msgstr "<b>Kirolen zerrenda</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Sarrera berria"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
#, fuzzy
msgid "Title:"
msgstr "Titulua"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
#, fuzzy
msgid "GPX File:"
msgstr "GPX fitxategia"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Balioak kalkulatu"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
#, fuzzy
msgid "Sport:"
msgstr "Kirola"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
#, fuzzy
msgid "<b>Main</b>"
msgstr "<b>Hilabetea:</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
#, fuzzy
msgid "Distance (Km):"
msgstr "Distantzia (km)"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
#, fuzzy
msgid "Calculate"
msgstr "Denbora kalkulatu"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr ""
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
#, fuzzy
msgid "Date:"
msgstr "Data"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr ""
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr ""
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
#, fuzzy
msgid "<b>General</b>"
msgstr "<b>Bataz bestekoa:</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
#, fuzzy
msgid "Max (km/h):"
msgstr "Bataz bestekoa (km/h)"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Bataz bestekoa (km/h)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
#, fuzzy
msgid "<b>Speed</b>"
msgstr "<b>Mota:</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
#, fuzzy
msgid "Quick Entry"
msgstr "Sarrera berria"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr ""
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr ""
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
#, fuzzy
msgid "<b>Pace</b>"
msgstr "<b>Izena:</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr ""
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr ""
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
#, fuzzy
msgid "<b>Accumulated Altitude Change</b>"
msgstr "<b>Metatutako desnibela</b>"
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr ""
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr ""
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Kaloriak"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
msgstr ""
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
#, fuzzy
msgid "<b>Heart Rate</b>"
msgstr "<b>Bataz besteko taupadak</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr ""
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Komentarioa</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr ""
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr ""
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr ""
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
#, fuzzy
msgid "<b>Plugin Details</b>"
msgstr "<b>Datubasea</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr ""
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr "Sarrera berria"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr ""
+
+#: glade/profile.ui:12
+#, fuzzy
+msgid "Warning"
+msgstr "abisua"
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr ""
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr ""
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr ""
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr ""
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "Sarrera berria"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Egoera:</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr ""
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr ""
-#: glade/profile.glade:140
+#: glade/profile.ui:231
#, fuzzy
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Kirola ezabatu</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
#, fuzzy
msgid "Database type:"
msgstr "Datubase mota"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
#, fuzzy
msgid "Database host:"
msgstr "Datubase zerbitzaria"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
#, fuzzy
msgid "Database name:"
msgstr "Datubasearen izena"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
#, fuzzy
msgid "Database user:"
msgstr "Datubasearen erabiltzailea"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
#, fuzzy
msgid "Database pass:"
msgstr "Datubasearen pasahitza"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Datubasea</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr ""
-#: glade/profile.glade:369
+#: glade/profile.ui:447
#, fuzzy
msgid "User name:"
msgstr "Izen berria"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
#, fuzzy
msgid "Gender:"
msgstr "Generoa"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
#, fuzzy
msgid "Height:"
msgstr "Altuera"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr ""
-#: glade/profile.glade:520
+#: glade/profile.ui:599
#, fuzzy
msgid "Weight:"
msgstr "Pisua"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
#, fuzzy
msgid "<b>Athlete Details</b>"
msgstr "<b>Kirola ezabatu</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
#, fuzzy
msgid "Athlete"
msgstr "ezabatu"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
#, fuzzy
msgid "<b>Sport List</b>"
msgstr "<b>Kirolen zerrenda</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr ""
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr ""
-#: glade/profile.glade:766
+#: glade/profile.ui:834
#, fuzzy
msgid "Extra Weight:"
msgstr "Pisua"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr ""
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
#, fuzzy
msgid "<b>Add New Sport</b>"
msgstr "<b>Kirol berria gehitu</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "berria"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
msgstr ""
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
#, fuzzy
msgid "<b>Delete Sport</b>"
msgstr "<b>Kirola ezabatu</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "ezabatu"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Izena"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr ""
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
#, fuzzy
msgid "Extra Weight"
msgstr "Pisua"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr ""
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr ""
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
#, fuzzy
msgid "<b>Edit Sport</b>"
msgstr "<b>Kirola editatu</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
#, fuzzy
msgid "<b>lalaal</b>"
msgstr "<b>Datubasea</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "editatu"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Kirolak"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr ""
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr ""
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
msgstr ""
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
msgstr ""
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr ""
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr ""
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr ""
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
#, fuzzy
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Bataz besteko taupadak</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr ""
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr ""
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr ""
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr ""
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
msgstr ""
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr ""
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
"instance of pytrainer, they will not be remembered next time though</small>"
msgstr ""
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr ""
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Distantzia"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Denbora"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "minutuko bataz bestekoa"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "eguneko bataz bestekoak"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+#, fuzzy
+msgid "All Distances"
+msgstr "Distantzia"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+#, fuzzy
+msgid "All Durations"
+msgstr "Kirol guztiak"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Denbora"
+
+#: glade/pytrainer.ui:219
+msgid "Last 4 weeks"
+msgstr ""
+
+#: glade/pytrainer.ui:222
+#, fuzzy
+msgid "Last 6 months"
+msgstr "Sarrera berria"
+
+#: glade/pytrainer.ui:225
+msgid "Last 12 months"
+msgstr ""
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Kirol guztiak"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+msgid "Profile"
+msgstr "Profila"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr ""
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr ""
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr ""
+
+#: glade/pytrainer.ui:279
+msgid "Percentage"
+msgstr ""
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr ""
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "<b>Bataz besteko taupadak</b>"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Etaparen profila"
+
+#: glade/pytrainer.ui:339
+#, fuzzy
+msgid "Stage Velocity"
+msgstr "abiadura"
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Etaparen profila"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "Fitxategia"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
#, fuzzy
msgid "_Import"
msgstr "Kirola"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
#, fuzzy
msgid "_Export as Text Separated by Commas"
msgstr "Komarekin banatutako testu bezala esportatu"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "Editatu"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "Ikusi"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr "Ikuspegi klasikoa"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr "Zerrenda ikuspegia"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
#, fuzzy
msgid " _Waypoints Editor"
msgstr "Waypoints editorea"
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr "Tresnak"
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
#, fuzzy
msgid "GPS Device Plugins"
msgstr "GPS gailu plugin-ak"
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "Laguntza"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Kirol guztiak"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr "Zutabeak"
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
#, fuzzy
msgid "<b>Sport:</b>"
msgstr "<b>Kirolen zerrenda</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
#, fuzzy
msgid "<b>Duration:</b>"
msgstr "<b>Deskribapena:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
#, fuzzy
msgid "<b>Speed:</b>"
msgstr "<b>Mota:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
#, fuzzy
msgid "<b>Pace:</b>"
msgstr "<b>Izena:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
#, fuzzy
msgid "<b>Ascent:</b>"
msgstr "<b>Distantzia</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
#, fuzzy
msgid "<b>Calories:</b>"
msgstr "<b>Kaloriak:</b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "<b>Komentarioak:</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
#, fuzzy
msgid "<b>Date:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Distantzia</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
#, fuzzy
msgid "<b>Max Speed</b>"
msgstr "<b>Izena:</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
#, fuzzy
msgid "<b>Max Pace:</b>"
msgstr "<b>Izena:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
#, fuzzy
msgid "<b>Descent:</b>"
msgstr "<b>Distantzia</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "Kal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/h"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
#, fuzzy
msgid "<b>Equipment:</b>"
msgstr "<b>Denbora:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
#, fuzzy
msgid "<b>Active / Rest:</b>"
msgstr "<b>Bataz bestekoa:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr ""
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
#, fuzzy
msgid "<b>Laps</b>"
msgstr "<b>Egoera:</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
msgid " <b>Title:</b>"
msgstr "<b>Titulua:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
#, fuzzy
msgid "Show graph display options"
msgstr "Grafikoa ikuspegi klasikoan ikusi"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr ""
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr ""
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr ""
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr ""
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr ""
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr ""
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr ""
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr ""
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr ""
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr ""
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr ""
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
#, fuzzy
msgid "<small>Distance</small>"
msgstr "<b>Distantzia</b>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr ""
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr ""
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr ""
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr ""
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr ""
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr ""
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
#, fuzzy
msgid "<b>Beats:</b>"
msgstr "<b>Bataz besteko taupadak</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Kaloriak:</b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
#, fuzzy
msgid "<b>Max Beats:</b>"
msgstr "<b>Bataz besteko taupadak</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
#, fuzzy
msgid "<b>HR Zones Method:</b>"
msgstr "<b>Hilabetea:</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
#, fuzzy
msgid "<b>HR Zone5:</b>"
msgstr "<b>Hilabetea:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr "bpm"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr "Kal"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
#, fuzzy
msgid "<b>HR Zone4:</b>"
msgstr "<b>Hilabetea:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
#, fuzzy
msgid "<b>HR Zone3:</b>"
msgstr "<b>Hilabetea:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
#, fuzzy
msgid "<b>HR Zone2:</b>"
msgstr "<b>Hilabetea:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
#, fuzzy
msgid "<b>HR Zone1:</b>"
msgstr "<b>Hilabetea:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "bpm"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
#, fuzzy
msgid " <b>Heart Rate:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
#, fuzzy
msgid "<b>Projected times</b>"
msgstr "<b>Positiboa:</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
#, fuzzy
msgid "<b>Range:</b>"
msgstr "<b>Izena:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
#, fuzzy
msgid "<b>Rank:</b>"
msgstr "<b>Izena:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
#, fuzzy
msgid "<b>Speed: </b>"
msgstr "<b>Mota:</b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
#, fuzzy
msgid "<b>Avg speed:</b>"
msgstr "<b>Bataz bestekoa:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
#, fuzzy
msgid "<b>Standard deviation:</b>"
msgstr "<b>Deskribapena:</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
#, fuzzy
msgid "<b>Deviation:</b>"
msgstr "<b>Deskribapena:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
#, fuzzy
msgid "<b>Ranking</b>"
msgstr "<b>.Waypoint:</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
#, fuzzy
msgid "<b>Analytics:</b>"
msgstr "<b>Egoera:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
msgid "Record"
msgstr "Erregistroa"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
#, fuzzy
msgid "<b>Max Speed:</b>"
msgstr "<b>Izena:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Bataz besteko taupadak</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr ""
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
#, fuzzy
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Titulua:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
#, fuzzy
msgid "m"
msgstr "km"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
msgid " <b>Date:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Balorea"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-"Etaparen profila\n"
-"Etaparen abiadura\n"
-"Etaparen profila/abiadura"
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Eguna"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
#, fuzzy
msgid " <b>Week:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-#, fuzzy
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Kilometroak\n"
-"Denbora\n"
-"Taupadak\n"
-"Bataz bestekoa\n"
-"Kaloriak"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-#, fuzzy
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Kilometroak\n"
-"Denbora\n"
-"Taupadak\n"
-"Bataz bestekoa\n"
-"Kaloriak"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr ""
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
msgid " <b>Month:</b>"
msgstr "<b>Hilabetea:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Hilabetea"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
msgid " <b>Year:</b>"
msgstr "<b>Urtea:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "Urtea"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
#, fuzzy
msgid "<b>Graph</b>"
msgstr "<b>Bataz bestekoa:</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
#, fuzzy
msgid "<b>History</b>"
msgstr "<b>Kirola editatu</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
#, fuzzy
msgid "<b>Sports</b>"
msgstr "<b>Kirolen zerrenda</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
#, fuzzy
msgid "Total distance:"
msgstr "Distantzia"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr ""
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr ""
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr ""
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
#, fuzzy
msgid "<b>All</b>"
msgstr "<b>Titulua:</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr ""
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
msgid "<b>Title:</b>"
msgstr "<b>Titulua:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Bilatu"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-#, fuzzy
-msgid "All Distances"
-msgstr "Distantzia"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-#, fuzzy
-msgid "All Durations"
-msgstr "Kirol guztiak"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr "Zutabeak"
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr ""
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
#, fuzzy
msgid "Latitude: "
msgstr "<b>Latitudea:</b>"
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
#, fuzzy
msgid " Name:"
msgstr "Izena"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
#, fuzzy
msgid "Longitude:"
msgstr "<b>Longitudea:</b>"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
msgid "<b> Waypoint: </b>"
msgstr "<b>.Waypoint:</b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Erregistroa editatu"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Grafikoa ikuspegi klasikoan ikusi"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
-msgstr ""
-
-#: glade/selecttrackdialog.glade:7
+#: glade/selecttrackdialog.ui:7
msgid "Select track record"
msgstr "Track-a aukeratu"
-#: glade/warning.glade:7 glade/warning.glade:38
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
+msgstr ""
+
+#: extensions/gpx2garmin/gpx2garmin.py:50
#, fuzzy
-msgid "Warning"
-msgstr "abisua"
+msgid "gpx2garmin Extension"
+msgstr "Gehigarriak"
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
msgstr ""
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "id"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
+msgstr ""
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Distantzia"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr ""
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Denbora"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr ""
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
msgstr ""
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
msgstr ""
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
-msgstr "Waypoint"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr ""
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Pisua"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr ""
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
msgstr ""
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
msgstr ""
-#: pytrainer/gui/windowmain.py:141
-#, fuzzy
-msgid "Records"
-msgstr "Erregistroa"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr ""
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
msgstr ""
-#: pytrainer/gui/windowmain.py:143
-#, fuzzy
-msgid "Total distance"
-msgstr "Distantzia"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
+msgstr ""
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
msgstr ""
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
+#: imports/tool_gant.py:34
+msgid "Gant"
msgstr ""
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
msgstr ""
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
msgstr ""
-#: pytrainer/gui/windowmain.py:149
+#: imports/file_gpxplus.py:41
#, fuzzy
-msgid "Max distance"
-msgstr "Distantzia"
+msgid "GPS eXchange file"
+msgstr "GPX fitxategia"
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
msgstr ""
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
msgstr ""
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
+#: pytrainer/core/activity.py:480
+msgid "%"
msgstr ""
-#: pytrainer/gui/windowmain.py:320
+#: pytrainer/core/activity.py:489
#, fuzzy
-msgid "d"
-msgstr "id"
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
-msgstr ""
+msgid "rpm"
+msgstr "bpm"
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
msgstr ""
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
+msgid "h"
msgstr ""
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
msgstr ""
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
-#, fuzzy
-msgid "km"
-msgstr "km/h"
-
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
-msgstr "Taupadak"
-
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Bataz bestekoa"
-
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
msgstr ""
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
-msgstr ""
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
+msgstr "Bidearen izena"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
-msgid "h"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
msgstr ""
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-#, fuzzy
-msgid "Edit Entry"
-msgstr "Sarrera berria"
-
-#: pytrainer/gui/windowmain.py:2188
-#, fuzzy
-msgid "Delete Entry"
-msgstr "Sarrera berria"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Erregistroa editatu"
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
-msgstr ""
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Grafikoa ikuspegi klasikoan ikusi"
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
msgstr ""
-#: pytrainer/gui/windowmain.py:2229
-#, fuzzy
-msgid "<b>Date</b>"
-msgstr "<b>Data:</b>"
-
-#: pytrainer/gui/windowmain.py:2245
-#, fuzzy
-msgid "<b>Weight</b>"
-msgstr "<b>Titulua:</b>"
-
-#: pytrainer/gui/windowmain.py:2253
-#, fuzzy
-msgid "<b>Body Fat</b>"
-msgstr "<b>Data:</b>"
-
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
msgstr ""
-#: pytrainer/gui/windowmain.py:2269
-#, fuzzy
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Bataz besteko taupadak</b>"
-
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
-msgstr ""
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
+msgstr "%s aukerak"
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
msgid "Disabled"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
msgid "GPS device found"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
#, fuzzy
msgid "File"
msgstr "Fitxategia"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
#, fuzzy
msgid "Activities"
msgstr "Aktiboa"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Start Time"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Duration"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr "%s aukerak"
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr "Ok"
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
#, fuzzy
msgid "Got file: "
msgstr "GPX fitxategia"
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, fuzzy, python-format
msgid "Column %d"
msgstr "Zutabeak"
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
msgstr ""
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "id"
+
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
msgstr ""
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
+msgstr "Waypoint"
+
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Pisua"
+
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
msgstr ""
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
+#: pytrainer/gui/windowmain.py:129
#, fuzzy
-msgid "Max"
-msgstr "Maiatza"
+msgid "Records"
+msgstr "Erregistroa"
+
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:104
+#: pytrainer/gui/windowmain.py:131
#, fuzzy
-msgid "Ascent"
-msgstr "Altuera (m)"
+msgid "Total distance"
+msgstr "Distantzia"
+
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:105
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:137
#, fuzzy
-msgid "Descent"
-msgstr "<b>Distantzia</b>"
+msgid "Max distance"
+msgstr "Distantzia"
+
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowmain.py:323
#, fuzzy
-msgid "GPX File"
-msgstr "GPX fitxategia"
+msgid "d"
+msgstr "id"
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
msgstr ""
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
msgstr ""
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
msgstr ""
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
msgstr ""
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
msgstr ""
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
-msgstr "Bidearen izena"
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr ""
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
msgstr ""
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Altuera (m)"
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Etaparen profila"
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr ""
-#: pytrainer/recordgraph.py:136
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr "Taupadak"
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Bataz bestekoa"
+
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
#, fuzzy
-msgid "Speed (Km/h)"
-msgstr "Bataz bestekoa (km/h)"
+msgid "Edit Entry"
+msgstr "Sarrera berria"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
+#: pytrainer/gui/windowmain.py:2152
#, fuzzy
-msgid "Beats (bpm)"
-msgstr "Bataz besteko taupadak (bpm)"
+msgid "Delete Entry"
+msgstr "Sarrera berria"
-#: pytrainer/recordgraph.py:142
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2193
#, fuzzy
-msgid "Cadence (rpm)"
-msgstr "Distantzia (km)"
+msgid "<b>Date</b>"
+msgstr "<b>Data:</b>"
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
+#: pytrainer/gui/windowmain.py:2209
+#, fuzzy
+msgid "<b>Weight</b>"
+msgstr "<b>Titulua:</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+#, fuzzy
+msgid "<b>Body Fat</b>"
+msgstr "<b>Data:</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
msgstr ""
-#: pytrainer/recordgraph.py:144
+#: pytrainer/gui/windowmain.py:2233
#, fuzzy
-msgid "Beats (%)"
-msgstr "Taupadak"
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Bataz besteko taupadak</b>"
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
msgstr ""
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
msgstr ""
-#: pytrainer/profile.py:115
-#, fuzzy
-msgid "Weight Control"
-msgstr "Pisua"
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
+msgstr ""
-#: pytrainer/profile.py:116
-msgid "Aerobic"
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
msgstr ""
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
msgstr ""
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr ""
+
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
+#, fuzzy
+msgid "Max"
+msgstr "Maiatza"
+
+#: pytrainer/gui/windowrecord.py:97
+#, fuzzy
+msgid "Ascent"
+msgstr "Altuera (m)"
+
+#: pytrainer/gui/windowrecord.py:98
+#, fuzzy
+msgid "Descent"
+msgstr "<b>Distantzia</b>"
+
+#: pytrainer/gui/windowrecord.py:204
+#, fuzzy
+msgid "GPX File"
+msgstr "GPX fitxategia"
+
+#: pytrainer/lib/gpx.py:128
+#, fuzzy
+msgid "No Name"
+msgstr "Izena"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
msgstr ""
#: pytrainer/lib/listview.py:32
@@ -2102,86 +2148,55 @@ msgstr ""
msgid ">2 Hours"
msgstr ""
-#: pytrainer/lib/gpx.py:129
-#, fuzzy
-msgid "No Name"
-msgstr "Izena"
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr ""
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr ""
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr ""
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr ""
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr ""
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr ""
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr ""
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr ""
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr ""
-
-#: pytrainer/lib/activity.py:464
+#: pytrainer/lib/uc.py:52
#, fuzzy
-msgid "rpm"
-msgstr "bpm"
-
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
-msgstr ""
+msgid "km"
+msgstr "km/h"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
#, fuzzy
msgid "mi"
msgstr "km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr ""
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Altuera (m)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr "Abiadura (km/h)"
+
+#: pytrainer/daygraph.py:54
+#, fuzzy
+msgid "Velocity"
+msgstr "abiadura"
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+#, fuzzy
+msgid "Beats (bpm)"
+msgstr "Bataz besteko taupadak (bpm)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2193,8 +2208,8 @@ msgstr "eguna"
msgid "Daily Distance"
msgstr "Distantzia"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
#, fuzzy
msgid "Time (hours)"
msgstr "Denbora orduetan"
@@ -2204,8 +2219,8 @@ msgstr "Denbora orduetan"
msgid "Daily Time"
msgstr "eguneko denbora"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr ""
@@ -2223,41 +2238,20 @@ msgstr "eguneko bataz bestekoak"
msgid "Daily Calories"
msgstr "eguneko kaloriak"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr ""
-
-#: pytrainer/totalgraph.py:24
+#: pytrainer/recordgraph.py:136
#, fuzzy
-msgid "Annual Distance"
-msgstr "Distantzia"
-
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr ""
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr ""
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr ""
+msgid "Speed (Km/h)"
+msgstr "Bataz bestekoa (km/h)"
-#: pytrainer/totalgraph.py:28
+#: pytrainer/recordgraph.py:142
#, fuzzy
-msgid "Annual Calories"
-msgstr "Kaloriak"
-
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr ""
+msgid "Cadence (rpm)"
+msgstr "Distantzia (km)"
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr ""
+#: pytrainer/recordgraph.py:144
+#, fuzzy
+msgid "Beats (%)"
+msgstr "Taupadak"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2290,131 +2284,115 @@ msgstr "minutuko bataz bestekoa"
msgid "Monthly Calories"
msgstr "hilabteko kaloriak"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-"gpx fitxategia egun erregistro asko ditu. Agian zure gpx fitxategia editatu "
-"beharko duzu."
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr "Abiadura (km/h)"
-
-#: pytrainer/daygraph.py:54
-#, fuzzy
-msgid "Velocity"
-msgstr "abiadura"
-
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
msgstr ""
-#: imports/file_gpxplus.py:41
+#: pytrainer/profile.py:140
#, fuzzy
-msgid "GPS eXchange file"
-msgstr "GPX fitxategia"
-
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr ""
-
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
-msgstr ""
-
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr ""
-
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
-msgstr ""
-
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr ""
-
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr ""
-
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
-msgstr ""
+msgid "Weight Control"
+msgstr "Pisua"
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
msgstr ""
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:82
-msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
-msgstr ""
+#: pytrainer/totalgraph.py:24
+#, fuzzy
+msgid "Annual Distance"
+msgstr "Distantzia"
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
msgstr ""
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
-msgstr ""
+#: pytrainer/totalgraph.py:28
+#, fuzzy
+msgid "Annual Calories"
+msgstr "Kaloriak"
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
+#: pytrainer/waypoint.py:88
+msgid ""
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
+"gpx fitxategia egun erregistro asko ditu. Agian zure gpx fitxategia editatu "
+"beharko duzu."
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
msgstr ""
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
-msgstr ""
+#~ msgid "Calendar"
+#~ msgstr "Egutegia"
-#: extensions/gpx2garmin/gpx2garmin.py:50
-#, fuzzy
-msgid "gpx2garmin Extension"
-msgstr "Gehigarriak"
+#~ msgid ""
+#~ "Stage Profile\n"
+#~ "Stage Velocity\n"
+#~ "Stage Profile/velocity"
+#~ msgstr ""
+#~ "Etaparen profila\n"
+#~ "Etaparen abiadura\n"
+#~ "Etaparen profila/abiadura"
#, fuzzy
-#~ msgid "Last entry"
-#~ msgstr "Sarrera berria"
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Kilometroak\n"
+#~ "Denbora\n"
+#~ "Taupadak\n"
+#~ "Bataz bestekoa\n"
+#~ "Kaloriak"
#, fuzzy
-#~ msgid "<b>Start screen</b>"
-#~ msgstr "<b>Egoera:</b>"
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Kilometroak\n"
+#~ "Denbora\n"
+#~ "Taupadak\n"
+#~ "Bataz bestekoa\n"
+#~ "Kaloriak"
#~ msgid "window1"
#~ msgstr "leihoa1"
@@ -2455,9 +2433,6 @@ msgstr "Gehigarriak"
#~ msgid "Calculate Average"
#~ msgstr "Bataz bestekoa kalkulatu"
-#~ msgid "Profile"
-#~ msgstr "Profila"
-
#~ msgid "Age"
#~ msgstr "Edadea"
diff --git a/locale/fr/LC_MESSAGES/pytrainer.mo b/locale/fr/LC_MESSAGES/pytrainer.mo
index dacacfd..564f394 100644
Binary files a/locale/fr/LC_MESSAGES/pytrainer.mo and b/locale/fr/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/fr/LC_MESSAGES/pytrainer_fr.po b/locale/fr/LC_MESSAGES/pytrainer_fr.po
index c2ce2b3..c732fa4 100644
--- a/locale/fr/LC_MESSAGES/pytrainer_fr.po
+++ b/locale/fr/LC_MESSAGES/pytrainer_fr.po
@@ -10,10 +10,10 @@ msgid ""
msgstr ""
"Project-Id-Version: pytrainer_fr 1.9.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
-"PO-Revision-Date: 2013-03-29 07:25+0100\n"
-"Last-Translator: Christian Perrier <bubulle at debian.org>\n"
-"Language-Team: French <debian-l10n-french at lists.debian.org>\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
+"PO-Revision-Date: 2013-03-29 07:25+0100\n"
+"Last-Translator: Christian Perrier <bubulle at debian.org>\n"
+"Language-Team: French <debian-l10n-french at lists.debian.org>\n"
"Language: French\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,326 +22,322 @@ msgstr ""
"X-Poedit-Basepath: /home/pierre/SOURCES/pytrainer-1.4.5\n"
"X-Poedit-Language: French\n"
"X-Poedit-Country: FRANCE\n"
-"X-Generator: Lokalize 1.4\n"
+"X-Generator: Lokalize 1.4\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr "Calendrier"
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
msgid "<b>Equipment List</b>"
msgstr "<b>Liste d'équipements</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
msgid "Description"
msgstr "Description"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr "Durée de vie"
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr "Utilisation précédente"
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr "Actif"
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr "Notes"
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
msgid "<b>Add New Equipment</b>"
msgstr "<b>Ajouter un équipement</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
msgid "<b>Edit Equipment</b>"
msgstr "<b>Éditer un équipement</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr "Voulez vous vraiment détruire cet équipement?"
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
msgid "<b>Delete Equipment</b>"
msgstr "<b>Supprimer un équipement</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr "Extensions"
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr "<b>Détail des Extensions</b>"
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr "name-entry"
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
msgid "Name:"
msgstr "Nom:"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
msgid "Status:"
msgstr "Statut:"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
msgid "Description:"
msgstr "Description:"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr "status-entry"
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr "description-entry"
-#: glade/importdata.glade:7 glade/importdata.glade:325
-msgid "Import"
-msgstr "Importer"
-
-#: glade/importdata.glade:36
-msgid ""
+#: glade/importdata.ui:9
+#, fuzzy
+msgid "Test 1"
+msgstr ""
"Test 1\n"
"Test 2"
+
+#: glade/importdata.ui:12
+#, fuzzy
+msgid "Test 2"
msgstr ""
"Test 1\n"
"Test 2"
-#: glade/importdata.glade:46
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr "Exclure"
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr " "
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
+msgid "Import"
+msgstr "Importer"
+
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr "<b>Sélectionnez votre périphérique GPS</b>"
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr "L'importation à partir du périphérique GPS n'est pas encore implémenté"
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
msgid "<b>Tools</b>"
msgstr "<b>Outils:</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr "Re-scan"
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr "Re-scan le système pour trouver les outils disponibles"
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr "<b>Importer à partir du périphérique GPS</b>"
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr "Supprimer les fichiers et les activités associées"
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr "Ajouter des fichiers pour récupérer les activités"
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr "<b>Ajouter des fichiers pour récupérer les activités</b>"
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
msgid "<b>Select activities to import</b>"
msgstr "<b>Sélectionnez les activités à importer</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr "Importer les activités sélectionnées"
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr "Fermer la fenêtre d'importation"
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
msgid "<b>Import from File</b>"
msgstr "<b>Importer à partir d'un fichier</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
msgid "<b>Plugins</b>"
msgstr "<b>Plugins</b>"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr "Importer à partir du périphérique GPS"
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr "Importer à partir d'un fichier"
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr "Lancer 'Fichier ouvrir' au démarrage"
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr "Démarre automatiquement le sélecteur de fichiers"
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr "Plugins"
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
msgid "<b>Default to Tab</b>"
msgstr "<b>Onglet par défaut</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr "Réinitialiser"
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr "Sauvegarder"
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
msgid "<b>Options</b>"
msgstr "<b>Options</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
msgid "<b>Select file to import from</b>"
msgstr "<b>Sélectionnez un fichier à partir duquel importer</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr "Tabulation"
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr "Virgule"
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr "Autre"
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr "Lire le fichier"
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
msgid "<b>File delimiter</b>"
msgstr "<b>Délimiteur de champs</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Date"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr "Exclure"
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Distance (km) "
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr "Durée (s)"
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr "<b>Champs pytrainer</b>"
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
msgid "<b>File Column</b>"
msgstr "<b>Colonne du fichier</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Titre"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr "Dénivelé Négatif (m)"
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
msgid "Accent (m)"
msgstr "Dénivelé Positif (m)"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
msgid "Calories (kcal)"
msgstr "Calories (kcal)"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
msgid "Max Speed (km/h)"
msgstr "Vitesse Max (km/h)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
msgid "Average Speed (km/h)"
msgstr "Vitesse moyenne (km/h)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Sport"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr "FC moyenne (bpm)"
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr "FC Max (bpm)"
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
msgid "Pace (min/km)"
msgstr "Allure (min/km)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr "Allure Max (min/km)"
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
msgid "Comments"
msgstr "Commentaires"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr "Forcer le sport à:"
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr " "
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
msgid "<b>Map Columns</b>"
msgstr "<b>Associer les colonnes</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -356,128 +352,130 @@ msgstr ""
"nécessaire)\n"
"4) Cliquez sur 'Importer les données'</small>"
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr "Importer les données"
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
msgid "<b>Import from CSV</b>"
msgstr "<b>Importer à partir d'un fichier CSV</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Nouvelle entrée"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
msgid "Title:"
msgstr "Titre:"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
msgid "GPX File:"
msgstr "Fichier GPX:"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Calculer les Valeurs"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
msgid "Sport:"
msgstr "Sport:"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
msgid "<b>Main</b>"
msgstr "<b>Principal:</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
msgid "Distance (Km):"
msgstr "Distance (km):"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
msgid "Calculate"
msgstr "Calculer"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr "Durée"
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
msgid "Date:"
msgstr "Date:"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr "Début:"
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr "12:00:00"
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
msgid "<b>General</b>"
msgstr "<b>Général:</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
msgid "Max (km/h):"
msgstr "Max (km/h):"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Vitesse moy. (km/h)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
msgid "<b>Speed</b>"
msgstr "<b>Vitesse:</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
msgid "Quick Entry"
msgstr "Entrée Rapide"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr "Max (min/km)"
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr "Allure (min/km):"
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
msgid "<b>Pace</b>"
msgstr "<b>Allure</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr "Dénivelé Positif:"
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr "Dénivelé Négatif:"
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
msgid "<b>Accumulated Altitude Change</b>"
msgstr " <b>Dénivelé Cumulé:</b> "
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr "Max (bpm):"
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr "Fréquence Cardiaque:"
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Calories"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
@@ -485,162 +483,192 @@ msgstr ""
"<small><b>Note:</b> Afin de calculer les calories vous devez renseigner le "
"coefficient M.E.T. pour votre sport (menu Préférences->Sport) </small>"
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
msgid "<b>Heart Rate</b>"
msgstr "<b>Fréquence Cardiaque:</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr "Avancé"
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Commentaires</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr "<i>Il n'y a aucun article d'équipement actif.</i>"
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr "<b>Équipement associé</b>"
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr "Équipement"
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
msgid "<b>Plugin Details</b>"
msgstr "<b>Détail du plugin</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr "description-entry"
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr "nameEntry"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr "Erreur"
+
+#: glade/profile.ui:12
+msgid "Warning"
+msgstr "Attention"
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr "Préférences"
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr "Système Métrique"
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr "Unités U.S."
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr "<b>Système de Mesure</b>"
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "status-entry"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Sports</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr "Google"
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr "Open Street Map"
-#: glade/profile.glade:140
+#: glade/profile.ui:231
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Visualiseur de cartes par défaut</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
msgid "Database type:"
msgstr "Type de Base de Données:"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
msgid "Database host:"
msgstr "Hôte de la Base de Données:"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
msgid "Database name:"
msgstr "Nom de la Base de Données:"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
msgid "Database user:"
msgstr "Utilisateur de la Base de Données:"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
msgid "Database pass:"
msgstr "Mot de passe de la Base de Données:"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Base de données</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr "Général"
-#: glade/profile.glade:369
+#: glade/profile.ui:447
msgid "User name:"
msgstr "Nom d'Utilisateur:"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
msgid "Gender:"
msgstr "Sexe:"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
msgid "Height:"
msgstr "Taille:"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr "Date de Naissance:"
-#: glade/profile.glade:520
+#: glade/profile.ui:599
msgid "Weight:"
msgstr "Poids:"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
msgid "<b>Athlete Details</b>"
msgstr "<b>Détail de l'Athlète</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
msgid "Athlete"
msgstr "Athlète"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
msgid "<b>Sport List</b>"
msgstr "<b>Liste des Sports</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr "llist"
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr "M.E.T.:"
-#: glade/profile.glade:766
+#: glade/profile.ui:834
msgid "Extra Weight:"
msgstr "Poids Additionnel:"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
"Plus d'information pour déterminer le coefficient M.E.T du sport sur "
"Wikipedia"
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr "Allure Max:"
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
msgid "<b>Add New Sport</b>"
msgstr "<b>Ajouter un Sport</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "nouveau"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
@@ -648,60 +676,60 @@ msgstr ""
"Détruire un sport supprime les enregistrements associés.\n"
"Continuer?"
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
msgid "<b>Delete Sport</b>"
msgstr "<b>Supprimer un Sport</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "supprimer"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Nom"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr "M.E.T."
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
msgid "Extra Weight"
msgstr "Poids Additionnel"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr "Allure Maximale"
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr "Couleur"
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
msgid "<b>Edit Sport</b>"
msgstr "<b>Éditer un sport</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
msgid "<b>lalaal</b>"
msgstr "<b>Base de données</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "édition"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Sports"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr "Fréquence Cardiaque Maximale:"
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr "Fréquence Cardiaque au Repos:"
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
@@ -709,7 +737,7 @@ msgstr ""
"<small><b>Note:</b> Le calcul de votre fréquence cardiaque maximale est "
"effectué grâce à la formule 220 moins votre âge. </small>"
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
@@ -717,54 +745,43 @@ msgstr ""
"<small><b>Note:</b> Afin d'utiliser la méthode de Karvonen vous devez "
"obligatoirement renseigner le champ «Fréquence Cardiaque au Repos».</small>"
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr "Méthode basée sur des pourcentages"
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr "Méthode de Karvonen"
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr "Sélectionnez la méthode appropriée pour définir les zones cardiaque."
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Zones Cardiaque:</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr "Fréquence Cardiaque"
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr "Niveau de Log"
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-"Erreur\n"
-"Attention\n"
-"Info\n"
-"Debug"
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr "<small>Niveau de détail du fichier log?</small>"
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr "Valider"
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
@@ -772,16 +789,16 @@ msgstr ""
"<small>Le plugin doit-il essayer de valider le fichier d'entrée avant "
"d'effectuer le traitement?</small>"
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr "Nouveau Graphe"
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
"<small>Voulez vous expérimenter un nouveau mode pour les graphes?</small>"
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
@@ -792,1213 +809,1227 @@ msgstr ""
"en cours, elles ne seront toutefois pas conservées au prochain démarrage.</"
"small>"
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr "Paramètres de démarrage"
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Distance"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Temps"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "FC moyenne (bpm)"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "Vitesse moyenne Journalière"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+msgid "All Distances"
+msgstr "Toutes les distances"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+msgid "All Durations"
+msgstr "Toutes les durées"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Toutes les dates"
+
+#: glade/pytrainer.ui:219
+#, fuzzy
+msgid "Last 4 weeks"
+msgstr "Les 4 dernières semaines"
+
+#: glade/pytrainer.ui:222
+#, fuzzy
+msgid "Last 6 months"
+msgstr "Les 6 derniers mois"
+
+#: glade/pytrainer.ui:225
+#, fuzzy
+msgid "Last 12 months"
+msgstr "Les 12 derniers mois"
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Tous les Sports"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+#, fuzzy
+msgid "Profile"
+msgstr "Profil de la sortie"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr "Vitesse"
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr "Allure"
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr "Rythme"
+
+#: glade/pytrainer.ui:279
+#, fuzzy
+msgid "Percentage"
+msgstr "Méthode basée sur des pourcentages"
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr "Zone"
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "Fréquence Cardiaque:"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Profil de la sortie"
+
+#: glade/pytrainer.ui:339
+#, fuzzy
+msgid "Stage Velocity"
+msgstr "Vitesse"
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Profil de la sortie"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Fichier"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
msgid "_Import"
msgstr "_Import"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
msgid "_Export as Text Separated by Commas"
msgstr "_Exporter un Fichier Texte séparé par des virgules"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "_Édition"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Vue"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr "_Vue classique"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr "_Vue en liste"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
msgid " _Waypoints Editor"
msgstr "_Vue d'édition des Points de Localisation"
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr "Outils"
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
msgid "GPS Device Plugins"
msgstr "Plugins pour les Périphériques GPS"
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Aide"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Tous les Sports"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr "Colonnes"
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
msgid "<b>Sport:</b>"
msgstr "<b>Sport:</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
msgid "<b>Duration:</b>"
msgstr "<b>Durée:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
msgid "<b>Speed:</b>"
msgstr "<b>Vitesse:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
msgid "<b>Pace:</b>"
msgstr "<b>Allure:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
msgid "<b>Ascent:</b>"
msgstr "<b>Dénivelé Positif:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
msgid "<b>Calories:</b>"
msgstr "<b>Calories:</b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "<b>Commentaires:</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
msgid "<b>Date:</b>"
msgstr "<b>Date:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Distance:</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
msgid "<b>Max Speed</b>"
msgstr "<b>Vitesse Max:</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
msgid "<b>Max Pace:</b>"
msgstr "<b>Allure Max:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
msgid "<b>Descent:</b>"
msgstr "<b>Dénivelé Négatif:</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "Cal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/h"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
msgid "<b>Equipment:</b>"
msgstr "<b>Équipement:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
msgid "<b>Active / Rest:</b>"
msgstr "<b>Actif / Repos:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr "h:m:s"
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
msgid "<b>Laps</b>"
msgstr "<b>Tours</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
msgid " <b>Title:</b>"
msgstr " <b>Titre:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
msgid "Show graph display options"
msgstr "Montrer les réglages du graphe"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-"Profil\n"
-"Vitesse\n"
-"Allure\n"
-"Fréquence Cardiaque\n"
-"Rythme\n"
-"Pourcentage\n"
-"Zone"
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr "Versus"
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-"Null\n"
-"Profil\n"
-"Vitesse\n"
-"Allure\n"
-"Fréquence Cardiaque\n"
-"Rythme\n"
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr "<small>Options d'affichage des graphiques</small>"
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr "<small>Limites</small>"
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr "<small>Min</small>"
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr "<small>Max</small>"
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr "<small>Couleur</small>"
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr "<small>Poids</small>"
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr "Y1"
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr "<small>Lissage</small>"
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr "Y2"
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr "X"
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
msgid "<small>Distance</small>"
msgstr "<small>Distance</small>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr "<small>Temps</small>"
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr "Montrer les tours"
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr "Réinitialiser le Graphe"
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr "Redessiner la carte"
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr "<small>Afficher:</small>"
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-"Rien\n"
-"Vitesse\n"
-"Fréquence Cardiaque\n"
-"Allure"
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr "<small>Afficher la carte avec:</small>"
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
msgid "<b>Beats:</b>"
msgstr "<b>FC Moy:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Calories:</b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
msgid "<b>Max Beats:</b>"
msgstr "<b>FC Max:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
msgid "<b>HR Zones Method:</b>"
msgstr "<b>Calcul des zones de FC :</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
msgid "<b>HR Zone5:</b>"
msgstr "<b>Zone FC5:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr " bpm"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr " Cal"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
msgid "<b>HR Zone4:</b>"
msgstr "<b>Zone FC4:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
msgid "<b>HR Zone3:</b>"
msgstr "<b>Zone FC3:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
msgid "<b>HR Zone2:</b>"
msgstr "<b>Zone FC2:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
msgid "<b>HR Zone1:</b>"
msgstr "<b>Zone FC1:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "bpm"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
msgid " <b>Heart Rate:</b>"
msgstr " <b>Fréquence Cardiaque:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
msgid "<b>Projected times</b>"
msgstr "<b>Temps estimé</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
"<i>Classement de l'activité comparativement à une activité de même nature "
"pour une distance de ± x%:</i>"
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
msgid "<b>Range:</b>"
msgstr "<b>Intervalle:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
msgid "<b>Rank:</b>"
msgstr "<b>Classement:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
msgid "<b>Speed: </b>"
msgstr "<b>Vitesse:</b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
msgid "<b>Avg speed:</b>"
msgstr "<b>Vitesse moy.:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
msgid "<b>Standard deviation:</b>"
msgstr "<b>Écart type:</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
msgid "<b>Deviation:</b>"
msgstr "<b>Dispersion:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
msgid "<b>Ranking</b>"
msgstr "<b>Classement:</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
msgid "<b>Analytics:</b>"
msgstr "<b>Analyse:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
msgid "Record"
msgstr "Enregistrement"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
msgid "<b>Max Speed:</b>"
msgstr "<b>Vit. Max:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>FC Moy:</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr "min/km"
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Dénivelé Total Pos/Neg:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
msgid "m"
msgstr "m"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
msgid " <b>Date:</b>"
msgstr " <b>Date:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Valeur"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-"Profil de la sortie\n"
-"Vitesse de la sortie\n"
-"Profil de la sortie/Vitesse"
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Jour"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
msgid " <b>Week:</b>"
msgstr "<b>Semaine:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Distance\n"
-"Durée\n"
-"FC moyenne\n"
-"Vitesse moyenne\n"
-"Calories"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Null\n"
-"Distance\n"
-"Durée\n"
-"FC moyenne\n"
-"Vitesse moyenne\n"
-"Calories"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr "Semaine"
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
msgid " <b>Month:</b>"
msgstr " <b>Mois:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Mois"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
msgid " <b>Year:</b>"
msgstr " <b>Année:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "Année"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
msgid "<b>Graph</b>"
msgstr "<b>Graphe:</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
msgid "<b>History</b>"
msgstr "<b>Historique</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
msgid "<b>Sports</b>"
msgstr "<b>Sports</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
msgid "Total distance:"
msgstr "Distance totale:"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr "Durée totale:"
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr "Date de début:"
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr "Date de fin:"
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
msgid "<b>All</b>"
msgstr "<b>Tout</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr "Totaux"
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
msgid "<b>Title:</b>"
msgstr "<b>Titre:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Rechercher"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-msgid "All Distances"
-msgstr "Toutes les distances"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-msgid "All Durations"
-msgstr "Toutes les durées"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-"Toutes les dates\n"
-"Les 4 dernières semaines\n"
-"Les 6 derniers mois\n"
-"Les 12 derniers mois"
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr "Colonnes"
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr "Type:"
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-"Point d'eau\n"
-"Restaurant\n"
-"Vue Panoramique\n"
-"Sommet"
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
msgid "Latitude: "
msgstr "Latitude:"
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
msgid " Name:"
msgstr "Nom:"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
msgid "Longitude:"
msgstr " Longitude:"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
msgid "<b> Waypoint: </b>"
msgstr "<b> Point de localisation:</b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Éditer un enregistrement"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Montrer le graphe dans la vue classique"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
-msgstr "Fusionner les traces"
-
-#: glade/selecttrackdialog.glade:7
+#: glade/selecttrackdialog.ui:7
msgid "Select track record"
msgstr "Sélectionnez un Circuit"
-#: glade/warning.glade:7 glade/warning.glade:38
-msgid "Warning"
-msgstr "Attention"
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
+msgstr "Correction d'élévation terminée"
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
-msgstr "Miles"
+#: extensions/gpx2garmin/gpx2garmin.py:50
+msgid "gpx2garmin Extension"
+msgstr "Extension gpx2garmin"
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "id"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
+msgstr ""
+"Envoi de la trace GPX vers Openstreetmap\n"
+"\n"
+"Merci d'attendre la fin du processus qui peut prendre quelques minutes"
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
-msgstr "Début"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
+msgstr "Traitement de l'extension Openstreetmap"
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Distance"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
+msgstr "Chargement sur Openstreetmap effectué"
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Temps"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr "Erreur lors du chargement du fichier ver OSM"
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
-msgstr "FC"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr "Erreur d'extension Openstreetmap"
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
-msgstr "Vitesse"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
+msgstr "Merci de Compléter les informations pour ce chargement"
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
-msgstr "Point de Localisation"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
+msgstr "Erreur lors de la sauvegarde de la configuration de l'extension"
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Poids"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr "Envoi vers Strava"
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
-msgstr "% de Masse Grasse"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr "Poster sur le blog Wordpress"
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
-msgstr "Fréquence de repos"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
+msgstr "Traitement de l'extension Wordpress"
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
-msgstr "FC Max"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
+msgstr "Chargement sur Wordpress effectué"
-#: pytrainer/gui/windowmain.py:141
-msgid "Records"
-msgstr "Enregistrements"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
+msgstr "Fichier de base de données Garmin training center version 1"
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
-msgstr "Durée totale"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr "Fichier de base de données Garmin training center version 2"
-#: pytrainer/gui/windowmain.py:143
-msgid "Total distance"
-msgstr "Distance totale"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
+msgstr "Fichier de dump Garmin tools"
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
-msgstr "Vitesse moy"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
+msgstr "Export Nokia- GPS eXchange file"
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
-msgstr "Vitesse max"
-
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
-msgstr "FC moy"
-
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
-msgstr "Durée max"
-
-#: pytrainer/gui/windowmain.py:149
-msgid "Max distance"
-msgstr "Distance max"
-
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
-msgstr "Tour"
-
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
-msgstr "Échantillonage"
-
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
-msgstr "Allure moy"
-
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
-msgstr "Allure max"
-
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
-msgstr "Intensité"
-
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
-msgstr "Course"
-
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
-msgstr "Place"
-
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
-msgstr "Vitesse"
-
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
-msgstr "Allure"
-
-#: pytrainer/gui/windowmain.py:320
-msgid "d"
-msgstr "d"
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr "Montrer sur l'axe X"
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr "Montrer sur l'axe Y1"
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr "Montrer sur l'axe Y2"
-
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
-msgstr "Limites des axes"
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr "Tours"
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr "Grille d'axe Gauche"
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr "Grille d'axe Droite"
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr "Grille d'axe X"
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr "Réinitialiser les limites"
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr "Fixer les limites"
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr "Méthode basée sur des pourcentages"
-
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr "800 m"
-
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr "1500 m"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
+msgstr "Fichier Geodistance kml version 2.0"
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
-msgstr "5K"
+#: imports/tool_gant.py:34
+msgid "Gant"
+msgstr "Gant"
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
-msgstr "7K"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
+msgstr "Garmintools"
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
-msgstr "10K"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
+msgstr "GPSBabel"
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
-msgstr "Semi Marathon"
+#: imports/file_gpxplus.py:41
+msgid "GPS eXchange file"
+msgstr "Fichier de type GPX"
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
-msgstr "Marathon"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
+msgstr "Allure au tour"
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
-msgstr "100K"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
+msgstr "Durée (s)"
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
-msgstr "miles"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
+msgstr "Vitesse au tour"
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
-msgstr "miles/h"
-
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
-msgstr "min/mile"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
+msgstr "Altitude"
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
-msgid "km"
-msgstr "km"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
+msgstr "Altitude corrigée"
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
-msgstr "Pulsations"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
+msgstr "Fréquence Cardiaque (% du max)"
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Moyenne"
+#: pytrainer/core/activity.py:480
+msgid "%"
+msgstr "%"
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
-msgstr "Cacher les réglages du graphe "
+#: pytrainer/core/activity.py:489
+msgid "rpm"
+msgstr "tpm"
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
-msgstr "tour "
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
+msgstr "Zone de Fréquence Cardiaque"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
msgid "h"
msgstr "h"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
-msgstr "s"
-
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-msgid "Edit Entry"
-msgstr "Entrée Rapide"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
+msgstr "min"
-#: pytrainer/gui/windowmain.py:2188
-msgid "Delete Entry"
-msgstr "Détruire l'entrée"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
+msgstr "Données de l'athlète"
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
-msgstr "Créer une entrée Athlète"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
+msgstr "Nom du Circuit"
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
-msgstr "Éditer les données de l'athlète"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
+msgstr "repos"
-#: pytrainer/gui/windowmain.py:2229
-msgid "<b>Date</b>"
-msgstr "<b>Date</b>"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
+msgstr "Utilisation"
-#: pytrainer/gui/windowmain.py:2245
-msgid "<b>Weight</b>"
-msgstr "<b>Poids</b>"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Éditer un enregistrement"
-#: pytrainer/gui/windowmain.py:2253
-msgid "<b>Body Fat</b>"
-msgstr "<b>Masse grasse</b>"
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Montrer le graphe dans la vue classique"
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
-msgstr "<b>Fréquence cardiaque de repos</b>"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
+msgstr "Désactivé"
-#: pytrainer/gui/windowmain.py:2269
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Fréquence cardiaque max</b>"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
+msgstr "Activé"
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
-msgstr "Supprimer cette entrée de la Base de Données?"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
+msgstr "%s réglages"
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
-msgstr "Êtes vous sûr?"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
+msgstr "OK"
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr "Pas de fichier sélectionné"
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr "Configurer"
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
msgid "Disabled"
msgstr "Désactivé"
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr "Activé"
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
-msgstr "Vérification des outils"
+msgstr "Vérification des outils"
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
msgid "GPS device found"
msgstr "Périphérique GPS trouvé"
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr "Périphérique GPS <b>non</b> trouvé"
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr "Cet outil n'est pas installé sur votre système"
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr "Page d'accueil"
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
-msgstr "Vérification du type de fichier pour : "
+msgstr "Vérification du type de fichier pour : "
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "File"
msgstr "Fichier"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr "Type"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Activities"
msgstr "Activités"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Start Time"
msgstr "Heure de début"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Duration"
msgstr "Durée"
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr "Importé dans la base"
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr "%s réglages"
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr "Désactivé"
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr "Activé"
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr "Ok"
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr "Sauvegarde des options"
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr "Options sauvegardées"
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr "Importation d'une activité"
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr "Importation de %d activités"
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
-msgstr "Aucune activité importée"
+msgstr "Aucune activité importée"
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr "Une activité importée"
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr "%d activités importées"
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
-msgstr " Activité déjà présente dans la base de données"
+msgstr " Activité déjà présente dans la base de données"
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
-msgstr " %s activités étaient déjà présentes dans la base de données"
+msgstr " %s activités étaient déjà présentes dans la base de données"
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr "Choisir un fichier pour importer vos activités"
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr "Fichier trouvé de type: %s"
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr "Présent dans la base"
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr "Le fichier %s est inconnu ou d'un type non supporté"
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
msgid "Got file: "
-msgstr "Fichier reçu : "
+msgstr "Fichier reçu : "
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, python-format
msgid "Column %d"
msgstr "Colonne %d"
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
-msgstr "Erreur : au moins une colonne de date doit être définie"
+msgstr "Erreur : au moins une colonne de date doit être définie"
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
-msgstr "Importation terminée. %d lignes traitées"
+msgstr "Importation terminée. %d lignes traitées"
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
-msgstr "min"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "id"
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
-msgstr "repos"
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
+msgstr "Début"
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
-msgid "Max"
-msgstr "Max"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
+msgstr "FC"
-#: pytrainer/gui/windowrecord.py:104
-msgid "Ascent"
-msgstr "Dénivelé Positif"
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
+msgstr "Vitesse"
-#: pytrainer/gui/windowrecord.py:105
-msgid "Descent"
-msgstr "Dénivelé Négatif"
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
+msgstr "Point de Localisation"
-#: pytrainer/gui/windowrecord.py:211
-msgid "GPX File"
-msgstr "Fichier GPX"
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Poids"
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
-msgstr "Homme"
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
+msgstr "% de Masse Grasse"
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
-msgstr "Femme"
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
+msgstr "Fréquence de repos"
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
-msgstr "MET"
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
+msgstr "FC Max"
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
-msgstr "Erreur lors de création du sport"
+#: pytrainer/gui/windowmain.py:129
+msgid "Records"
+msgstr "Enregistrements"
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
-msgstr "Utilisation"
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
+msgstr "Durée totale"
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
-msgstr "Nom du Circuit"
+#: pytrainer/gui/windowmain.py:131
+msgid "Total distance"
+msgstr "Distance totale"
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
-msgstr "Données de l'athlète"
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
+msgstr "Vitesse moy"
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
-msgstr "OK"
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr "Vitesse max"
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Altitude (m)"
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
+msgstr "FC moy"
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Profil de la sortie"
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
+msgstr "Durée max"
-#: pytrainer/recordgraph.py:136
-msgid "Speed (Km/h)"
-msgstr "Vitesse (km/h)"
+#: pytrainer/gui/windowmain.py:137
+msgid "Max distance"
+msgstr "Distance max"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
-msgid "Beats (bpm)"
-msgstr "Pulsations (bpm)"
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
+msgstr "Tour"
-#: pytrainer/recordgraph.py:142
-msgid "Cadence (rpm)"
-msgstr "Rythme (tpm) "
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
+msgstr "Échantillonage"
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
-msgstr "Rythme"
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
+msgstr "Allure moy"
-#: pytrainer/recordgraph.py:144
-msgid "Beats (%)"
-msgstr "Pulsations (%)"
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
+msgstr "Allure max"
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
-msgstr "Zone"
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
+msgstr "Intensité"
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
-msgstr "Activité modérée"
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
+msgstr "Course"
-#: pytrainer/profile.py:115
-msgid "Weight Control"
-msgstr "Perte de poids"
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
+msgstr "Place"
-#: pytrainer/profile.py:116
-msgid "Aerobic"
-msgstr "Aérobie"
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
+msgstr ""
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
-msgstr "Anaérobie"
+#: pytrainer/gui/windowmain.py:323
+msgid "d"
+msgstr "d"
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
-msgstr "VO2 Max"
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
+msgstr "Montrer sur l'axe X"
+
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
+msgstr "Montrer sur l'axe Y1"
+
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
+msgstr "Montrer sur l'axe Y2"
+
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
+msgstr "Limites des axes"
+
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
+msgstr "Tours"
+
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr "Grille d'axe Gauche"
+
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
+msgstr "Grille d'axe Droite"
+
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
+msgstr "Grille d'axe X"
+
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr "Réinitialiser les limites"
+
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr "Fixer les limites"
+
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr "Méthode basée sur des pourcentages"
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr "800 m"
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr "1500 m"
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr "5K"
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr "7K"
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr "10K"
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
+msgstr "Semi Marathon"
+
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr "Marathon"
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr "100K"
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr "Pulsations"
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Moyenne"
+
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
+msgstr "Cacher les réglages du graphe "
+
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
+msgstr "tour "
+
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
+msgstr "s"
+
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
+msgid "Edit Entry"
+msgstr "Entrée Rapide"
+
+#: pytrainer/gui/windowmain.py:2152
+msgid "Delete Entry"
+msgstr "Détruire l'entrée"
+
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
+msgstr "Créer une entrée Athlète"
+
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
+msgstr "Éditer les données de l'athlète"
+
+#: pytrainer/gui/windowmain.py:2193
+msgid "<b>Date</b>"
+msgstr "<b>Date</b>"
+
+#: pytrainer/gui/windowmain.py:2209
+msgid "<b>Weight</b>"
+msgstr "<b>Poids</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+msgid "<b>Body Fat</b>"
+msgstr "<b>Masse grasse</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
+msgstr "<b>Fréquence cardiaque de repos</b>"
+
+#: pytrainer/gui/windowmain.py:2233
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Fréquence cardiaque max</b>"
+
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
+msgstr "Supprimer cette entrée de la Base de Données?"
+
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
+msgstr "Êtes vous sûr?"
+
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
+msgstr "Homme"
+
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
+msgstr "Femme"
+
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
+msgstr "MET"
+
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr "Erreur lors de création du sport"
+
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
+msgid "Max"
+msgstr "Max"
+
+#: pytrainer/gui/windowrecord.py:97
+msgid "Ascent"
+msgstr "Dénivelé Positif"
+
+#: pytrainer/gui/windowrecord.py:98
+msgid "Descent"
+msgstr "Dénivelé Négatif"
+
+#: pytrainer/gui/windowrecord.py:204
+msgid "GPX File"
+msgstr "Fichier GPX"
+
+#: pytrainer/lib/gpx.py:128
+msgid "No Name"
+msgstr "Sans Nom"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
+msgstr "Pas de Valeurs"
#: pytrainer/lib/listview.py:32
msgid "All Time"
@@ -2028,83 +2059,51 @@ msgstr "1-2 heures"
msgid ">2 Hours"
msgstr ">2 heures"
-#: pytrainer/lib/gpx.py:129
-msgid "No Name"
-msgstr "Sans Nom"
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr "Pas de Valeurs"
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr "pieds"
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr "Allure au tour"
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr "Durée (s)"
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr "Vitesse au tour"
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr "Altitude"
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr "Altitude corrigée"
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr "Fréquence Cardiaque (% du max)"
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr "%"
-
-#: pytrainer/lib/activity.py:464
-msgid "rpm"
-msgstr "tpm"
-
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
-msgstr "Zone de Fréquence Cardiaque"
+#: pytrainer/lib/uc.py:52
+msgid "km"
+msgstr "km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mi"
-msgstr "miles"
+msgstr "miles"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
-msgstr "mph"
+msgstr "mph"
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr "min/mile"
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr "pieds"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr "kg"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr "lb"
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Altitude (m)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr "Vitesse (km/h)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity"
+msgstr "Vitesse"
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+msgid "Beats (bpm)"
+msgstr "Pulsations (bpm)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2115,8 +2114,8 @@ msgstr "jour"
msgid "Daily Distance"
msgstr "Distance Journalière"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
msgid "Time (hours)"
msgstr "Durée (Heures)"
@@ -2124,8 +2123,8 @@ msgstr "Durée (Heures)"
msgid "Daily Time"
msgstr "Durée Journalière"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr "FC moyenne (bpm)"
@@ -2141,39 +2140,17 @@ msgstr "Vitesse moyenne Journalière"
msgid "Daily Calories"
msgstr "Calories Journalière"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr "année"
-
-#: pytrainer/totalgraph.py:24
-msgid "Annual Distance"
-msgstr "Distance annuelle"
-
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr "Durée annuelle"
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr "FC moyenne annuelle"
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr "Vitesse moyenne annuelle"
-
-#: pytrainer/totalgraph.py:28
-msgid "Annual Calories"
-msgstr "Calories annuelles"
+#: pytrainer/recordgraph.py:136
+msgid "Speed (Km/h)"
+msgstr "Vitesse (km/h)"
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr "Modifier les détails avant l'importation"
+#: pytrainer/recordgraph.py:142
+msgid "Cadence (rpm)"
+msgstr "Rythme (tpm) "
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr "pytrainer ne peut pas importer de données depuis le fichier GPX"
+#: pytrainer/recordgraph.py:144
+msgid "Beats (%)"
+msgstr "Pulsations (%)"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2201,131 +2178,205 @@ msgstr "Vitesse moyenne Mensuelle"
msgid "Monthly Calories"
msgstr "Calories Mensuelle"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-"Ce fichier GPX semble contenir plusieurs jours d'enregistrements. Vous "
-"devrez peut-être au préalable éditer celui-ci."
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr "Vitesse (km/h)"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
+msgstr "Activité modérée"
-#: pytrainer/daygraph.py:54
-msgid "Velocity"
-msgstr "Vitesse"
+#: pytrainer/profile.py:140
+msgid "Weight Control"
+msgstr "Perte de poids"
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
-msgstr "Détruire ce Point de Localisation"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
+msgstr "Aérobie"
-#: imports/file_gpxplus.py:41
-msgid "GPS eXchange file"
-msgstr "Fichier de type GPX"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
+msgstr "Anaérobie"
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr "Fichier Geodistance kml version 2.0"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
+msgstr "VO2 Max"
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
-msgstr "Fichier de base de données Garmin training center version 1"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
+msgstr "Modifier les détails avant l'importation"
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr "Export Nokia- GPS eXchange file"
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
+msgstr "pytrainer ne peut pas importer de données depuis le fichier GPX"
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
-msgstr "GPSBabel"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
+msgstr "année"
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr "Garmintools"
+#: pytrainer/totalgraph.py:24
+msgid "Annual Distance"
+msgstr "Distance annuelle"
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr "Gant"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
+msgstr "Durée annuelle"
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
-msgstr "Fichier de dump Garmin tools"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
+msgstr "FC moyenne annuelle"
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
-msgstr "Fichier de base de données Garmin training center version 2"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
+msgstr "Vitesse moyenne annuelle"
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
-msgstr "Correction d'élévation terminée"
+#: pytrainer/totalgraph.py:28
+msgid "Annual Calories"
+msgstr "Calories annuelles"
-#: extensions/openstreetmap/openstreetmap.py:82
+#: pytrainer/waypoint.py:88
msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
-"Envoi de la trace GPX vers Openstreetmap\n"
-"\n"
-"Merci d'attendre la fin du processus qui peut prendre quelques minutes"
-
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
-msgstr "Traitement de l'extension Openstreetmap"
-
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
-msgstr "Chargement sur Openstreetmap effectué"
-
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
-msgstr "Erreur lors du chargement du fichier ver OSM"
-
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
-msgstr "Erreur d'extension Openstreetmap"
-
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
-msgstr "Merci de Compléter les informations pour ce chargement"
+"Ce fichier GPX semble contenir plusieurs jours d'enregistrements. Vous "
+"devrez peut-être au préalable éditer celui-ci."
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
-msgstr "Erreur"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
+msgstr "Détruire ce Point de Localisation"
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
-msgstr "Erreur lors de la sauvegarde de la configuration de l'extension"
+#~ msgid "Calendar"
+#~ msgstr "Calendrier"
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
-msgstr "Poster sur le blog Wordpress"
+#~ msgid ""
+#~ "Error\n"
+#~ "Warning\n"
+#~ "Info\n"
+#~ "Debug"
+#~ msgstr ""
+#~ "Erreur\n"
+#~ "Attention\n"
+#~ "Info\n"
+#~ "Debug"
+
+#~ msgid ""
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ "Percentage\n"
+#~ "Zone"
+#~ msgstr ""
+#~ "Profil\n"
+#~ "Vitesse\n"
+#~ "Allure\n"
+#~ "Fréquence Cardiaque\n"
+#~ "Rythme\n"
+#~ "Pourcentage\n"
+#~ "Zone"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ msgstr ""
+#~ "Null\n"
+#~ "Profil\n"
+#~ "Vitesse\n"
+#~ "Allure\n"
+#~ "Fréquence Cardiaque\n"
+#~ "Rythme\n"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Speed\n"
+#~ "Heart rate\n"
+#~ "Cadence"
+#~ msgstr ""
+#~ "Rien\n"
+#~ "Vitesse\n"
+#~ "Fréquence Cardiaque\n"
+#~ "Allure"
+
+#~ msgid ""
+#~ "Stage Profile\n"
+#~ "Stage Velocity\n"
+#~ "Stage Profile/velocity"
+#~ msgstr ""
+#~ "Profil de la sortie\n"
+#~ "Vitesse de la sortie\n"
+#~ "Profil de la sortie/Vitesse"
+
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Distance\n"
+#~ "Durée\n"
+#~ "FC moyenne\n"
+#~ "Vitesse moyenne\n"
+#~ "Calories"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Null\n"
+#~ "Distance\n"
+#~ "Durée\n"
+#~ "FC moyenne\n"
+#~ "Vitesse moyenne\n"
+#~ "Calories"
+
+#~ msgid ""
+#~ "All time\n"
+#~ "Last 4 weeks\n"
+#~ "Last 6 months\n"
+#~ "Last 12 months"
+#~ msgstr ""
+#~ "Toutes les dates\n"
+#~ "Les 4 dernières semaines\n"
+#~ "Les 6 derniers mois\n"
+#~ "Les 12 derniers mois"
+
+#~ msgid ""
+#~ "Font\n"
+#~ "Restaurant\n"
+#~ "Scenic Area\n"
+#~ "Summit"
+#~ msgstr ""
+#~ "Point d'eau\n"
+#~ "Restaurant\n"
+#~ "Vue Panoramique\n"
+#~ "Sommet"
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
-msgstr "Traitement de l'extension Wordpress"
+#~ msgid "Merge tracks"
+#~ msgstr "Fusionner les traces"
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
-msgstr "Chargement sur Wordpress effectué"
+#~ msgid "Miles"
+#~ msgstr "Miles"
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
-msgstr "Envoi vers Strava"
+#~ msgid "miles"
+#~ msgstr "miles"
-#: extensions/gpx2garmin/gpx2garmin.py:50
-msgid "gpx2garmin Extension"
-msgstr "Extension gpx2garmin"
+#~ msgid "miles/h"
+#~ msgstr "miles/h"
-#, fuzzy
-#~ msgid "Last entry"
-#~ msgstr "status-entry"
+#~ msgid "min/mile"
+#~ msgstr "min/mile"
-#, fuzzy
-#~ msgid "<b>Start screen</b>"
-#~ msgstr "<b>Sports</b>"
+#~ msgid "feet"
+#~ msgstr "pieds"
#~ msgid "Check"
#~ msgstr "Vérifier"
diff --git a/locale/gl/LC_MESSAGES/pytrainer.mo b/locale/gl/LC_MESSAGES/pytrainer.mo
index cbdcc75..1577cfc 100644
Binary files a/locale/gl/LC_MESSAGES/pytrainer.mo and b/locale/gl/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/gl/LC_MESSAGES/pytrainer_gl.po b/locale/gl/LC_MESSAGES/pytrainer_gl.po
index 4205020..0c9b343 100644
--- a/locale/gl/LC_MESSAGES/pytrainer_gl.po
+++ b/locale/gl/LC_MESSAGES/pytrainer_gl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Pytrainer 1.10\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2013-03-12 17:17+0100\n"
"Last-Translator: Aníbal Garrido Hermo <khanyux at gmail.com>\n"
"Language-Team: Galician <proxecto at trasno.net>\n"
@@ -18,324 +18,320 @@ msgstr ""
"X-Poedit-Language: Galician\n"
"X-Poedit-Country: SPAIN\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr "Calendario"
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
msgid "<b>Equipment List</b>"
msgstr "<b>Lista de equipamento</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
msgid "Description"
msgstr "Descrición"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr "Vida útil esperada"
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr "Uso anterior"
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr "Activo"
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr "Notas"
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
msgid "<b>Add New Equipment</b>"
msgstr "<b>Engadir novo equipamento</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
msgid "<b>Edit Equipment</b>"
msgstr "<b>Editar equipamento</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr "Realmente desexa borrar o equipamento?"
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
msgid "<b>Delete Equipment</b>"
msgstr "<b>Borrar equipamento</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr "Extensións"
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr "<b>Detalles das extensións</b>"
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr "nome-entrada"
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
msgid "Name:"
msgstr "Nome:"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
msgid "Status:"
msgstr "Estado:"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
msgid "Description:"
msgstr "Descrición:"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr "estado-entrada"
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr "descrición-entrada"
-#: glade/importdata.glade:7 glade/importdata.glade:325
-msgid "Import"
-msgstr "Importar"
+#: glade/importdata.ui:9
+#, fuzzy
+msgid "Test 1"
+msgstr ""
+"Proba 1\n"
+"Proba 2"
-#: glade/importdata.glade:36
-msgid ""
-"Test 1\n"
-"Test 2"
+#: glade/importdata.ui:12
+#, fuzzy
+msgid "Test 2"
msgstr ""
"Proba 1\n"
"Proba 2"
-#: glade/importdata.glade:46
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr "Descartar"
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr " "
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
+msgid "Import"
+msgstr "Importar"
+
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr "<b>Seleccione o seu dispositivo GPS</b>"
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr "Importar dende dispositivo GPS aínda non está dispoñible"
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
msgid "<b>Tools</b>"
msgstr "<b>Ferramentas</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr "Examinar de novo"
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr "Examinando de novo ferramentas dispoñibles no sistema"
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr "<b>Importar dende un dispositivo GPS</b>"
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr "Borrar ficheiros seleccionados e as actividades asociadas"
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr "Engadir ficheiros dende os que importar actividades"
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr "<b>Engadir ficheiro(s) dende o(s) que importar actividades </b>"
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
msgid "<b>Select activities to import</b>"
msgstr "<b>Seleccionar actividades para importar</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr "Importar actividades seleccionadas"
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr "Pechar diálogo de importación"
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
msgid "<b>Import from File</b>"
msgstr "<b>Importar dende un ficheiro</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
msgid "<b>Plugins</b>"
msgstr "<b>Engadidos</b>"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr "Importar dende un dispositivo GPS"
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr "Importar dende un ficheiro"
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr "Lanzar 'Selección de ficheiro' ó inicio"
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr "Iniciar automaticamente o diálogo de selección de ficheiros"
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr "Engadidos"
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
msgid "<b>Default to Tab</b>"
msgstr "<b>Lingüeta por defecto</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr "Restablecer"
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr "Gardar"
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
msgid "<b>Options</b>"
msgstr "<b>Opcións</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
msgid "<b>Select file to import from</b>"
msgstr "<b>Seleccione o ficheiro para importar dende</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr "Tabulación"
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr "Coma"
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr "Outro"
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr "Ler o ficheiro"
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
msgid "<b>File delimiter</b>"
msgstr "<b>Delimitador no ficheiro</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Data"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr "Descartar"
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Distancia (km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr "Duración (seg)"
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr "<b>Campo en PyTrainer</b>"
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
msgid "<b>File Column</b>"
msgstr "<b>Columna no ficheiro</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Título"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr "Descendido (m)"
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
msgid "Accent (m)"
msgstr "Ascendido (m)"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
msgid "Calories (kcal)"
msgstr "Calorías (kcal)"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
msgid "Max Speed (km/h)"
msgstr "Velocidade máxima (km/h)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
msgid "Average Speed (km/h)"
msgstr "Velocidade media (km/h)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Deporte"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr "Pulsacións medias (ppm)"
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr "Pulsacións máximas (ppm)"
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
msgid "Pace (min/km)"
msgstr "Ritmo (min/km)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr "Ritmo máximo (min/km)"
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
msgid "Comments"
msgstr "Comentarios"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr "Forzar deporte a:"
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr " "
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
msgid "<b>Map Columns</b>"
msgstr "<b>Mapear columnas</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -350,128 +346,130 @@ msgstr ""
"é obrigatoria)\n"
"4) Prema 'Importar datos'</small>"
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr "Importar datos"
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
msgid "<b>Import from CSV</b>"
msgstr "<b>Importar dende un ficheiro CSV</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Nova entrada"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
msgid "Title:"
msgstr "Título:"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
msgid "GPX File:"
msgstr "Ficheiro GPX:"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Calcular valores"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
msgid "Sport:"
msgstr "Deporte:"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
msgid "<b>Main</b>"
msgstr "<b>Principal</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
msgid "Distance (Km):"
msgstr "Distancia (km):"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
msgid "Calculate"
msgstr "Calcular"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr "Duración:"
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
msgid "Date:"
msgstr "Data:"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr "Hora de comezo:"
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr "12:00:00"
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
msgid "<b>General</b>"
msgstr "<b>Xeral</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
msgid "Max (km/h):"
msgstr "Máx (km/h):"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Media (km/h)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
msgid "<b>Speed</b>"
msgstr "<b>Velocidade</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
msgid "Quick Entry"
msgstr "Entrada rápida"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr "Máx (min/km):"
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr "Ritmo (min/km):"
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
msgid "<b>Pace</b>"
msgstr "<b>Ritmo</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr "Ascendido:"
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr "Descendido:"
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
msgid "<b>Accumulated Altitude Change</b>"
msgstr "<b>Desnivel acumulado</b>"
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr "Máx (ppm):"
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr "Pulsacións:"
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Calorías"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
@@ -479,161 +477,191 @@ msgstr ""
"<small><b>Nota:</b> Para o cálculo de calorías é necesario introducir o "
"valor de MET do deporte (en Preferencias->Deportes) </small>"
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
msgid "<b>Heart Rate</b>"
msgstr "<b>Pulsacións</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr "Avanzado"
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Comentarios</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr "<i>Non hai elementos de equipamento activos.</i>"
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr "<b>Equipamento asociado</b>"
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr "Equipamento"
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
msgid "<b>Plugin Details</b>"
msgstr "<b>Detalles do engadido</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr "descrición-entrada"
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr "nomeEntrada"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr "Erro"
+
+#: glade/profile.ui:12
+msgid "Warning"
+msgstr "Aviso"
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr "Preferencias"
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr "Sistema métrico"
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr "Sistema americano"
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr "<b>Sistema de medida</b>"
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "estado-entrada"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Deporte</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr "Google"
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr "Open Street Map"
-#: glade/profile.glade:140
+#: glade/profile.ui:231
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Visor de mapas predefinido</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
msgid "Database type:"
msgstr "Tipo de base de datos:"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
msgid "Database host:"
msgstr "Servidor da base de datos:"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
msgid "Database name:"
msgstr "Nome da base de datos:"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
msgid "Database user:"
msgstr "Usuario da base de datos:"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
msgid "Database pass:"
msgstr "Contrasinal da base de datos:"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Base de datos</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr "Xeral"
-#: glade/profile.glade:369
+#: glade/profile.ui:447
msgid "User name:"
msgstr "Nome do usuario:"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
msgid "Gender:"
msgstr "Xénero:"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
msgid "Height:"
msgstr "Altura:"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr "Data de nacemento:"
-#: glade/profile.glade:520
+#: glade/profile.ui:599
msgid "Weight:"
msgstr "Peso:"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
msgid "<b>Athlete Details</b>"
msgstr "<b>Datos do atleta</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
msgid "Athlete"
msgstr "Atleta"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
msgid "<b>Sport List</b>"
msgstr "<b>Lista de deportes</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr "Lista"
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr "M.E.T.:"
-#: glade/profile.glade:766
+#: glade/profile.ui:834
msgid "Extra Weight:"
msgstr "Peso extra:"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
"Máis información sobre como determinar o seu coeficiente M.E.T. na Wikipedia"
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr "Ritmo máximo:"
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
msgid "<b>Add New Sport</b>"
msgstr "<b>Engadir un deporte novo</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "novo"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
@@ -641,60 +669,60 @@ msgstr ""
"Borrando un deporte tamén elimina as súas entradas asociadas.\n"
"Desexa continuar?"
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
msgid "<b>Delete Sport</b>"
msgstr "<b>Borrar deporte</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "borrar"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Nome"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr "M.E.T."
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
msgid "Extra Weight"
msgstr "Peso extra"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr "Ritmo máximo"
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr "Cor"
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
msgid "<b>Edit Sport</b>"
msgstr "<b>Editar deporte</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
msgid "<b>lalaal</b>"
msgstr "<b>lalaal</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "editar"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Deportes"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr "Pulsacións máximas:"
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr "Pulsacións en repouso:"
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
@@ -702,7 +730,7 @@ msgstr ""
"<small><b>Nota:</b> O número máximo de pulsacións calcúlase coa seguinte "
"fórmula: 220 menos a súa idade. </small>"
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
@@ -710,54 +738,43 @@ msgstr ""
"<small><b>NOTA:</b> Para empregar o método Karvonen debe cubrir o campo de "
"Pulsacións en repouso.</small>"
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr "Método baseado en porcentaxes"
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr "Método Karvonen"
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr "Seleccione como calcular as súas zonas de frecuencia cardíaca."
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Zonas de frecuencia cardíaca</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr "Pulsacións"
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr "Nivel de log"
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-"Error\n"
-"Aviso\n"
-"Información\n"
-"Depuración"
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr "<small>Que nivel de detalle está escrito no ficheiro log?</small>"
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr "Validar"
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
@@ -765,15 +782,15 @@ msgstr ""
"<small>Intentar validar os engadidos antes de procesar o ficheiro de entrada?"
"</small>"
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr "Novo gráfico"
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr "<small>Desexa empregar os novos gráficos experimentais?</small>"
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
@@ -784,1211 +801,1225 @@ msgstr ""
"efecto na presente execución de PyTrainer e non serán recordados no futuro </"
"small>"
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr "Configuración de Inicio"
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Distancia"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Tempo"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "Pulsacións medias (ppm)"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "Velocidades medias diarias"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+msgid "All Distances"
+msgstr "Tódalas distancias"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+msgid "All Durations"
+msgstr "Tódalas duracións"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Todo o tempo"
+
+#: glade/pytrainer.ui:219
+#, fuzzy
+msgid "Last 4 weeks"
+msgstr "Últimas 4 semanas"
+
+#: glade/pytrainer.ui:222
+#, fuzzy
+msgid "Last 6 months"
+msgstr "Últimos 6 meses"
+
+#: glade/pytrainer.ui:225
+#, fuzzy
+msgid "Last 12 months"
+msgstr "Últimos 12 meses"
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Tódolos deportes"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+#, fuzzy
+msgid "Profile"
+msgstr "Perfil da etapa"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr "Velocidade"
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr "Ritmo"
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr "Cadencia"
+
+#: glade/pytrainer.ui:279
+#, fuzzy
+msgid "Percentage"
+msgstr "Baseado en porcentaxes"
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr "Zona"
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "Pulsacións:"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Perfil da etapa"
+
+#: glade/pytrainer.ui:339
+#, fuzzy
+msgid "Stage Velocity"
+msgstr "Velocidade"
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Perfil da etapa"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Ficheiro"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
msgid "_Import"
msgstr "_Importar"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
msgid "_Export as Text Separated by Commas"
msgstr "_Exportar como texto separado por comas (csv)"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "_Editar"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Vista"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr " Vista _clásica"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr " Vista de _listado de rexistros"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
msgid " _Waypoints Editor"
msgstr "Editor de _waypoints"
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr "Ferramentas"
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
msgid "GPS Device Plugins"
msgstr "Engadidos do dispositivo GPS"
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Axuda"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Tódolos deportes"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr "Columnas"
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
msgid "<b>Sport:</b>"
msgstr "<b>Deporte:</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
msgid "<b>Duration:</b>"
msgstr "<b>Duración:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
msgid "<b>Speed:</b>"
msgstr "<b>Velocidade:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
msgid "<b>Pace:</b>"
msgstr "<b>Ritmo:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
msgid "<b>Ascent:</b>"
msgstr "<b>Ascendido:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
msgid "<b>Calories:</b>"
msgstr "<b>Calorías:</b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "<b>Comentarios:</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
msgid "<b>Date:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Distancia:</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
msgid "<b>Max Speed</b>"
msgstr "<b>Velocidade máx</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
msgid "<b>Max Pace:</b>"
msgstr "<b>Ritmo máx:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
msgid "<b>Descent:</b>"
msgstr "<b>Descendido:</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "Cal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "Km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/h"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
msgid "<b>Equipment:</b>"
msgstr "<b>Equipamento:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
msgid "<b>Active / Rest:</b>"
msgstr "<b>Activo / Repouso:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr "h:m:s"
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
msgid "<b>Laps</b>"
msgstr "<b>Voltas</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
msgid " <b>Title:</b>"
msgstr " <b>Título:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
msgid "Show graph display options"
msgstr "Amosa-las opcións do gráfico"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-"Perfil\n"
-"Velocidade\n"
-"Ritmo\n"
-"Pulsacións\n"
-"Cadencia\n"
-"Porcentaxe\n"
-"Zona"
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr "Contra"
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-"Nada\n"
-"Perfil\n"
-"Velocidade\n"
-"Ritmo\n"
-"Pulsacións\n"
-"Cadencia\n"
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr "<small>Opcións de visualización gráfica</small>"
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr "<small>Límites</small>"
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr "<small>Mín</small>"
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr "<small>Máx</small>"
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr "<small>Cor</small>"
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr "<small>Peso</small>"
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr "Y1"
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr "<small>Suavizado</small>"
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr "Y2"
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr "X"
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
msgid "<small>Distance</small>"
msgstr "<small>Distancia</small>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr "<small>Tempo</small>"
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr "Amosar voltas"
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr "Restablecelo gráfico"
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr "Restablecer mapa"
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr "<small>Amosar:</small>"
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-"Nada\n"
-"Velocidade\n"
-"Pulsacións\n"
-"Cadencia"
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr "<small>Opcións de visualización de mapas:</small>"
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
msgid "<b>Beats:</b>"
msgstr "<b>Pulsacións:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Calorías: </b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
msgid "<b>Max Beats:</b>"
msgstr "<b>Pulsacións máx:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
msgid "<b>HR Zones Method:</b>"
msgstr "<b>Método de zonas de FC:</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
msgid "<b>HR Zone5:</b>"
msgstr "<b>Máximo esforzo:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr " ppm"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr " Cal"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
msgid "<b>HR Zone4:</b>"
msgstr "<b>Anaeróbica:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
msgid "<b>HR Zone3:</b>"
msgstr "<b>Aeróbica:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
msgid "<b>HR Zone2:</b>"
msgstr "<b>Queimagraxas:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
msgid "<b>HR Zone1:</b>"
msgstr "<b>Recuperación:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "bpm"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
msgid " <b>Heart Rate:</b>"
msgstr " <b>Pulsacións:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
msgid "<b>Projected times</b>"
msgstr "<b>Tempos estimados</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr "<i>Historial en distancias de deportes similares ± x%:</i>"
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
msgid "<b>Range:</b>"
msgstr "<b>Alcance:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
msgid "<b>Rank:</b>"
msgstr "<b>Posición:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
msgid "<b>Speed: </b>"
msgstr "<b>Velocidade: </b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
msgid "<b>Avg speed:</b>"
msgstr "<b>Velocidade media:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
msgid "<b>Standard deviation:</b>"
msgstr "<b>Desviación estándar:</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
msgid "<b>Deviation:</b>"
msgstr "<b>Desviación:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
msgid "<b>Ranking</b>"
msgstr "<b>Clasificación</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
msgid "<b>Analytics:</b>"
msgstr "<b>Estatísticas:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
msgid "Record"
msgstr "Rexistro"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
msgid "<b>Max Speed:</b>"
msgstr "<b>Velocidade máxima:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Pulsacións media:</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr "min/km"
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Total asc/desc:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
msgid "m"
msgstr "m"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
msgid " <b>Date:</b>"
msgstr " <b>Data:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Valor"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-"Perfil de Etapa\n"
-"Velocidade de Etapa\n"
-"Perfil/Velocidade de Etapa"
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Día"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
msgid " <b>Week:</b>"
msgstr " <b>Semana:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Distancia\n"
-"Tempo\n"
-"Pulsacións medias\n"
-"Velocidade Media\n"
-"Calorias"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Nada\n"
-"Distancia\n"
-"Tempo\n"
-"Pulsacións Medias\n"
-"Velocidade Media\n"
-"Calorías"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr "Semana"
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
msgid " <b>Month:</b>"
msgstr " <b>Mes:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Mes"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
msgid " <b>Year:</b>"
msgstr " <b>Ano:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "Ano"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
msgid "<b>Graph</b>"
msgstr "<b>Gráfico</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
msgid "<b>History</b>"
msgstr "<b>Historial</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
msgid "<b>Sports</b>"
msgstr "<b>Deporte</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
msgid "Total distance:"
msgstr "Distancia total:"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr "Duración total:"
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr "Data de comezo:"
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr "Data fin:"
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
msgid "<b>All</b>"
msgstr "<b>Todos</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr "Totais"
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
msgid "<b>Title:</b>"
msgstr "<b>Título:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Buscar"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-msgid "All Distances"
-msgstr "Tódalas distancias"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-msgid "All Durations"
-msgstr "Tódalas duracións"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-"Todo o Tempo\n"
-"Últimas 4 semanas\n"
-"Últimos 6 meses\n"
-"Últimos 12 meses"
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr "Columnas"
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr "Tipo:"
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-"Fonte\n"
-"Restaurante\n"
-"Mirador\n"
-"Cima"
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
msgid "Latitude: "
msgstr "Latitude: "
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
msgid " Name:"
msgstr " Nome:"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
msgid "Longitude:"
msgstr "Lonxitude:"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
msgid "<b> Waypoint: </b>"
msgstr "<b> Waypoint: </b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Editar rexistro"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Amosa-lo gráfico en vista clásica"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
-msgstr "Unir entrenamentos"
-
-#: glade/selecttrackdialog.glade:7
+#: glade/selecttrackdialog.ui:7
msgid "Select track record"
msgstr "Seleccionar un dos entrenamentos"
-#: glade/warning.glade:7 glade/warning.glade:38
-msgid "Warning"
-msgstr "Aviso"
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
+msgstr "Corrección de altura completada"
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
-msgstr "Millas"
+#: extensions/gpx2garmin/gpx2garmin.py:50
+msgid "gpx2garmin Extension"
+msgstr "Extensión gpx2garmin"
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "id"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
+msgstr ""
+"Enviando traza GPX a OpenStreetMap\n"
+"\n"
+"Por favor espere, pode tardar varios minutos"
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
-msgstr "Comezo"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
+msgstr "Procesando extensión de OpenStreetMap"
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Distancia"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
+msgstr "Envío completo da extensión de OpenStreetMap"
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Tempo"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr "Ocorreu un erro mentres se subia o ficheiro a OSM: "
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
-msgstr "⌀ FC"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr "Erro da extensión de OpenStreetMap"
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
-msgstr "⌀ Velocidade"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
+msgstr "Por favor engada información adicional para este envío"
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
-msgstr "Waypoint"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
+msgstr "Ocorreu un erro mentres se gardaba a configuración da extensión"
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Peso"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr "Subir a Strava"
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
-msgstr "Graxa corporal %"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr "Subir a un blogue de Wordpress"
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
-msgstr "FC en repouso"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
+msgstr "Procesando extensión de Wordpress"
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
-msgstr "Máx FC"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
+msgstr "Envío completo a Wordpress"
-#: pytrainer/gui/windowmain.py:141
-msgid "Records"
-msgstr "Rexistro"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
+msgstr "Versión 1 do ficheiro Garmin training center database"
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
-msgstr "Todas as duracións"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr "Versión 2 do ficheiro Garmin training center database"
-#: pytrainer/gui/windowmain.py:143
-msgid "Total distance"
-msgstr "Distancia total"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
+msgstr "Ficheiro de volcado de datos de Garmintools"
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
-msgstr "Velocidade media"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
+msgstr "Exportar a Nokia - Ficheiro de intercambio GPS"
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
-msgstr "Velocidade máxima"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
+msgstr "Ficheiro kml versión 2.0"
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
-msgstr "FC media"
+#: imports/tool_gant.py:34
+msgid "Gant"
+msgstr "Gant"
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
-msgstr "Duración Máx"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
+msgstr "Garmintools"
-#: pytrainer/gui/windowmain.py:149
-msgid "Max distance"
-msgstr "Distancia Máx"
-
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
-msgstr "Volta"
-
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
-msgstr "Activador"
-
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
-msgstr "Ritmo medio"
-
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
-msgstr "Ritmo máximo"
-
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
-msgstr "Intensidade"
-
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
-msgstr "Carreira"
-
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
-msgstr "Posición"
-
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
-msgstr "Velocidade"
-
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
-msgstr "Ritmo"
-
-#: pytrainer/gui/windowmain.py:320
-msgid "d"
-msgstr "d"
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr "Amosar no eixe X"
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr "Amosar no eixe Y1"
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr "Amosar no eixe Y2"
-
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
-msgstr "Límites dos eixes"
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr "Voltas"
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr "Cuadrícula do eixe esquerdo"
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr "Cuadrícula do eixe dereito"
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr "Cuadrícula do eixe X"
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr "Restablecer límites"
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr "Establecer límites"
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr "Baseado en porcentaxes"
-
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr "800 m"
-
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr "1500 m"
-
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
-msgstr "5K"
-
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
-msgstr "7K"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
+msgstr "GPSBabel"
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
-msgstr "10K"
+#: imports/file_gpxplus.py:41
+msgid "GPS eXchange file"
+msgstr "Ficheiro de intercambio GPS"
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
-msgstr "Media maratón"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
+msgstr "Ritmo por volta"
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
-msgstr "Maratón"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
+msgstr "Tempo (segundos)"
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
-msgstr "100K"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
+msgstr "Velocidade por volta"
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
-msgstr "millas"
-
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
-msgstr "millas/h"
-
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
-msgstr "min/milla"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
+msgstr "Altura"
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
-msgid "km"
-msgstr "km"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
+msgstr "Altura corrixida"
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
-msgstr "Pulsacións"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
+msgstr "Frecuencia cardíaca (% do máx)"
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Media"
+#: pytrainer/core/activity.py:480
+msgid "%"
+msgstr "%"
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
-msgstr "Ocultar opcións de visualización gráfica"
+#: pytrainer/core/activity.py:489
+msgid "rpm"
+msgstr "rpm"
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
-msgstr "Volta"
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
+msgstr "Zona de frecuencia cardíaca"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
msgid "h"
msgstr "h"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
-msgstr "s"
-
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-msgid "Edit Entry"
-msgstr "Editar entrada"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
+msgstr "min"
-#: pytrainer/gui/windowmain.py:2188
-msgid "Delete Entry"
-msgstr "Borrar entrada"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
+msgstr "Datos do atleta"
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
-msgstr "Crear entrada de atleta"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
+msgstr "Nome da ruta"
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
-msgstr "Editar entrada do atleta"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
+msgstr "descanso"
-#: pytrainer/gui/windowmain.py:2229
-msgid "<b>Date</b>"
-msgstr "<b>Data</b>"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
+msgstr "Uso"
-#: pytrainer/gui/windowmain.py:2245
-msgid "<b>Weight</b>"
-msgstr " <b>Peso</b>"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Editar rexistro"
-#: pytrainer/gui/windowmain.py:2253
-msgid "<b>Body Fat</b>"
-msgstr "<b>Graxa corporal</b>"
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Amosa-lo gráfico en vista clásica"
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
-msgstr "<b>Pulsacións en repouso</b>"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
+msgstr "Deshabilitado"
-#: pytrainer/gui/windowmain.py:2269
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Pulsacións máximas</b>"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
+msgstr "Habilitado"
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
-msgstr "Borrar esta entrada da base de datos?"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
+msgstr "%s opcións"
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
-msgstr "Está seguro?"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
+msgstr "Aceptar"
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr "Ningún ficheiro seleccionado"
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr "Configurar"
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
msgid "Disabled"
msgstr "Desactivado"
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr "Activo"
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
msgstr "Comprobando ferramentas"
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
msgid "GPS device found"
msgstr "Encontrouse un dispositivo GPS"
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr "Dispositivo GPS <b>non</b> encontrado"
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr "Non se encontrou esta ferramenta no sistema"
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr " Páxina de inicio"
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
msgstr "Comprobando o tipo de ficheiro para:"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "File"
msgstr "Ficheiro"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr "Tipo"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Activities"
msgstr "Actividades"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Start Time"
msgstr "Hora de comezo:"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Duration"
msgstr "Duración"
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr "Importado á base de datos"
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr "%s opcións"
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr "Deshabilitado"
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr "Habilitado"
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr "Aceptar"
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr "Gardar configuración"
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr "Configuración gardada"
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr "Importando unha actividade"
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr "Importando %d actividades"
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
msgstr "Non se importou ningunha actividade"
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr "Unha actividade importada"
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr "%d actividades importadas"
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
msgstr "A actividade seleccionada xa estaba presente na base de datos"
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
msgstr "%d actividades seleccionadas xa estaban presentes na base de datos"
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr "Seleccione ficheiro/s dende o/os que importar actividades"
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr "Tipo de ficheiro encontrado: %s"
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr "Encontrado na base de datos"
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr "Ficheiro %s descoñecido ou non soportado"
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
msgid "Got file: "
msgstr "Obter ficheiro:"
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, python-format
msgid "Column %d"
msgstr "Columna %d"
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
msgstr "ERRO: débese definir como mínimo a columna da data"
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
msgstr "Importación completa. %d filas procesadas"
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
-msgstr "min"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "id"
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
-msgstr "descanso"
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
+msgstr "Comezo"
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
-msgid "Max"
-msgstr "Máx"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
+msgstr "⌀ FC"
-#: pytrainer/gui/windowrecord.py:104
-msgid "Ascent"
-msgstr "Ascenso"
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
+msgstr "⌀ Velocidade"
-#: pytrainer/gui/windowrecord.py:105
-msgid "Descent"
-msgstr "Descenso"
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
+msgstr "Waypoint"
-#: pytrainer/gui/windowrecord.py:211
-msgid "GPX File"
-msgstr "Ficheiro GPX"
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Peso"
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
-msgstr "Home"
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
+msgstr "Graxa corporal %"
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
-msgstr "Muller"
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
+msgstr "FC en repouso"
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
-msgstr "MET"
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
+msgstr "Máx FC"
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
-msgstr "Ocorreu un erro ó crear o deporte"
+#: pytrainer/gui/windowmain.py:129
+msgid "Records"
+msgstr "Rexistro"
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
-msgstr "Uso"
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
+msgstr "Todas as duracións"
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
-msgstr "Nome da ruta"
+#: pytrainer/gui/windowmain.py:131
+msgid "Total distance"
+msgstr "Distancia total"
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
-msgstr "Datos do atleta"
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
+msgstr "Velocidade media"
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
-msgstr "Aceptar"
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr "Velocidade máxima"
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Altura (m)"
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
+msgstr "FC media"
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Perfil da etapa"
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
+msgstr "Duración Máx"
-#: pytrainer/recordgraph.py:136
-msgid "Speed (Km/h)"
-msgstr "Velocidade (km/h)"
+#: pytrainer/gui/windowmain.py:137
+msgid "Max distance"
+msgstr "Distancia Máx"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
-msgid "Beats (bpm)"
-msgstr "Pulsacións (ppm)"
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
+msgstr "Volta"
-#: pytrainer/recordgraph.py:142
-msgid "Cadence (rpm)"
-msgstr "Cadencia (rpm)"
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
+msgstr "Activador"
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
-msgstr "Cadencia"
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
+msgstr "Ritmo medio"
-#: pytrainer/recordgraph.py:144
-msgid "Beats (%)"
-msgstr "Pulsacións (%)"
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
+msgstr "Ritmo máximo"
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
-msgstr "Zona"
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
+msgstr "Intensidade"
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
-msgstr "Actividade moderada"
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
+msgstr "Carreira"
-#: pytrainer/profile.py:115
-msgid "Weight Control"
-msgstr "Control do peso"
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
+msgstr "Posición"
-#: pytrainer/profile.py:116
-msgid "Aerobic"
-msgstr "Aeróbico"
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
+msgstr ""
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
-msgstr "Anaeróbico"
+#: pytrainer/gui/windowmain.py:323
+msgid "d"
+msgstr "d"
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
-msgstr "VO2 MAX"
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
+msgstr "Amosar no eixe X"
+
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
+msgstr "Amosar no eixe Y1"
+
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
+msgstr "Amosar no eixe Y2"
+
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
+msgstr "Límites dos eixes"
+
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
+msgstr "Voltas"
+
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr "Cuadrícula do eixe esquerdo"
+
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
+msgstr "Cuadrícula do eixe dereito"
+
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
+msgstr "Cuadrícula do eixe X"
+
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr "Restablecer límites"
+
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr "Establecer límites"
+
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr "Baseado en porcentaxes"
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr "800 m"
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr "1500 m"
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr "5K"
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr "7K"
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr "10K"
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
+msgstr "Media maratón"
+
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr "Maratón"
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr "100K"
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr "Pulsacións"
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Media"
+
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
+msgstr "Ocultar opcións de visualización gráfica"
+
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
+msgstr "Volta"
+
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
+msgstr "s"
+
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
+msgid "Edit Entry"
+msgstr "Editar entrada"
+
+#: pytrainer/gui/windowmain.py:2152
+msgid "Delete Entry"
+msgstr "Borrar entrada"
+
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
+msgstr "Crear entrada de atleta"
+
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
+msgstr "Editar entrada do atleta"
+
+#: pytrainer/gui/windowmain.py:2193
+msgid "<b>Date</b>"
+msgstr "<b>Data</b>"
+
+#: pytrainer/gui/windowmain.py:2209
+msgid "<b>Weight</b>"
+msgstr " <b>Peso</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+msgid "<b>Body Fat</b>"
+msgstr "<b>Graxa corporal</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
+msgstr "<b>Pulsacións en repouso</b>"
+
+#: pytrainer/gui/windowmain.py:2233
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Pulsacións máximas</b>"
+
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
+msgstr "Borrar esta entrada da base de datos?"
+
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
+msgstr "Está seguro?"
+
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
+msgstr "Home"
+
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
+msgstr "Muller"
+
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
+msgstr "MET"
+
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr "Ocorreu un erro ó crear o deporte"
+
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
+msgid "Max"
+msgstr "Máx"
+
+#: pytrainer/gui/windowrecord.py:97
+msgid "Ascent"
+msgstr "Ascenso"
+
+#: pytrainer/gui/windowrecord.py:98
+msgid "Descent"
+msgstr "Descenso"
+
+#: pytrainer/gui/windowrecord.py:204
+msgid "GPX File"
+msgstr "Ficheiro GPX"
+
+#: pytrainer/lib/gpx.py:128
+msgid "No Name"
+msgstr "Sen nome"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
+msgstr "Sen datos"
#: pytrainer/lib/listview.py:32
msgid "All Time"
@@ -2018,83 +2049,51 @@ msgstr "1-2 horas"
msgid ">2 Hours"
msgstr ">2 horas"
-#: pytrainer/lib/gpx.py:129
-msgid "No Name"
-msgstr "Sen nome"
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr "Sen datos"
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr "pés"
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr "Ritmo por volta"
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr "Tempo (segundos)"
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr "Velocidade por volta"
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr "Altura"
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr "Altura corrixida"
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr "Frecuencia cardíaca (% do máx)"
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr "%"
-
-#: pytrainer/lib/activity.py:464
-msgid "rpm"
-msgstr "rpm"
-
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
-msgstr "Zona de frecuencia cardíaca"
+#: pytrainer/lib/uc.py:52
+msgid "km"
+msgstr "km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mi"
msgstr "milla"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr "mph"
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr "min/milla"
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr "pé"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr "kg"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr "lb"
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Altura (m)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr "Velocidade (Km/h)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity"
+msgstr "Velocidade"
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+msgid "Beats (bpm)"
+msgstr "Pulsacións (ppm)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2105,8 +2104,8 @@ msgstr "día"
msgid "Daily Distance"
msgstr "Distancia diaria"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
msgid "Time (hours)"
msgstr "Tempo (horas)"
@@ -2114,8 +2113,8 @@ msgstr "Tempo (horas)"
msgid "Daily Time"
msgstr "Tempo diario"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr "Pulsacións medias (ppm)"
@@ -2131,39 +2130,17 @@ msgstr "Velocidades medias diarias"
msgid "Daily Calories"
msgstr "Calorías diarias"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr "ano"
-
-#: pytrainer/totalgraph.py:24
-msgid "Annual Distance"
-msgstr "Distancia anual"
-
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr "Tempo anual"
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr "Pulsacións medias anuais"
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr "Velocidade media anual"
-
-#: pytrainer/totalgraph.py:28
-msgid "Annual Calories"
-msgstr "Calorías anuais"
+#: pytrainer/recordgraph.py:136
+msgid "Speed (Km/h)"
+msgstr "Velocidade (km/h)"
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr "Modificar detalles antes de importar"
+#: pytrainer/recordgraph.py:142
+msgid "Cadence (rpm)"
+msgstr "Cadencia (rpm)"
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr "pytrainer non pode importalos datos do seu ficheiro gpx"
+#: pytrainer/recordgraph.py:144
+msgid "Beats (%)"
+msgstr "Pulsacións (%)"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2191,120 +2168,202 @@ msgstr "Velocidades medias mensuais"
msgid "Monthly Calories"
msgstr "Calorías mensuais"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-"Parece que o ficheiro gpx contén actividades de varios días. Quizais "
-"precisaría editar o seu ficheiro gpx"
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr "Velocidade (Km/h)"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
+msgstr "Actividade moderada"
-#: pytrainer/daygraph.py:54
-msgid "Velocity"
-msgstr "Velocidade"
+#: pytrainer/profile.py:140
+msgid "Weight Control"
+msgstr "Control do peso"
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
-msgstr "Borrar este waypoint?"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
+msgstr "Aeróbico"
-#: imports/file_gpxplus.py:41
-msgid "GPS eXchange file"
-msgstr "Ficheiro de intercambio GPS"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
+msgstr "Anaeróbico"
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr "Ficheiro kml versión 2.0"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
+msgstr "VO2 MAX"
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
-msgstr "Versión 1 do ficheiro Garmin training center database"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
+msgstr "Modificar detalles antes de importar"
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr "Exportar a Nokia - Ficheiro de intercambio GPS"
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
+msgstr "pytrainer non pode importalos datos do seu ficheiro gpx"
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
-msgstr "GPSBabel"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
+msgstr "ano"
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr "Garmintools"
+#: pytrainer/totalgraph.py:24
+msgid "Annual Distance"
+msgstr "Distancia anual"
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr "Gant"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
+msgstr "Tempo anual"
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
-msgstr "Ficheiro de volcado de datos de Garmintools"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
+msgstr "Pulsacións medias anuais"
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
-msgstr "Versión 2 do ficheiro Garmin training center database"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
+msgstr "Velocidade media anual"
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
-msgstr "Corrección de altura completada"
+#: pytrainer/totalgraph.py:28
+msgid "Annual Calories"
+msgstr "Calorías anuais"
-#: extensions/openstreetmap/openstreetmap.py:82
+#: pytrainer/waypoint.py:88
msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
-"Enviando traza GPX a OpenStreetMap\n"
-"\n"
-"Por favor espere, pode tardar varios minutos"
-
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
-msgstr "Procesando extensión de OpenStreetMap"
-
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
-msgstr "Envío completo da extensión de OpenStreetMap"
-
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
-msgstr "Ocorreu un erro mentres se subia o ficheiro a OSM: "
-
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
-msgstr "Erro da extensión de OpenStreetMap"
-
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
-msgstr "Por favor engada información adicional para este envío"
-
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
-msgstr "Erro"
-
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
-msgstr "Ocorreu un erro mentres se gardaba a configuración da extensión"
-
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
-msgstr "Subir a un blogue de Wordpress"
-
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
-msgstr "Procesando extensión de Wordpress"
-
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
-msgstr "Envío completo a Wordpress"
+"Parece que o ficheiro gpx contén actividades de varios días. Quizais "
+"precisaría editar o seu ficheiro gpx"
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
-msgstr "Subir a Strava"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
+msgstr "Borrar este waypoint?"
-#: extensions/gpx2garmin/gpx2garmin.py:50
-msgid "gpx2garmin Extension"
-msgstr "Extensión gpx2garmin"
+#~ msgid "Calendar"
+#~ msgstr "Calendario"
+
+#~ msgid ""
+#~ "Error\n"
+#~ "Warning\n"
+#~ "Info\n"
+#~ "Debug"
+#~ msgstr ""
+#~ "Error\n"
+#~ "Aviso\n"
+#~ "Información\n"
+#~ "Depuración"
+
+#~ msgid ""
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ "Percentage\n"
+#~ "Zone"
+#~ msgstr ""
+#~ "Perfil\n"
+#~ "Velocidade\n"
+#~ "Ritmo\n"
+#~ "Pulsacións\n"
+#~ "Cadencia\n"
+#~ "Porcentaxe\n"
+#~ "Zona"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ msgstr ""
+#~ "Nada\n"
+#~ "Perfil\n"
+#~ "Velocidade\n"
+#~ "Ritmo\n"
+#~ "Pulsacións\n"
+#~ "Cadencia\n"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Speed\n"
+#~ "Heart rate\n"
+#~ "Cadence"
+#~ msgstr ""
+#~ "Nada\n"
+#~ "Velocidade\n"
+#~ "Pulsacións\n"
+#~ "Cadencia"
+
+#~ msgid ""
+#~ "Stage Profile\n"
+#~ "Stage Velocity\n"
+#~ "Stage Profile/velocity"
+#~ msgstr ""
+#~ "Perfil de Etapa\n"
+#~ "Velocidade de Etapa\n"
+#~ "Perfil/Velocidade de Etapa"
+
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Distancia\n"
+#~ "Tempo\n"
+#~ "Pulsacións medias\n"
+#~ "Velocidade Media\n"
+#~ "Calorias"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Nada\n"
+#~ "Distancia\n"
+#~ "Tempo\n"
+#~ "Pulsacións Medias\n"
+#~ "Velocidade Media\n"
+#~ "Calorías"
+
+#~ msgid ""
+#~ "All time\n"
+#~ "Last 4 weeks\n"
+#~ "Last 6 months\n"
+#~ "Last 12 months"
+#~ msgstr ""
+#~ "Todo o Tempo\n"
+#~ "Últimas 4 semanas\n"
+#~ "Últimos 6 meses\n"
+#~ "Últimos 12 meses"
+
+#~ msgid ""
+#~ "Font\n"
+#~ "Restaurant\n"
+#~ "Scenic Area\n"
+#~ "Summit"
+#~ msgstr ""
+#~ "Fonte\n"
+#~ "Restaurante\n"
+#~ "Mirador\n"
+#~ "Cima"
+
+#~ msgid "Merge tracks"
+#~ msgstr "Unir entrenamentos"
+
+#~ msgid "Miles"
+#~ msgstr "Millas"
+
+#~ msgid "miles"
+#~ msgstr "millas"
+
+#~ msgid "miles/h"
+#~ msgstr "millas/h"
+
+#~ msgid "min/mile"
+#~ msgstr "min/milla"
+
+#~ msgid "feet"
+#~ msgstr "pés"
diff --git a/locale/no/LC_MESSAGES/pytrainer.mo b/locale/no/LC_MESSAGES/pytrainer.mo
index 5a96256..0048f03 100644
Binary files a/locale/no/LC_MESSAGES/pytrainer.mo and b/locale/no/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/no/LC_MESSAGES/pytrainer_no.po b/locale/no/LC_MESSAGES/pytrainer_no.po
index 29c3846..d639755 100644
--- a/locale/no/LC_MESSAGES/pytrainer_no.po
+++ b/locale/no/LC_MESSAGES/pytrainer_no.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pytrainer 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2009-12-07 19:21+0100\n"
"Last-Translator: David García Granda <dgranda at gmail.com>\n"
"Language-Team: Norwegian <i18n-nb at lister.ping.uio.no>\n"
@@ -17,347 +17,339 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr ""
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
#, fuzzy
msgid "<b>Equipment List</b>"
msgstr "<b>Sport liste</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
#, fuzzy
msgid "Description"
msgstr "<b>Distanse</b>"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr ""
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr ""
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr ""
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr ""
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
#, fuzzy
msgid "<b>Add New Equipment</b>"
msgstr "<b>Legg til type Sport</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
#, fuzzy
msgid "<b>Edit Equipment</b>"
msgstr "<b>Endre sport</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr ""
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
#, fuzzy
msgid "<b>Delete Equipment</b>"
msgstr "<b>Slett sport</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr ""
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr ""
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr ""
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
#, fuzzy
msgid "Name:"
msgstr "Navn"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
#, fuzzy
msgid "Status:"
msgstr "<b>Puls:</b>"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
#, fuzzy
msgid "Description:"
msgstr "<b>Distanse</b>"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr ""
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr ""
-#: glade/importdata.glade:7 glade/importdata.glade:325
+#: glade/importdata.ui:9
+msgid "Test 1"
+msgstr ""
+
+#: glade/importdata.ui:12
+msgid "Test 2"
+msgstr ""
+
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr ""
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr "."
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
#, fuzzy
msgid "Import"
msgstr "Sport"
-#: glade/importdata.glade:36
-msgid ""
-"Test 1\n"
-"Test 2"
-msgstr ""
-
-#: glade/importdata.glade:46
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr ""
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr ""
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
#, fuzzy
msgid "<b>Tools</b>"
msgstr "<b>Tid:</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr ""
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr ""
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr ""
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr ""
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr ""
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr ""
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
#, fuzzy
msgid "<b>Select activities to import</b>"
msgstr "<b>Slett sport</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr ""
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr ""
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
#, fuzzy
msgid "<b>Import from File</b>"
msgstr "<b>Sport liste</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
#, fuzzy
msgid "<b>Plugins</b>"
msgstr "<b>Kalorier:</b>"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr ""
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr ""
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr ""
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr ""
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr ""
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
#, fuzzy
msgid "<b>Default to Tab</b>"
msgstr "<b>Database</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr ""
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr ""
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
#, fuzzy
msgid "<b>Options</b>"
msgstr "<b>Distanse</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
#, fuzzy
msgid "<b>Select file to import from</b>"
msgstr "<b>Slett sport</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr ""
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr ""
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr ""
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr ""
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
#, fuzzy
msgid "<b>File delimiter</b>"
msgstr "<b>Tid:</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Dato"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr ""
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Distanse (Km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr ""
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr ""
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
#, fuzzy
msgid "<b>File Column</b>"
msgstr "<b>Komentar</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Tittel"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr ""
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
#, fuzzy
msgid "Accent (m)"
msgstr "Alder"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
#, fuzzy
msgid "Calories (kcal)"
msgstr "Kalorier"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
#, fuzzy
msgid "Max Speed (km/h)"
msgstr "Snitt (Km/t)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
#, fuzzy
msgid "Average Speed (km/h)"
msgstr "Snitt (Km/t)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Sport"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
#, fuzzy
msgid "Pace (min/km)"
msgstr "Distanse (Km)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr ""
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
#, fuzzy
msgid "Comments"
msgstr "<b>Komentar</b>"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr ""
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr "."
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
#, fuzzy
msgid "<b>Map Columns</b>"
msgstr "<b>Komentar</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -366,1696 +358,1761 @@ msgid ""
"4) Click 'Import Data'</small>"
msgstr ""
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr ""
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
#, fuzzy
msgid "<b>Import from CSV</b>"
msgstr "<b>Sport liste</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr ""
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
#, fuzzy
msgid "Title:"
msgstr "Tittel"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
#, fuzzy
msgid "GPX File:"
msgstr "Profil"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Kalkuler Tid"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
#, fuzzy
msgid "Sport:"
msgstr "Sport"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
#, fuzzy
msgid "<b>Main</b>"
msgstr "<b>Dato:</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
#, fuzzy
msgid "Distance (Km):"
msgstr "Distanse (Km)"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
#, fuzzy
msgid "Calculate"
msgstr "Kalkuler Tid"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr ""
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
#, fuzzy
msgid "Date:"
msgstr "Dato"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr ""
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr ""
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
#, fuzzy
msgid "<b>General</b>"
msgstr "<b>Gjennomsnitt:</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
#, fuzzy
msgid "Max (km/h):"
msgstr "Snitt (Km/t)"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Snitt (Km/t)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
#, fuzzy
msgid "<b>Speed</b>"
msgstr "<b>Tid:</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
msgid "Quick Entry"
msgstr ""
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr ""
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr ""
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
#, fuzzy
msgid "<b>Pace</b>"
msgstr "<b>Tid:</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr ""
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr ""
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
msgid "<b>Accumulated Altitude Change</b>"
msgstr ""
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr ""
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr ""
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Kalorier"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
msgstr ""
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
#, fuzzy
msgid "<b>Heart Rate</b>"
msgstr "<b>Puls gjennomsnitt</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr ""
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Komentar</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr ""
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr ""
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr ""
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
#, fuzzy
msgid "<b>Plugin Details</b>"
msgstr "<b>Database</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr ""
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr ""
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr ""
+
+#: glade/profile.ui:12
+msgid "Warning"
+msgstr ""
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr ""
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr ""
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr ""
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr ""
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+msgid "Last entry"
+msgstr ""
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Puls:</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr ""
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr ""
-#: glade/profile.glade:140
+#: glade/profile.ui:231
#, fuzzy
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Slett sport</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
#, fuzzy
msgid "Database type:"
msgstr "Database Type"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
#, fuzzy
msgid "Database host:"
msgstr "Database Vert"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
#, fuzzy
msgid "Database name:"
msgstr "Database Navn"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
#, fuzzy
msgid "Database user:"
msgstr "Database Bruker "
-#: glade/profile.glade:267
+#: glade/profile.ui:358
#, fuzzy
msgid "Database pass:"
msgstr "Database Passord"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Database</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr ""
-#: glade/profile.glade:369
+#: glade/profile.ui:447
#, fuzzy
msgid "User name:"
msgstr "Nytt navn"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
#, fuzzy
msgid "Gender:"
msgstr "Vekt"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
#, fuzzy
msgid "Height:"
msgstr "Alder"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr ""
-#: glade/profile.glade:520
+#: glade/profile.ui:599
#, fuzzy
msgid "Weight:"
msgstr "Vekt"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
#, fuzzy
msgid "<b>Athlete Details</b>"
msgstr "<b>Slett sport</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
#, fuzzy
msgid "Athlete"
msgstr "slett"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
#, fuzzy
msgid "<b>Sport List</b>"
msgstr "<b>Sport liste</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr "Liste"
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr ""
-#: glade/profile.glade:766
+#: glade/profile.ui:834
#, fuzzy
msgid "Extra Weight:"
msgstr "Vekt"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr ""
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
#, fuzzy
msgid "<b>Add New Sport</b>"
msgstr "<b>Legg til type Sport</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "ny"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
msgstr ""
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
#, fuzzy
msgid "<b>Delete Sport</b>"
msgstr "<b>Slett sport</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "slett"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Navn"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr ""
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
#, fuzzy
msgid "Extra Weight"
msgstr "Vekt"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr ""
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr ""
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
#, fuzzy
msgid "<b>Edit Sport</b>"
msgstr "<b>Endre sport</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
#, fuzzy
msgid "<b>lalaal</b>"
msgstr "<b>Database</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "endre"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Sport"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr ""
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr ""
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
msgstr ""
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
msgstr ""
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr ""
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr ""
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr ""
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
#, fuzzy
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Puls:</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr ""
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr ""
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr ""
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr ""
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
msgstr ""
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr ""
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
"instance of pytrainer, they will not be remembered next time though</small>"
msgstr ""
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr ""
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Distanse"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Tid"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "månedlig snitt"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "daglig snitt"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+#, fuzzy
+msgid "All Distances"
+msgstr "Distanse"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+#, fuzzy
+msgid "All Durations"
+msgstr "Alle Typer Sport"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Tid"
+
+#: glade/pytrainer.ui:219
+msgid "Last 4 weeks"
+msgstr ""
+
+#: glade/pytrainer.ui:222
+msgid "Last 6 months"
+msgstr ""
+
+#: glade/pytrainer.ui:225
+msgid "Last 12 months"
+msgstr ""
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Alle Typer Sport"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+msgid "Profile"
+msgstr "Profil"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr ""
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr ""
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr ""
+
+#: glade/pytrainer.ui:279
+msgid "Percentage"
+msgstr ""
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr ""
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "<b>Puls gjennomsnitt</b>"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Profil"
+
+#: glade/pytrainer.ui:339
+msgid "Stage Velocity"
+msgstr ""
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Profil"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Fil"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
#, fuzzy
msgid "_Import"
msgstr "Sport"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
#, fuzzy
msgid "_Export as Text Separated by Commas"
msgstr "_Eksporter som tekst separert av komma"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "_Endre"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Vis"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr "_Klassisk Visning"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr "_Liste Visning"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
msgid " _Waypoints Editor"
msgstr ""
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr ""
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
msgid "GPS Device Plugins"
msgstr ""
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Hjelp"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Alle Typer Sport"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr ""
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
#, fuzzy
msgid "<b>Sport:</b>"
msgstr "<b>Sport liste</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
#, fuzzy
msgid "<b>Duration:</b>"
msgstr "<b>Distanse</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
#, fuzzy
msgid "<b>Speed:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
#, fuzzy
msgid "<b>Pace:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
#, fuzzy
msgid "<b>Ascent:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
#, fuzzy
msgid "<b>Calories:</b>"
msgstr "<b>Kalorier:</b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "<b>Komentar</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
#, fuzzy
msgid "<b>Date:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Distanse</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
#, fuzzy
msgid "<b>Max Speed</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
#, fuzzy
msgid "<b>Max Pace:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
#, fuzzy
msgid "<b>Descent:</b>"
msgstr "<b>Distanse</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "Kal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "Km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "Km/t"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
#, fuzzy
msgid "<b>Equipment:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
#, fuzzy
msgid "<b>Active / Rest:</b>"
msgstr "<b>Gjennomsnitt:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr ""
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
#, fuzzy
msgid "<b>Laps</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
#, fuzzy
msgid " <b>Title:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
#, fuzzy
msgid "Show graph display options"
msgstr "Vis i klassisk visning"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr ""
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr ""
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr ""
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr ""
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr ""
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr ""
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr ""
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr ""
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr ""
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr ""
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr ""
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
#, fuzzy
msgid "<small>Distance</small>"
msgstr "<b>Distanse</b>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr ""
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr ""
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr ""
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr ""
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr ""
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr ""
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
msgid "<b>Beats:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Kalorier:</b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
#, fuzzy
msgid "<b>Max Beats:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
#, fuzzy
msgid "<b>HR Zones Method:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
#, fuzzy
msgid "<b>HR Zone5:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr "ppm"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr "Kal"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
#, fuzzy
msgid "<b>HR Zone4:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
#, fuzzy
msgid "<b>HR Zone3:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
#, fuzzy
msgid "<b>HR Zone2:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
#, fuzzy
msgid "<b>HR Zone1:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "ppm"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
#, fuzzy
msgid " <b>Heart Rate:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
#, fuzzy
msgid "<b>Projected times</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
#, fuzzy
msgid "<b>Range:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
#, fuzzy
msgid "<b>Rank:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
#, fuzzy
msgid "<b>Speed: </b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
#, fuzzy
msgid "<b>Avg speed:</b>"
msgstr "<b>Gjennomsnitt:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
#, fuzzy
msgid "<b>Standard deviation:</b>"
msgstr "<b>Distanse</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
#, fuzzy
msgid "<b>Deviation:</b>"
msgstr "<b>Distanse</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
#, fuzzy
msgid "<b>Ranking</b>"
msgstr "<b>Kalorier:</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
#, fuzzy
msgid "<b>Analytics:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
#, fuzzy
msgid "Record"
msgstr "Endre Notat"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
#, fuzzy
msgid "<b>Max Speed:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Puls gjennomsnitt</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr ""
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
#, fuzzy
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
#, fuzzy
msgid "m"
msgstr "Km"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
#, fuzzy
msgid " <b>Date:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr ""
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Dag"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
#, fuzzy
msgid " <b>Week:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr ""
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
#, fuzzy
msgid " <b>Month:</b>"
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "måned"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
#, fuzzy
msgid " <b>Year:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr ""
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
#, fuzzy
msgid "<b>Graph</b>"
msgstr "<b>Gjennomsnitt:</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
#, fuzzy
msgid "<b>History</b>"
msgstr "<b>Endre sport</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
#, fuzzy
msgid "<b>Sports</b>"
msgstr "<b>Sport liste</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
#, fuzzy
msgid "Total distance:"
msgstr "Distanse"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr ""
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr ""
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr ""
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
#, fuzzy
msgid "<b>All</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr ""
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
#, fuzzy
msgid "<b>Title:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Mars"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-#, fuzzy
-msgid "All Distances"
-msgstr "Distanse"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-#, fuzzy
-msgid "All Durations"
-msgstr "Alle Typer Sport"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr ""
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr ""
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
#, fuzzy
msgid "Latitude: "
msgstr "<b>Dato:</b>"
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
#, fuzzy
msgid " Name:"
msgstr "Navn"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
#, fuzzy
msgid "Longitude:"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
#, fuzzy
msgid "<b> Waypoint: </b>"
msgstr "<b>Kalorier:</b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Endre Notat"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Vis i klassisk visning"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
+#: glade/selecttrackdialog.ui:7
+msgid "Select track record"
msgstr ""
-#: glade/selecttrackdialog.glade:7
-msgid "Select track record"
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
msgstr ""
-#: glade/warning.glade:7 glade/warning.glade:38
-msgid "Warning"
+#: extensions/gpx2garmin/gpx2garmin.py:50
+msgid "gpx2garmin Extension"
msgstr ""
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
msgstr ""
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "id"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
+msgstr ""
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Distanse"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr ""
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Tid"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr ""
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
msgstr ""
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
msgstr ""
-#: pytrainer/gui/windowmain.py:127
-#, fuzzy
-msgid "Waypoint"
-msgstr "<b>Kalorier:</b>"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr ""
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Vekt"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr ""
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
msgstr ""
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
msgstr ""
-#: pytrainer/gui/windowmain.py:141
-#, fuzzy
-msgid "Records"
-msgstr "Endre Notat"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr ""
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
msgstr ""
-#: pytrainer/gui/windowmain.py:143
-#, fuzzy
-msgid "Total distance"
-msgstr "Distanse"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
+msgstr ""
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
msgstr ""
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
+#: imports/tool_gant.py:34
+msgid "Gant"
msgstr ""
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
msgstr ""
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
msgstr ""
-#: pytrainer/gui/windowmain.py:149
+#: imports/file_gpxplus.py:41
#, fuzzy
-msgid "Max distance"
-msgstr "Distanse"
+msgid "GPS eXchange file"
+msgstr "Profil"
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
msgstr ""
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
msgstr ""
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
+#: pytrainer/core/activity.py:480
+msgid "%"
msgstr ""
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
+#: pytrainer/core/activity.py:489
+#, fuzzy
+msgid "rpm"
+msgstr "ppm"
+
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
msgstr ""
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
+msgid "h"
msgstr ""
-#: pytrainer/gui/windowmain.py:320
-#, fuzzy
-msgid "d"
-msgstr "id"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
+msgstr ""
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
msgstr ""
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
msgstr ""
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
msgstr ""
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
msgstr ""
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Endre Notat"
+
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Vis i klassisk visning"
+
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
msgstr ""
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
msgstr ""
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
msgstr ""
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
msgstr ""
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
+#: pytrainer/gui/windowimportdata.py:96
+msgid "No file selected"
msgstr ""
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
+#: pytrainer/gui/windowimportdata.py:141
+msgid "Configure"
msgstr ""
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
+#: pytrainer/gui/windowimportdata.py:147
+msgid "Disabled"
msgstr ""
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
+#: pytrainer/gui/windowimportdata.py:149
+msgid "Enabled"
msgstr ""
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
+#: pytrainer/gui/windowimportdata.py:201
+msgid "Checking for tools"
msgstr ""
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
+#: pytrainer/gui/windowimportdata.py:228
+msgid "GPS device found"
msgstr ""
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
+#: pytrainer/gui/windowimportdata.py:231
+msgid "GPS device <b>not</b> found"
msgstr ""
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
+#: pytrainer/gui/windowimportdata.py:238
+msgid "This tool was not found on the system"
msgstr ""
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
+#: pytrainer/gui/windowimportdata.py:240
+msgid " Homepage"
msgstr ""
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
+#: pytrainer/gui/windowimportdata.py:260
+msgid "Checking file type for: "
msgstr ""
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
+#: pytrainer/gui/windowimportdata.py:293
+#, fuzzy
+msgid "File"
+msgstr "_Fil"
+
+#: pytrainer/gui/windowimportdata.py:293
+msgid "Type"
msgstr ""
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
+#: pytrainer/gui/windowimportdata.py:293
+msgid "Activities"
msgstr ""
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
+msgid "Start Time"
msgstr ""
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
+msgid "Duration"
msgstr ""
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
-#, fuzzy
-msgid "km"
-msgstr "Km/t"
+#: pytrainer/gui/windowimportdata.py:483
+msgid "Imported into database"
+msgstr ""
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
+msgid "Ok"
msgstr ""
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Snitt (Km/t)"
+#: pytrainer/gui/windowimportdata.py:606
+msgid "Saving options"
+msgstr ""
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
+#: pytrainer/gui/windowimportdata.py:608
+msgid "Options saved"
msgstr ""
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
+#: pytrainer/gui/windowimportdata.py:634
+msgid "Importing one activity"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
-msgid "h"
+#: pytrainer/gui/windowimportdata.py:636
+#, python-format
+msgid "Importing %d activities"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
+#: pytrainer/gui/windowimportdata.py:644
+msgid "No activity has been imported"
msgstr ""
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-msgid "Edit Entry"
+#: pytrainer/gui/windowimportdata.py:646
+msgid "Imported one activity"
msgstr ""
-#: pytrainer/gui/windowmain.py:2188
-msgid "Delete Entry"
+#: pytrainer/gui/windowimportdata.py:648
+#, python-format
+msgid "Imported %d activities"
msgstr ""
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
+#: pytrainer/gui/windowimportdata.py:652
+msgid " Activity selected was already present in DB"
msgstr ""
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
+#: pytrainer/gui/windowimportdata.py:654
+#, python-format
+msgid " %d selected activities were already present in DB"
msgstr ""
-#: pytrainer/gui/windowmain.py:2229
-#, fuzzy
-msgid "<b>Date</b>"
-msgstr "<b>Dato:</b>"
+#: pytrainer/gui/windowimportdata.py:662
+msgid "Choose a file (or files) to import activities from"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2245
-#, fuzzy
-msgid "<b>Weight</b>"
-msgstr "<b>Puls:</b>"
+#: pytrainer/gui/windowimportdata.py:677
+#, python-format
+msgid "Found file of type: %s"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2253
-#, fuzzy
-msgid "<b>Body Fat</b>"
-msgstr "<b>Puls:</b>"
+#: pytrainer/gui/windowimportdata.py:702
+msgid "Found in database"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
+#: pytrainer/gui/windowimportdata.py:720
+#, python-format
+msgid "File %s is of unknown or unsupported file type"
msgstr ""
-#: pytrainer/gui/windowmain.py:2269
+#: pytrainer/gui/windowimportdata.py:757
#, fuzzy
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Puls gjennomsnitt</b>"
+msgid "Got file: "
+msgstr "Profil"
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
+#: pytrainer/gui/windowimportdata.py:794
+#, python-format
+msgid "Column %d"
msgstr ""
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
+#: pytrainer/gui/windowimportdata.py:851
+msgid "ERROR: Must define at least a date column"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:99
-msgid "No file selected"
+#: pytrainer/gui/windowimportdata.py:983
+#, python-format
+msgid "Import completed. %d rows processed"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:144
-msgid "Configure"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "id"
+
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:150
-msgid "Disabled"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:152
-msgid "Enabled"
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:204
-msgid "Checking for tools"
+#: pytrainer/gui/windowmain.py:115
+#, fuzzy
+msgid "Waypoint"
+msgstr "<b>Kalorier:</b>"
+
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Vekt"
+
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:231
-msgid "GPS device found"
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:234
-msgid "GPS device <b>not</b> found"
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:241
-msgid "This tool was not found on the system"
+#: pytrainer/gui/windowmain.py:129
+#, fuzzy
+msgid "Records"
+msgstr "Endre Notat"
+
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:243
-msgid " Homepage"
+#: pytrainer/gui/windowmain.py:131
+#, fuzzy
+msgid "Total distance"
+msgstr "Distanse"
+
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:263
-msgid "Checking file type for: "
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowmain.py:137
#, fuzzy
-msgid "File"
-msgstr "_Fil"
+msgid "Max distance"
+msgstr "Distanse"
-#: pytrainer/gui/windowimportdata.py:296
-msgid "Type"
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
-msgid "Activities"
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-msgid "Start Time"
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-msgid "Duration"
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:486
-msgid "Imported into database"
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
-msgid "Ok"
+#: pytrainer/gui/windowmain.py:323
+#, fuzzy
+msgid "d"
+msgstr "id"
+
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:609
-msgid "Saving options"
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:611
-msgid "Options saved"
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:637
-msgid "Importing one activity"
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:639
-#, python-format
-msgid "Importing %d activities"
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:647
-msgid "No activity has been imported"
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:649
-msgid "Imported one activity"
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:651
-#, python-format
-msgid "Imported %d activities"
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:655
-msgid " Activity selected was already present in DB"
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:657
-#, python-format
-msgid " %d selected activities were already present in DB"
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:665
-msgid "Choose a file (or files) to import activities from"
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:680
-#, python-format
-msgid "Found file of type: %s"
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:705
-msgid "Found in database"
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:723
-#, python-format
-msgid "File %s is of unknown or unsupported file type"
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:760
-#, fuzzy
-msgid "Got file: "
-msgstr "Profil"
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr ""
-#: pytrainer/gui/windowimportdata.py:797
-#, python-format
-msgid "Column %d"
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:854
-msgid "ERROR: Must define at least a date column"
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:986
-#, python-format
-msgid "Import completed. %d rows processed"
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
msgstr ""
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
msgstr ""
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
msgstr ""
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
-#, fuzzy
-msgid "Max"
-msgstr "Mai"
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Snitt (Km/t)"
-#: pytrainer/gui/windowrecord.py:104
-#, fuzzy
-msgid "Ascent"
-msgstr "Alder"
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:105
-#, fuzzy
-msgid "Descent"
-msgstr "<b>Distanse</b>"
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:211
-#, fuzzy
-msgid "GPX File"
-msgstr "Profil"
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
+msgstr ""
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
+msgid "Edit Entry"
msgstr ""
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
+#: pytrainer/gui/windowmain.py:2152
+msgid "Delete Entry"
msgstr ""
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
msgstr ""
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
msgstr ""
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
+#: pytrainer/gui/windowmain.py:2193
+#, fuzzy
+msgid "<b>Date</b>"
+msgstr "<b>Dato:</b>"
+
+#: pytrainer/gui/windowmain.py:2209
+#, fuzzy
+msgid "<b>Weight</b>"
+msgstr "<b>Puls:</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+#, fuzzy
+msgid "<b>Body Fat</b>"
+msgstr "<b>Puls:</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
msgstr ""
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
+#: pytrainer/gui/windowmain.py:2233
+#, fuzzy
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Puls gjennomsnitt</b>"
+
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
msgstr ""
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
msgstr ""
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Alder"
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
+msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Profil"
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr ""
-#: pytrainer/recordgraph.py:136
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
#, fuzzy
-msgid "Speed (Km/h)"
-msgstr "Snitt (Km/t)"
+msgid "Max"
+msgstr "Mai"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
+#: pytrainer/gui/windowrecord.py:97
#, fuzzy
-msgid "Beats (bpm)"
-msgstr "Puls snitt (ppm)"
+msgid "Ascent"
+msgstr "Alder"
-#: pytrainer/recordgraph.py:142
+#: pytrainer/gui/windowrecord.py:98
#, fuzzy
-msgid "Cadence (rpm)"
-msgstr "Distanse (Km)"
-
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
-msgstr ""
+msgid "Descent"
+msgstr "<b>Distanse</b>"
-#: pytrainer/recordgraph.py:144
+#: pytrainer/gui/windowrecord.py:204
#, fuzzy
-msgid "Beats (%)"
-msgstr "Puls snitt (ppm)"
-
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
-msgstr ""
-
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
-msgstr ""
+msgid "GPX File"
+msgstr "Profil"
-#: pytrainer/profile.py:115
+#: pytrainer/lib/gpx.py:128
#, fuzzy
-msgid "Weight Control"
-msgstr "Vekt"
-
-#: pytrainer/profile.py:116
-msgid "Aerobic"
-msgstr ""
-
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
-msgstr ""
+msgid "No Name"
+msgstr "Navn"
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
msgstr ""
#: pytrainer/lib/listview.py:32
@@ -2087,86 +2144,54 @@ msgstr ""
msgid ">2 Hours"
msgstr ""
-#: pytrainer/lib/gpx.py:129
-#, fuzzy
-msgid "No Name"
-msgstr "Navn"
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr ""
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr ""
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr ""
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr ""
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr ""
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr ""
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr ""
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr ""
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr ""
-
-#: pytrainer/lib/activity.py:464
+#: pytrainer/lib/uc.py:52
#, fuzzy
-msgid "rpm"
-msgstr "ppm"
-
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
-msgstr ""
+msgid "km"
+msgstr "Km/t"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
#, fuzzy
msgid "mi"
msgstr "Km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr ""
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Alder"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr ""
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity"
+msgstr ""
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+#, fuzzy
+msgid "Beats (bpm)"
+msgstr "Puls snitt (ppm)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2178,8 +2203,8 @@ msgstr "Dag"
msgid "Daily Distance"
msgstr "Distanse"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
#, fuzzy
msgid "Time (hours)"
msgstr "tid i timer"
@@ -2189,8 +2214,8 @@ msgstr "tid i timer"
msgid "Daily Time"
msgstr "daglig tid"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr ""
@@ -2208,41 +2233,20 @@ msgstr "daglig snitt"
msgid "Daily Calories"
msgstr "daglige kalorier"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr ""
-
-#: pytrainer/totalgraph.py:24
+#: pytrainer/recordgraph.py:136
#, fuzzy
-msgid "Annual Distance"
-msgstr "Distanse"
-
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr ""
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr ""
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr ""
+msgid "Speed (Km/h)"
+msgstr "Snitt (Km/t)"
-#: pytrainer/totalgraph.py:28
+#: pytrainer/recordgraph.py:142
#, fuzzy
-msgid "Annual Calories"
-msgstr "Kalorier"
-
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr ""
+msgid "Cadence (rpm)"
+msgstr "Distanse (Km)"
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr ""
+#: pytrainer/recordgraph.py:144
+#, fuzzy
+msgid "Beats (%)"
+msgstr "Puls snitt (ppm)"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2275,124 +2279,73 @@ msgstr "månedlig snitt"
msgid "Monthly Calories"
msgstr "månedlig kalorier"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr ""
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity"
-msgstr ""
-
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
msgstr ""
-#: imports/file_gpxplus.py:41
+#: pytrainer/profile.py:140
#, fuzzy
-msgid "GPS eXchange file"
-msgstr "Profil"
-
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr ""
-
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
-msgstr ""
-
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr ""
-
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
-msgstr ""
-
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr ""
-
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr ""
-
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
-msgstr ""
-
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
-msgstr ""
-
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
-msgstr ""
+msgid "Weight Control"
+msgstr "Vekt"
-#: extensions/openstreetmap/openstreetmap.py:82
-msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
-msgstr ""
+#: pytrainer/totalgraph.py:24
+#, fuzzy
+msgid "Annual Distance"
+msgstr "Distanse"
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
msgstr ""
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
msgstr ""
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
msgstr ""
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
-msgstr ""
+#: pytrainer/totalgraph.py:28
+#, fuzzy
+msgid "Annual Calories"
+msgstr "Kalorier"
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
+#: pytrainer/waypoint.py:88
+msgid ""
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
-#: extensions/gpx2garmin/gpx2garmin.py:50
-msgid "gpx2garmin Extension"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
msgstr ""
-#, fuzzy
-#~ msgid "<b>Start screen</b>"
-#~ msgstr "<b>Puls:</b>"
-
#~ msgid "window1"
#~ msgstr "window1"
@@ -2435,9 +2388,6 @@ msgstr ""
#~ msgid "Calculate Average"
#~ msgstr "Kalkuler Snitt"
-#~ msgid "Profile"
-#~ msgstr "Profil"
-
#~ msgid "Database"
#~ msgstr "Database"
diff --git a/locale/pl/LC_MESSAGES/pytrainer.mo b/locale/pl/LC_MESSAGES/pytrainer.mo
index 3edccb9..43db553 100644
Binary files a/locale/pl/LC_MESSAGES/pytrainer.mo and b/locale/pl/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/pl/LC_MESSAGES/pytrainer_pl.po b/locale/pl/LC_MESSAGES/pytrainer_pl.po
index 17f5f69..7fe4d63 100644
--- a/locale/pl/LC_MESSAGES/pytrainer_pl.po
+++ b/locale/pl/LC_MESSAGES/pytrainer_pl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pytrainer_pl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Seweryn Kokot <skokot at o2.pl>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
@@ -17,343 +17,335 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr ""
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
#, fuzzy
msgid "<b>Equipment List</b>"
msgstr "<b>Lista dyscyplin</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
msgid "Description"
msgstr ""
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr ""
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr ""
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr ""
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr ""
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
#, fuzzy
msgid "<b>Add New Equipment</b>"
msgstr "<b>Dodaj nową dyscyplinę</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
#, fuzzy
msgid "<b>Edit Equipment</b>"
msgstr "<b>Edytuj dyscyplinę</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr ""
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
#, fuzzy
msgid "<b>Delete Equipment</b>"
msgstr "<b>Usuń dyscyplinę</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr ""
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr ""
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr ""
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
#, fuzzy
msgid "Name:"
msgstr "Nazwa"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
msgid "Status:"
msgstr ""
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
msgid "Description:"
msgstr ""
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr ""
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr ""
-#: glade/importdata.glade:7 glade/importdata.glade:325
+#: glade/importdata.ui:9
+msgid "Test 1"
+msgstr ""
+
+#: glade/importdata.ui:12
+msgid "Test 2"
+msgstr ""
+
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr ""
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr " "
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
#, fuzzy
msgid "Import"
msgstr "Sport"
-#: glade/importdata.glade:36
-msgid ""
-"Test 1\n"
-"Test 2"
-msgstr ""
-
-#: glade/importdata.glade:46
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr ""
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr ""
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
#, fuzzy
msgid "<b>Tools</b>"
msgstr "<b>Lista dyscyplin</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr ""
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr ""
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr ""
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr ""
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr ""
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr ""
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
#, fuzzy
msgid "<b>Select activities to import</b>"
msgstr "<b>Usuń dyscyplinę</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr ""
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr ""
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
#, fuzzy
msgid "<b>Import from File</b>"
msgstr "<b>Lista dyscyplin</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
#, fuzzy
msgid "<b>Plugins</b>"
msgstr "<b>Kalorie:</b>"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr ""
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr ""
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr ""
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr ""
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr ""
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
#, fuzzy
msgid "<b>Default to Tab</b>"
msgstr "<b>Baza danych</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr ""
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr ""
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
#, fuzzy
msgid "<b>Options</b>"
msgstr "<b>Lista dyscyplin</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
#, fuzzy
msgid "<b>Select file to import from</b>"
msgstr "<b>Usuń dyscyplinę</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr ""
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr ""
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr ""
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr ""
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
#, fuzzy
msgid "<b>File delimiter</b>"
msgstr "<b>Czas:</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Data"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr ""
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
#, fuzzy
msgid "Distance (km)"
msgstr "Dystans (km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr ""
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr ""
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
#, fuzzy
msgid "<b>File Column</b>"
msgstr "<b>Komentarz</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Tytuł"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr ""
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
msgid "Accent (m)"
msgstr ""
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
#, fuzzy
msgid "Calories (kcal)"
msgstr "Kalorie"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
#, fuzzy
msgid "Max Speed (km/h)"
msgstr "Średnia (km/h)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
#, fuzzy
msgid "Average Speed (km/h)"
msgstr "Średnia (km/h)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Sport"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
msgid "Pace (min/km)"
msgstr ""
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr ""
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
#, fuzzy
msgid "Comments"
msgstr "<b>Komentarz</b>"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr ""
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr " "
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
#, fuzzy
msgid "<b>Map Columns</b>"
msgstr "<b>Komentarz</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -362,1823 +354,1845 @@ msgid ""
"4) Click 'Import Data'</small>"
msgstr ""
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr ""
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
#, fuzzy
msgid "<b>Import from CSV</b>"
msgstr "<b>Lista dyscyplin</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Nowa pozycja"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
#, fuzzy
msgid "Title:"
msgstr "Tytuł"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
msgid "GPX File:"
msgstr ""
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
#, fuzzy
msgid "Calculate Values"
msgstr "Oblicz czas"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
#, fuzzy
msgid "Sport:"
msgstr "Sport"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
#, fuzzy
msgid "<b>Main</b>"
msgstr "<b>Miesiąc:</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
#, fuzzy
msgid "Distance (Km):"
msgstr "Dystans (km)"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
#, fuzzy
msgid "Calculate"
msgstr "Oblicz czas"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr ""
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ""
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
#, fuzzy
msgid "Date:"
msgstr "Data"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr ""
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr ""
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
#, fuzzy
msgid "<b>General</b>"
msgstr "<b>Rok:</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
#, fuzzy
msgid "Max (km/h):"
msgstr "Średnia (km/h)"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Średnia (km/h)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
#, fuzzy
msgid "<b>Speed</b>"
msgstr "<b>Czas:</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
#, fuzzy
msgid "Quick Entry"
msgstr "Nowa pozycja"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr ""
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr ""
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
#, fuzzy
msgid "<b>Pace</b>"
msgstr "<b>Data:</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr ""
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr ""
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
msgid "<b>Accumulated Altitude Change</b>"
msgstr ""
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr ""
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr ""
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Kalorie"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
msgstr ""
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
#, fuzzy
msgid "<b>Heart Rate</b>"
msgstr "<b>Średni puls:</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr ""
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Komentarz</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr ""
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr ""
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr ""
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
#, fuzzy
msgid "<b>Plugin Details</b>"
msgstr "<b>Baza danych</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr ""
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
#, fuzzy
msgid "nameEntry"
msgstr "Nowa pozycja"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr ""
+
+#: glade/profile.ui:12
+msgid "Warning"
+msgstr ""
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr ""
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr ""
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr ""
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr ""
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "Nowa pozycja"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Lista dyscyplin</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr ""
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr ""
-#: glade/profile.glade:140
+#: glade/profile.ui:231
#, fuzzy
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Usuń dyscyplinę</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
#, fuzzy
msgid "Database type:"
msgstr "Typ bazy danych"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
#, fuzzy
msgid "Database host:"
msgstr "Host bazy danych"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
#, fuzzy
msgid "Database name:"
msgstr "Nazwa bazy danych"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
#, fuzzy
msgid "Database user:"
msgstr "Użytkownik bazy danych"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
#, fuzzy
msgid "Database pass:"
msgstr "Hasło bazy danych"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Baza danych</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr ""
-#: glade/profile.glade:369
+#: glade/profile.ui:447
#, fuzzy
msgid "User name:"
msgstr "Nowa nazwa"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
#, fuzzy
msgid "Gender:"
msgstr "Rodzaj"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
#, fuzzy
msgid "Height:"
msgstr "Wzrost"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr ""
-#: glade/profile.glade:520
+#: glade/profile.ui:599
#, fuzzy
msgid "Weight:"
msgstr "Waga"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
#, fuzzy
msgid "<b>Athlete Details</b>"
msgstr "<b>Usuń dyscyplinę</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
#, fuzzy
msgid "Athlete"
msgstr "usuń"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
#, fuzzy
msgid "<b>Sport List</b>"
msgstr "<b>Lista dyscyplin</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr "lista"
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr ""
-#: glade/profile.glade:766
+#: glade/profile.ui:834
#, fuzzy
msgid "Extra Weight:"
msgstr "Waga"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr ""
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
#, fuzzy
msgid "<b>Add New Sport</b>"
msgstr "<b>Dodaj nową dyscyplinę</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "nowy"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
msgstr ""
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
#, fuzzy
msgid "<b>Delete Sport</b>"
msgstr "<b>Usuń dyscyplinę</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "usuń"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Nazwa"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr ""
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
#, fuzzy
msgid "Extra Weight"
msgstr "Waga"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr ""
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr ""
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
#, fuzzy
msgid "<b>Edit Sport</b>"
msgstr "<b>Edytuj dyscyplinę</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
#, fuzzy
msgid "<b>lalaal</b>"
msgstr "<b>Baza danych</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "Edycja"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Sporty"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr ""
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr ""
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
msgstr ""
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
msgstr ""
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr ""
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr ""
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr ""
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
#, fuzzy
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Puls:</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr ""
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr ""
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr ""
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr ""
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
msgstr ""
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr ""
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
"instance of pytrainer, they will not be remembered next time though</small>"
msgstr ""
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr ""
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Dystans (km)"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Czas"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "miesięczna średnia"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "dzienna średnia"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+#, fuzzy
+msgid "All Distances"
+msgstr "Dystans (km)"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+#, fuzzy
+msgid "All Durations"
+msgstr "Wszystkie sporty"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Czas"
+
+#: glade/pytrainer.ui:219
+msgid "Last 4 weeks"
+msgstr ""
+
+#: glade/pytrainer.ui:222
+msgid "Last 6 months"
+msgstr ""
+
+#: glade/pytrainer.ui:225
+msgid "Last 12 months"
+msgstr ""
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Wszystkie sporty"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+#, fuzzy
+msgid "Profile"
+msgstr "Profil"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr ""
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr ""
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr ""
+
+#: glade/pytrainer.ui:279
+msgid "Percentage"
+msgstr ""
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr ""
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "<b>Średni puls:</b>"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+#, fuzzy
+msgid "Stage Profile"
+msgstr "Profil"
+
+#: glade/pytrainer.ui:339
+msgid "Stage Velocity"
+msgstr ""
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Profil"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Plik"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
#, fuzzy
msgid "_Import"
msgstr "Sport"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
#, fuzzy
msgid "_Export as Text Separated by Commas"
msgstr "_Eksportuj jako tekst oddzielony przecinkami"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "_Edycja"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Wygląd"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
#, fuzzy
msgid " _Classic View"
msgstr "_Klasyczny wygląd"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
#, fuzzy
msgid " _List View"
msgstr "_Wygląd listy"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
msgid " _Waypoints Editor"
msgstr ""
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr ""
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
msgid "GPS Device Plugins"
msgstr ""
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Pomoc"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Wszystkie sporty"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr ""
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
#, fuzzy
msgid "<b>Sport:</b>"
msgstr "<b>Lista dyscyplin</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
#, fuzzy
msgid "<b>Duration:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
#, fuzzy
msgid "<b>Speed:</b>"
msgstr "<b>Czas:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
#, fuzzy
msgid "<b>Pace:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
#, fuzzy
msgid "<b>Ascent:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
#, fuzzy
msgid "<b>Calories:</b>"
msgstr "<b>Kalorie:</b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
#, fuzzy
msgid "<b>Comments:</b>"
msgstr "<b>Komentarz</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
msgid "<b>Date:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Dystans:</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
#, fuzzy
msgid "<b>Max Speed</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
#, fuzzy
msgid "<b>Max Pace:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
#, fuzzy
msgid "<b>Descent:</b>"
msgstr "<b>Dystans:</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "Kal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/h"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
#, fuzzy
msgid "<b>Equipment:</b>"
msgstr "<b>Czas:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
#, fuzzy
msgid "<b>Active / Rest:</b>"
msgstr "<b>Średnia:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr ""
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
#, fuzzy
msgid "<b>Laps</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
#, fuzzy
msgid " <b>Title:</b>"
msgstr "<b>Czas:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
msgid "Show graph display options"
msgstr ""
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr ""
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr ""
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr ""
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr ""
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr ""
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr ""
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr ""
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr ""
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr ""
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr ""
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr ""
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
#, fuzzy
msgid "<small>Distance</small>"
msgstr "<b>Dystans:</b>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr ""
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr ""
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr ""
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr ""
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr ""
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr ""
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
msgid "<b>Beats:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Kalorie:</b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
#, fuzzy
msgid "<b>Max Beats:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
#, fuzzy
msgid "<b>HR Zones Method:</b>"
msgstr "<b>Miesiąc:</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
#, fuzzy
msgid "<b>HR Zone5:</b>"
msgstr "<b>Miesiąc:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr ""
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr ""
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
#, fuzzy
msgid "<b>HR Zone4:</b>"
msgstr "<b>Miesiąc:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
#, fuzzy
msgid "<b>HR Zone3:</b>"
msgstr "<b>Miesiąc:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
#, fuzzy
msgid "<b>HR Zone2:</b>"
msgstr "<b>Miesiąc:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
#, fuzzy
msgid "<b>HR Zone1:</b>"
msgstr "<b>Miesiąc:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "bpm"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
#, fuzzy
msgid " <b>Heart Rate:</b>"
msgstr "<b>Średni puls:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
#, fuzzy
msgid "<b>Projected times</b>"
msgstr "<b>Lista dyscyplin</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
#, fuzzy
msgid "<b>Range:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
#, fuzzy
msgid "<b>Rank:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
#, fuzzy
msgid "<b>Speed: </b>"
msgstr "<b>Czas:</b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
#, fuzzy
msgid "<b>Avg speed:</b>"
msgstr "<b>Średnia:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
msgid "<b>Standard deviation:</b>"
msgstr ""
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
#, fuzzy
msgid "<b>Deviation:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
#, fuzzy
msgid "<b>Ranking</b>"
msgstr "<b>Średnia:</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
#, fuzzy
msgid "<b>Analytics:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
#, fuzzy
msgid "Record"
msgstr "Edytuj wiersz"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
#, fuzzy
msgid "<b>Max Speed:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Średni puls:</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr ""
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
#, fuzzy
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Dystans:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
#, fuzzy
msgid "m"
msgstr "km"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
#, fuzzy
msgid " <b>Date:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Wartość"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Dzień"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
#, fuzzy
msgid " <b>Week:</b>"
msgstr "<b>Czas:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-#, fuzzy
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Kilometry\n"
-"Czas\n"
-"Puls\n"
-"Średnia\n"
-"Kalorie"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-#, fuzzy
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Kilometry\n"
-"Czas\n"
-"Puls\n"
-"Średnia\n"
-"Kalorie"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr ""
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
#, fuzzy
msgid " <b>Month:</b>"
msgstr "<b>Miesiąc:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Miesiąc"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
#, fuzzy
msgid " <b>Year:</b>"
msgstr "<b>Rok:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "Rok"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
#, fuzzy
msgid "<b>Graph</b>"
msgstr "<b>Średnia:</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
#, fuzzy
msgid "<b>History</b>"
msgstr "<b>Edytuj dyscyplinę</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
#, fuzzy
msgid "<b>Sports</b>"
msgstr "<b>Lista dyscyplin</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
#, fuzzy
msgid "Total distance:"
msgstr "Dystans (km)"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr ""
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr ""
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr ""
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
#, fuzzy
msgid "<b>All</b>"
msgstr "<b>Średnia:</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr ""
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
#, fuzzy
msgid "<b>Title:</b>"
msgstr "<b>Czas:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
#, fuzzy
msgid "Search"
msgstr "Marzec"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-#, fuzzy
-msgid "All Distances"
-msgstr "Dystans (km)"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-#, fuzzy
-msgid "All Durations"
-msgstr "Wszystkie sporty"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr ""
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr ""
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
msgid "Latitude: "
msgstr ""
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
#, fuzzy
msgid " Name:"
msgstr "Nazwa"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
msgid "Longitude:"
msgstr ""
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
#, fuzzy
msgid "<b> Waypoint: </b>"
msgstr "<b>Miesiąc:</b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Edytuj wiersz"
-
-#: glade/pytrainer.glade:6822
-#, fuzzy
-msgid "Show graph in classic view"
-msgstr "Pokaż klasyczny wygląd"
+#: glade/selecttrackdialog.ui:7
+msgid "Select track record"
+msgstr ""
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
msgstr ""
-#: glade/selecttrackdialog.glade:7
-msgid "Select track record"
+#: extensions/gpx2garmin/gpx2garmin.py:50
+msgid "gpx2garmin Extension"
msgstr ""
-#: glade/warning.glade:7 glade/warning.glade:38
-msgid "Warning"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
msgstr ""
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
msgstr ""
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
msgstr ""
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Dystans (km)"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr ""
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Czas"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
+msgstr ""
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
msgstr ""
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
msgstr ""
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
msgstr ""
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Waga"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
+msgstr ""
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
msgstr ""
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
msgstr ""
-#: pytrainer/gui/windowmain.py:141
-#, fuzzy
-msgid "Records"
-msgstr "Edytuj wiersz"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
+msgstr ""
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
msgstr ""
-#: pytrainer/gui/windowmain.py:143
-#, fuzzy
-msgid "Total distance"
-msgstr "Dystans (km)"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
+msgstr ""
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
+#: imports/tool_gant.py:34
+msgid "Gant"
msgstr ""
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
msgstr ""
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
msgstr ""
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
+#: imports/file_gpxplus.py:41
+msgid "GPS eXchange file"
msgstr ""
-#: pytrainer/gui/windowmain.py:149
-#, fuzzy
-msgid "Max distance"
-msgstr "Dystans (km)"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
+msgstr ""
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
msgstr ""
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:320
-msgid "d"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
msgstr ""
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
+#: pytrainer/core/activity.py:480
+msgid "%"
msgstr ""
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
+#: pytrainer/core/activity.py:489
#, fuzzy
-msgid "km"
-msgstr "km/h"
+msgid "rpm"
+msgstr "bpm"
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
msgstr ""
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-#, fuzzy
-msgid "Average"
-msgstr "Średnia (km/h)"
-
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
+msgid "h"
msgstr ""
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
-msgid "h"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
msgstr ""
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-#, fuzzy
-msgid "Edit Entry"
-msgstr "Nowa pozycja"
-
-#: pytrainer/gui/windowmain.py:2188
-#, fuzzy
-msgid "Delete Entry"
-msgstr "Nowa pozycja"
-
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
msgstr ""
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
msgstr ""
-#: pytrainer/gui/windowmain.py:2229
-#, fuzzy
-msgid "<b>Date</b>"
-msgstr "<b>Data:</b>"
-
-#: pytrainer/gui/windowmain.py:2245
-#, fuzzy
-msgid "<b>Weight</b>"
-msgstr "<b>Puls:</b>"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Edytuj wiersz"
-#: pytrainer/gui/windowmain.py:2253
+#: pytrainer/gui/popupmenu.py:31
#, fuzzy
-msgid "<b>Body Fat</b>"
-msgstr "<b>Puls:</b>"
+msgid "Show graph in classic view"
+msgstr "Pokaż klasyczny wygląd"
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
msgstr ""
-#: pytrainer/gui/windowmain.py:2269
-#, fuzzy
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Średni puls:</b>"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
msgstr ""
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
msgid "Disabled"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
msgid "GPS device found"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
#, fuzzy
msgid "File"
msgstr "_Plik"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Start Time"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Duration"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
msgid "Got file: "
msgstr ""
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, python-format
msgid "Column %d"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
msgstr ""
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
-msgstr ""
-
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
msgstr ""
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
-#, fuzzy
-msgid "Max"
-msgstr "Maj"
-
-#: pytrainer/gui/windowrecord.py:104
-#, fuzzy
-msgid "Ascent"
-msgstr "<b>Puls:</b>"
-
-#: pytrainer/gui/windowrecord.py:105
-#, fuzzy
-msgid "Descent"
-msgstr "<b>Dystans:</b>"
-
-#: pytrainer/gui/windowrecord.py:211
-#, fuzzy
-msgid "GPX File"
-msgstr "_Plik"
-
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
msgstr ""
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
msgstr ""
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
msgstr ""
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
msgstr ""
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
-msgstr ""
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Waga"
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
msgstr ""
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
msgstr ""
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-#, fuzzy
-msgid "Height (m)"
-msgstr "Wzrost"
-
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-#, fuzzy
-msgid "Stage Profile"
-msgstr "Profil"
-
-#: pytrainer/recordgraph.py:136
+#: pytrainer/gui/windowmain.py:129
#, fuzzy
-msgid "Speed (Km/h)"
-msgstr "Średnia (km/h)"
+msgid "Records"
+msgstr "Edytuj wiersz"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
-#, fuzzy
-msgid "Beats (bpm)"
-msgstr "Średni puls (bpm)"
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
+msgstr ""
-#: pytrainer/recordgraph.py:142
+#: pytrainer/gui/windowmain.py:131
#, fuzzy
-msgid "Cadence (rpm)"
+msgid "Total distance"
msgstr "Dystans (km)"
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
msgstr ""
-#: pytrainer/recordgraph.py:144
-#, fuzzy
-msgid "Beats (%)"
-msgstr "Średni puls (bpm)"
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr ""
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
msgstr ""
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
msgstr ""
-#: pytrainer/profile.py:115
+#: pytrainer/gui/windowmain.py:137
#, fuzzy
-msgid "Weight Control"
-msgstr "Waga"
+msgid "Max distance"
+msgstr "Dystans (km)"
-#: pytrainer/profile.py:116
-msgid "Aerobic"
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
msgstr ""
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
msgstr ""
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
msgstr ""
-#: pytrainer/lib/listview.py:32
-#, fuzzy
-msgid "All Time"
-msgstr "Czas"
-
-#: pytrainer/lib/listview.py:32
-msgid "Last 4 Weeks"
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
msgstr ""
-#: pytrainer/lib/listview.py:33
-msgid "Last 6 Months"
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
msgstr ""
-#: pytrainer/lib/listview.py:33
-msgid "Last 12 Months"
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
msgstr ""
-#: pytrainer/lib/listview.py:36
-msgid "<1 Hour"
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
msgstr ""
-#: pytrainer/lib/listview.py:37
-msgid "1-2 Hours"
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
msgstr ""
-#: pytrainer/lib/listview.py:38
-msgid ">2 Hours"
+#: pytrainer/gui/windowmain.py:323
+msgid "d"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
msgstr ""
-#: pytrainer/lib/gpx.py:129
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
#, fuzzy
-msgid "No Name"
-msgstr "Nazwa"
+msgid "Average"
+msgstr "Średnia (km/h)"
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
msgstr ""
-#: pytrainer/lib/activity.py:200
-msgid "feet"
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
msgstr ""
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
msgstr ""
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
+#, fuzzy
+msgid "Edit Entry"
+msgstr "Nowa pozycja"
+
+#: pytrainer/gui/windowmain.py:2152
+#, fuzzy
+msgid "Delete Entry"
+msgstr "Nowa pozycja"
+
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
msgstr ""
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
msgstr ""
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
+#: pytrainer/gui/windowmain.py:2193
+#, fuzzy
+msgid "<b>Date</b>"
+msgstr "<b>Data:</b>"
+
+#: pytrainer/gui/windowmain.py:2209
+#, fuzzy
+msgid "<b>Weight</b>"
+msgstr "<b>Puls:</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+#, fuzzy
+msgid "<b>Body Fat</b>"
+msgstr "<b>Puls:</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
msgstr ""
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
+#: pytrainer/gui/windowmain.py:2233
+#, fuzzy
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Średni puls:</b>"
+
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
msgstr ""
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
msgstr ""
-#: pytrainer/lib/activity.py:455
-msgid "%"
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
msgstr ""
-#: pytrainer/lib/activity.py:464
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
+msgstr ""
+
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
+msgstr ""
+
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr ""
+
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
#, fuzzy
-msgid "rpm"
-msgstr "bpm"
+msgid "Max"
+msgstr "Maj"
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
+#: pytrainer/gui/windowrecord.py:97
+#, fuzzy
+msgid "Ascent"
+msgstr "<b>Puls:</b>"
+
+#: pytrainer/gui/windowrecord.py:98
+#, fuzzy
+msgid "Descent"
+msgstr "<b>Dystans:</b>"
+
+#: pytrainer/gui/windowrecord.py:204
+#, fuzzy
+msgid "GPX File"
+msgstr "_Plik"
+
+#: pytrainer/lib/gpx.py:128
+#, fuzzy
+msgid "No Name"
+msgstr "Nazwa"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
+msgstr ""
+
+#: pytrainer/lib/listview.py:32
+#, fuzzy
+msgid "All Time"
+msgstr "Czas"
+
+#: pytrainer/lib/listview.py:32
+msgid "Last 4 Weeks"
+msgstr ""
+
+#: pytrainer/lib/listview.py:33
+msgid "Last 6 Months"
+msgstr ""
+
+#: pytrainer/lib/listview.py:33
+msgid "Last 12 Months"
+msgstr ""
+
+#: pytrainer/lib/listview.py:36
+msgid "<1 Hour"
+msgstr ""
+
+#: pytrainer/lib/listview.py:37
+msgid "1-2 Hours"
+msgstr ""
+
+#: pytrainer/lib/listview.py:38
+msgid ">2 Hours"
msgstr ""
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
+#, fuzzy
+msgid "km"
+msgstr "km/h"
+
+#: pytrainer/lib/uc.py:52
#, fuzzy
msgid "mi"
msgstr "km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr ""
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+#, fuzzy
+msgid "Height (m)"
+msgstr "Wzrost"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr ""
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity"
+msgstr ""
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+#, fuzzy
+msgid "Beats (bpm)"
+msgstr "Średni puls (bpm)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2190,8 +2204,8 @@ msgstr "dzień"
msgid "Daily Distance"
msgstr "Dystans (km)"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
#, fuzzy
msgid "Time (hours)"
msgstr "czas w godzinach"
@@ -2201,8 +2215,8 @@ msgstr "czas w godzinach"
msgid "Daily Time"
msgstr "dzienny czas"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr ""
@@ -2220,41 +2234,20 @@ msgstr "dzienna średnia"
msgid "Daily Calories"
msgstr "dzienne kalorie"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr ""
+#: pytrainer/recordgraph.py:136
+#, fuzzy
+msgid "Speed (Km/h)"
+msgstr "Średnia (km/h)"
-#: pytrainer/totalgraph.py:24
+#: pytrainer/recordgraph.py:142
#, fuzzy
-msgid "Annual Distance"
+msgid "Cadence (rpm)"
msgstr "Dystans (km)"
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr ""
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr ""
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr ""
-
-#: pytrainer/totalgraph.py:28
+#: pytrainer/recordgraph.py:144
#, fuzzy
-msgid "Annual Calories"
-msgstr "Kalorie"
-
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr ""
-
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr ""
+msgid "Beats (%)"
+msgstr "Średni puls (bpm)"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2287,122 +2280,101 @@ msgstr "miesięczna średnia"
msgid "Monthly Calories"
msgstr "miesięczne kalorie"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
msgstr ""
-#: pytrainer/daygraph.py:54
-msgid "Velocity"
-msgstr ""
+#: pytrainer/profile.py:140
+#, fuzzy
+msgid "Weight Control"
+msgstr "Waga"
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
msgstr ""
-#: imports/file_gpxplus.py:41
-msgid "GPS eXchange file"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
msgstr ""
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
msgstr ""
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
msgstr ""
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
msgstr ""
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
msgstr ""
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr ""
+#: pytrainer/totalgraph.py:24
+#, fuzzy
+msgid "Annual Distance"
+msgstr "Dystans (km)"
-#: imports/tool_gant.py:37
-msgid "Gant"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
msgstr ""
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
msgstr ""
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
msgstr ""
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
-msgstr ""
+#: pytrainer/totalgraph.py:28
+#, fuzzy
+msgid "Annual Calories"
+msgstr "Kalorie"
-#: extensions/openstreetmap/openstreetmap.py:82
+#: pytrainer/waypoint.py:88
msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
-msgstr ""
-
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
-msgstr ""
-
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
-msgstr ""
-
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
msgstr ""
-#: extensions/gpx2garmin/gpx2garmin.py:50
-msgid "gpx2garmin Extension"
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Kilometry\n"
+#~ "Czas\n"
+#~ "Puls\n"
+#~ "Średnia\n"
+#~ "Kalorie"
#, fuzzy
-#~ msgid "<b>Start screen</b>"
-#~ msgstr "<b>Lista dyscyplin</b>"
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Kilometry\n"
+#~ "Czas\n"
+#~ "Puls\n"
+#~ "Średnia\n"
+#~ "Kalorie"
#~ msgid "window1"
#~ msgstr "okno1"
diff --git a/locale/pt/LC_MESSAGES/pytrainer.mo b/locale/pt/LC_MESSAGES/pytrainer.mo
index 4f02eb6..41977ae 100644
Binary files a/locale/pt/LC_MESSAGES/pytrainer.mo and b/locale/pt/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/pt/LC_MESSAGES/pytrainer_pt.po b/locale/pt/LC_MESSAGES/pytrainer_pt.po
index e885c0f..d970b59 100644
--- a/locale/pt/LC_MESSAGES/pytrainer_pt.po
+++ b/locale/pt/LC_MESSAGES/pytrainer_pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pytrainer 1.9.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2011-10-20 19:14+0100\n"
"Last-Translator: Pedro Ribeiro <p.m42.ribeiro at gmail.com>\n"
"Language-Team: Portuguese <traduz at debianpt.org>\n"
@@ -16,325 +16,321 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr "Calendário"
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
msgid "<b>Equipment List</b>"
msgstr "<b>Lista de Equipamento</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
msgid "Description"
msgstr "Descrição"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr "Esperança de Vida"
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr "Utilização Anterior"
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr "Activo"
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr "Notas"
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
msgid "<b>Add New Equipment</b>"
msgstr "<b>Acrescentar Novo Equipamento</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
msgid "<b>Edit Equipment</b>"
msgstr "<b>Editar Equipamento</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr "De certeza que quer apagar o equipamento?"
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
msgid "<b>Delete Equipment</b>"
msgstr "<b>Apagar Equipamento</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr "Extensões"
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr "<b>Detalhes da Extensão</b>"
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr "nome"
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
msgid "Name:"
msgstr "Nome:"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
msgid "Status:"
msgstr "Estado:"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
msgid "Description:"
msgstr "Descrição:"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr "estado"
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr "descrição"
-#: glade/importdata.glade:7 glade/importdata.glade:325
-msgid "Import"
-msgstr "Importar"
+#: glade/importdata.ui:9
+#, fuzzy
+msgid "Test 1"
+msgstr ""
+"Teste 1\n"
+"Teste 2"
-#: glade/importdata.glade:36
-msgid ""
-"Test 1\n"
-"Test 2"
+#: glade/importdata.ui:12
+#, fuzzy
+msgid "Test 2"
msgstr ""
"Teste 1\n"
"Teste 2"
-#: glade/importdata.glade:46
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr "Excluir"
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr " "
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
+msgid "Import"
+msgstr "Importar"
+
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr "<b>Seleccione o seu dispositivo GPS</b>"
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr "Importação a partir do Dispositivo GPS ainda não está implementada"
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
msgid "<b>Tools</b>"
msgstr "<b>Ferramentas</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr "Rescan"
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr "Fazer o rescan do sistema à procura de ferramentas"
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr "<b>Importar do Dispositivo GPS</b>"
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr "Remover ficheiros seleccionados e actividades associadas"
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr "Acrescentar ficheiros a partir dos quais importar actividades"
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr ""
"<b>Acrescentar ficheiro(s) a partir do(s) qual(is) importar actividades"
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
msgid "<b>Select activities to import</b>"
msgstr "<b>Seleccionar actividades a importar</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr "Importar actividades seleccionadas"
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr "Fechar diálogo de importação"
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
msgid "<b>Import from File</b>"
msgstr "<b>Importar a partir de Ficheiro</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
msgid "<b>Plugins</b>"
msgstr "<b>Plugins</b>"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr "Importar a partir do Dispositivo GPS"
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr "Importar a partir de Ficheiro"
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr "Executar o 'Escolher Ficheiro' ao iniciar"
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr "Executar automaticamente o diálogo de selecção de ficheiro"
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr "Plugins"
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
msgid "<b>Default to Tab</b>"
msgstr "<b>Separador predefinido</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr "Reset"
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr "Guardar"
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
msgid "<b>Options</b>"
msgstr "<b>Opções</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
msgid "<b>Select file to import from</b>"
msgstr "<b>Escolher ficheiro a partir do qual importar</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr "Tab"
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr "Vírgula"
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr "Outro"
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr "Ler Ficheiro"
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
msgid "<b>File delimiter</b>"
msgstr "<b>Delimitador de campos no ficheiro</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Data"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr "Excluir"
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Distância (km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr "Duração (s)"
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr "<b>Campo do PyTrainer</b>"
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
msgid "<b>File Column</b>"
msgstr "<b>Coluna no Ficheiro</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Título"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr "Descida (m)"
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
msgid "Accent (m)"
msgstr "Subida (m)"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
msgid "Calories (kcal)"
msgstr "Calorias (kcal)"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
msgid "Max Speed (km/h)"
msgstr "Vel Máxima (km/h)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
msgid "Average Speed (km/h)"
msgstr "Vel Média (km/h)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Desporto"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr "Ritmo cardíaco médio (ppm)"
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr "Ritmo cardíaco máx (ppm)"
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
msgid "Pace (min/km)"
msgstr "Ritmo (min/km)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr "Ritmo Máximo (min/km)"
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
msgid "Comments"
msgstr "Comentários"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr "Forçar desporto a:"
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr " "
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
msgid "<b>Map Columns</b>"
msgstr "<b>Mapa de Colunas</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -349,128 +345,130 @@ msgstr ""
" necessários dados)\n"
"4) Clicar em 'Importar Dados'</small>"
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr "Importar Dados"
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
msgid "<b>Import from CSV</b>"
msgstr "<b>Importar a partir do CSV</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Nova Entrada"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
msgid "Title:"
msgstr "Título:"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
msgid "GPX File:"
msgstr "Ficheiro GPX:"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Calcular Valores"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
msgid "Sport:"
msgstr "Desporto:"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
msgid "<b>Main</b>"
msgstr "<b>Principal</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
msgid "Distance (Km):"
msgstr "Distância (Km):"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
msgid "Calculate"
msgstr "Calcular"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr "Duração:"
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
msgid "Date:"
msgstr "Data:"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr "Hora de Início:"
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr "12:00:00"
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
msgid "<b>General</b>"
msgstr "<b>Geral</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
msgid "Max (km/h):"
msgstr "Máx. (km/h):"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Média (km/h)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
msgid "<b>Speed</b>"
msgstr "<b>Velocidade</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
msgid "Quick Entry"
msgstr "Entrada Rápida"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr "Máx. (min/km):"
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr "Ritmo (min/km):"
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
msgid "<b>Pace</b>"
msgstr "<b>Ritmo</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr "Subida:"
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr "Descida:"
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
msgid "<b>Accumulated Altitude Change</b>"
msgstr "<b>Mudança de Altitude Acumulada</b>"
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr "Máx (ppm):"
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr "Ritmo Cardíaco:"
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Calorias"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
@@ -478,162 +476,192 @@ msgstr ""
"<small><b>Nota:</b> Para cálculo das calorias deve ser introduzido o MET do "
"desporto (em Preferências->Desporto) </small>"
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
msgid "<b>Heart Rate</b>"
msgstr "<b>Ritmo Cardíaco</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr "Avançado"
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Comentários</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr "<i>Não há items de equipamento activos.</i>"
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr "<b>Equipamento Associado</b>"
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr "Equipamento"
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
msgid "<b>Plugin Details</b>"
msgstr "<b>Detalhes do Plugin</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr "descrição"
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr "nome"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr "Erro"
+
+#: glade/profile.ui:12
+msgid "Warning"
+msgstr "Aviso"
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr "Preferências"
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr "Sistema métrico"
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr "Unidades habituais nos E.U.A."
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr "<b>Sistema de Medidas</b>"
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "estado"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Desportos</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr "Google"
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr "Open Street Map"
-#: glade/profile.glade:140
+#: glade/profile.ui:231
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Visualizador de Mapas Predefinido</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
msgid "Database type:"
msgstr "Tipo de Base de Dados:"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
msgid "Database host:"
msgstr "Servidor de Base de Dados:"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
msgid "Database name:"
msgstr "Nome da Base de Dados:"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
msgid "Database user:"
msgstr "Utilizador da Base de Dados:"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
msgid "Database pass:"
msgstr "Password para a Base de Dados:"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Base de Dados</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr "Geral"
-#: glade/profile.glade:369
+#: glade/profile.ui:447
msgid "User name:"
msgstr "Nome de Utilizador:"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
msgid "Gender:"
msgstr "Sexo:"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
msgid "Height:"
msgstr "Altura"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr "Data de Nascimento:"
-#: glade/profile.glade:520
+#: glade/profile.ui:599
msgid "Weight:"
msgstr "Peso:"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
msgid "<b>Athlete Details</b>"
msgstr "<b>Detalhes do Atleta</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
msgid "Athlete"
msgstr "Atleta"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
msgid "<b>Sport List</b>"
msgstr "<b>Lista de Desportos</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr "llista"
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr "M.E.T.:"
-#: glade/profile.glade:766
+#: glade/profile.ui:834
msgid "Extra Weight:"
msgstr "Peso Extra:"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
"Mais informações para determinar o seu coeficiente desportivo M.E.T. na "
"Wikipédia"
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr "Ritmo Máximo:"
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
msgid "<b>Add New Sport</b>"
msgstr "<b>Acrescentar Novo Desporto</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "novo"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
@@ -641,60 +669,60 @@ msgstr ""
"Apagar um desporto remove registos associados.\n"
"Continuar?"
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
msgid "<b>Delete Sport</b>"
msgstr "<b>Apagar Desporto</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "apagar"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Nome"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr "M.E.T."
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
msgid "Extra Weight"
msgstr "Peso Extra"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr "Ritmo Máximo"
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr "Cor"
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
msgid "<b>Edit Sport</b>"
msgstr "<b>Editar Desporto</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
msgid "<b>lalaal</b>"
msgstr "<b>lalaal</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "editar"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Desportos"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr "Ritmo cardíaco máximo:"
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr "Ritmo cardíaco em repouso:"
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
@@ -702,7 +730,7 @@ msgstr ""
"<small><b>Nota:</b> O ritmo cardíaco máximo é calculado pela subtracção de "
"220 à sua idade. </small>"
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
@@ -710,54 +738,43 @@ msgstr ""
"<small><b>NOTA:</b> para poder usar o método de Karvonen tem de preencher o "
"campo 'Ritmo cardíaco em repouso'.</small>"
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr "Método baseado em percentagens"
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr "Método de Karvonen"
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr "Seleccione o método de cálculo do seu ritmo cardíaco"
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Zonas de Ritmo Cardíaco</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr "Ritmo Cardíaco"
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr "Nível de Registo"
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-"Erro\n"
-"Aviso\n"
-"Informativo\n"
-"Debug"
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr "<small>Que nível de informação quer escrever no registo?</small>"
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr "Validar"
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
@@ -765,16 +782,16 @@ msgstr ""
"<small>Os plugins tentam validar os ficheiros de input antes do "
"processamento?</small>"
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr "Novo Gráfico"
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
"<small>Quer usar a nova abordagem experimental para os gráficos?</small>"
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
@@ -785,1217 +802,1232 @@ msgstr ""
"afectarem a execução actual do pytrainer. No entanto, estas alterações não "
"serão guardadas para a próxima execução do programa</small>"
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr "Parâmetros de Arranque"
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Distância"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Tempo"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "Ritmo Cardíaco Médio (ppm)"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "Velocidade Média Diária"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+msgid "All Distances"
+msgstr "Todas as Distâncias"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+msgid "All Durations"
+msgstr "Todas as durações"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Desde sempre"
+
+#: glade/pytrainer.ui:219
+#, fuzzy
+msgid "Last 4 weeks"
+msgstr "Últimas 4 Semanas"
+
+#: glade/pytrainer.ui:222
+#, fuzzy
+msgid "Last 6 months"
+msgstr "Últimos 6 Meses"
+
+#: glade/pytrainer.ui:225
+#, fuzzy
+msgid "Last 12 months"
+msgstr "Últimos 12 Meses"
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Todos os Desportos"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+#, fuzzy
+msgid "Profile"
+msgstr "Definir Perfil"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr "Velocidade"
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr "Ritmo"
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr "Cadência"
+
+#: glade/pytrainer.ui:279
+#, fuzzy
+msgid "Percentage"
+msgstr "Método das percentagens"
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr "Zona"
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "Ritmo Cardíaco:"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Definir Perfil"
+
+#: glade/pytrainer.ui:339
+#, fuzzy
+msgid "Stage Velocity"
+msgstr "Velocidade"
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Definir Perfil"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Ficheiro"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
msgid "_Import"
msgstr "_Importar"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
msgid "_Export as Text Separated by Commas"
msgstr "_Exportar como Texto Separado por Vírgulas (CSV)"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "_Editar"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Ver"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr "Vista _Clássica"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr "Vista em _Lista"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
msgid " _Waypoints Editor"
msgstr "Editor de _Pontos de Interesse"
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr "Ferramentas"
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
msgid "GPS Device Plugins"
msgstr "Plugins para Dispositivos GPS"
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Ajuda"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Todos os Desportos"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr "Colunas"
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
msgid "<b>Sport:</b>"
msgstr "<b>Desporto:</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
msgid "<b>Duration:</b>"
msgstr "<b>Duração:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
msgid "<b>Speed:</b>"
msgstr "<b>Velocidade:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
msgid "<b>Pace:</b>"
msgstr "<b>Ritmo:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
msgid "<b>Ascent:</b>"
msgstr "<b>Subida:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
msgid "<b>Calories:</b>"
msgstr "<b>Calorias:</b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "<b>Comentários:</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
msgid "<b>Date:</b>"
msgstr "<b>Data:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Distância:</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
msgid "<b>Max Speed</b>"
msgstr "<b>Vel. Máxima</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
msgid "<b>Max Pace:</b>"
msgstr "<b>Ritmo Máx:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
msgid "<b>Descent:</b>"
msgstr "<b>Descida:</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "Cal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "Km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/h"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
msgid "<b>Equipment:</b>"
msgstr "<b>Equipamento:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
msgid "<b>Active / Rest:</b>"
msgstr "<b>Activo / Em Repouso:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr "h:m:s"
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
msgid "<b>Laps</b>"
msgstr "<b>Voltas</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
msgid " <b>Title:</b>"
msgstr "<b>Título:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
msgid "Show graph display options"
msgstr "Mostrar opções de gráficos"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-"Perfil\n"
-"Velocidade\n"
-"Ritmo\n"
-"Ritmo Cardíaco\n"
-"Cadência\n"
-"Percentagem\n"
-"Zona"
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr "vs."
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-"Nenhum\n"
-"Perfil\n"
-"Velocidade\n"
-"Ritmo\n"
-"Ritmo Cardíaco\n"
-"Cadência\n"
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr "<small>Opções de Visualização de Gráficos</small>"
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr "<small>Limites</small>"
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr "<small>Mín.</small>"
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr "<small>Máx.</small>"
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr "<small>Cor</small>"
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr "<small>Peso</small>"
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr "Y1"
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr "<small>Suavização</small>"
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr "Y2"
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr "X"
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
msgid "<small>Distance</small>"
msgstr "<small>Distância</small>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr "<small>Tempo</small>"
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr "Mostrar Voltas"
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr "Reset do Gráfico"
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr "Redesenhar Mapa"
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr "<small>Mostrar:</small>"
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-"Nenhum\n"
-"Velocidade\n"
-"Ritmo Cardíaco\n"
-"Cadência"
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr "<small>Mostrar mapa usando:</small>"
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
msgid "<b>Beats:</b>"
msgstr "<b>Pulsações:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Calorias: </b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
msgid "<b>Max Beats:</b>"
msgstr "<b>Máx. de Pulsações:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
msgid "<b>HR Zones Method:</b>"
msgstr "<b>Método das Zonas HR:</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
msgid "<b>HR Zone5:</b>"
msgstr "<b>Zona5 HR:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr " ppm"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr " Cal"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
msgid "<b>HR Zone4:</b>"
msgstr "<b>Zona4 HR:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
msgid "<b>HR Zone3:</b>"
msgstr "<b>Zona3 HR:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
msgid "<b>HR Zone2:</b>"
msgstr "<b>Zona2 HR:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
msgid "<b>HR Zone1:</b>"
msgstr "<b>Zona1 HR:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "ppm"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
msgid " <b>Heart Rate:</b>"
msgstr " <b>Ritmo Cardíaco:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
msgid "<b>Projected times</b>"
msgstr "<b>Tempos projectados</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
"<i>Classificação relativa para actividades do mesmo desporto para distâncias "
"± x%:</i>"
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
msgid "<b>Range:</b>"
msgstr "<b>Alcance:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
msgid "<b>Rank:</b>"
msgstr "<b>Classificação:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
msgid "<b>Speed: </b>"
msgstr "<b>Velocidade: </b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
msgid "<b>Avg speed:</b>"
msgstr "<b>Vel. média:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
msgid "<b>Standard deviation:</b>"
msgstr "<b>Desvio padrão:</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
msgid "<b>Deviation:</b>"
msgstr "<b>Desvio:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
msgid "<b>Ranking</b>"
msgstr "<b>Classificação</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
msgid "<b>Analytics:</b>"
msgstr "<b>Analítica:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
msgid "Record"
msgstr "Registo"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
msgid "<b>Max Speed:</b>"
msgstr "<b>Vel. Máxima:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Média pulsação:</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr "min/km"
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Total Sub/Desc:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
msgid "m"
msgstr "m"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
msgid " <b>Date:</b>"
msgstr " <b>Data:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Valor"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-"Definir Perfil\n"
-"Definir Velocidade\n"
-"Definir Perfil/velocidade"
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Dia"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
msgid " <b>Week:</b>"
msgstr " <b>Semana:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Distância\n"
-"Tempo\n"
-"Ritmo Cardíaco Médio\n"
-"Velocidade Média\n"
-"Calorias"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Nenhum\n"
-"Distância\n"
-"Tempo\n"
-"Ritmo Cardíaco Médio\n"
-"Velocidade Média\n"
-"Calorias"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr "Semana"
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
msgid " <b>Month:</b>"
msgstr " <b>Mês:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Mês"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
msgid " <b>Year:</b>"
msgstr " <b>Ano:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "Ano"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
msgid "<b>Graph</b>"
msgstr "<b>Gráfico</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
msgid "<b>History</b>"
msgstr "<b>Histórico</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
msgid "<b>Sports</b>"
msgstr "<b>Desportos</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
msgid "Total distance:"
msgstr "Distância total:"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr "Duração total:"
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr "Data de início:"
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr "Data de fim:"
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
msgid "<b>All</b>"
msgstr "<b>Todos</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr "Totais"
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
msgid "<b>Title:</b>"
msgstr "<b>Título:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Pesquisar"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-msgid "All Distances"
-msgstr "Todas as Distâncias"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-msgid "All Durations"
-msgstr "Todas as durações"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-"Todos os registos\n"
-"Últimas 4 semanas\n"
-"Últimos 6 meses\n"
-"Últimos 12 meses"
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr "Colunas"
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr "Tipo:"
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-"Fonte\n"
-"Restaurante\n"
-"Paisagem\n"
-"Monte"
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
msgid "Latitude: "
msgstr "Latitude: "
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
msgid " Name:"
msgstr " Nome:"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
msgid "Longitude:"
msgstr "Longitude:"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
msgid "<b> Waypoint: </b>"
msgstr "<b> Ponto de Interesse: </b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Editar Registo"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Mostrar gráfico na vista clássica"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
-msgstr "Juntar percursos"
-
-#: glade/selecttrackdialog.glade:7
+#: glade/selecttrackdialog.ui:7
msgid "Select track record"
msgstr "Escolher registo de percurso"
-#: glade/warning.glade:7 glade/warning.glade:38
-msgid "Warning"
-msgstr "Aviso"
-
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
-msgstr "Milhas"
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
+msgstr "Correcção de Elevações Completa"
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "id"
+#: extensions/gpx2garmin/gpx2garmin.py:50
+#, fuzzy
+msgid "gpx2garmin Extension"
+msgstr "Extensões"
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
-msgstr "Início"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
+msgstr ""
+"A enviar percurso GPX para o Openstreetmap\n"
+"\n"
+"Por favor aguarde, isto pode demorar alguns minutos"
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Distância"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
+msgstr "A processar Extensão Openstreetmap"
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Tempo"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
+msgstr "Envio da Extensão Openstreetmap completo"
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
-msgstr "⌀ Bat. Card."
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr "Erro ao enviar ficheiro para o OSM: "
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
-msgstr "⌀ Vel."
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr "Erro na Extensão Openstreetmap"
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
-msgstr "Ponto de interesse"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
+msgstr "Por favor, acrescente informações adicionais para este envio"
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Peso"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
+msgstr "Erro ao guardar configuração da extensão"
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
-msgstr "% Gordura Corporal"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr ""
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
-msgstr "Bat. Card. em Repouso"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr "A enviar para blog Wordpress"
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
-msgstr "Máx Bat. Card."
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
+msgstr "A processar Extensão Wordpress"
-#: pytrainer/gui/windowmain.py:141
-msgid "Records"
-msgstr "Registos"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
+msgstr "Envio da Extensão Wordpress Completo"
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
-msgstr "Duração total"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
+msgstr "Ficheiro de base de dados do centro de treino Garmin, versão 1"
-#: pytrainer/gui/windowmain.py:143
-msgid "Total distance"
-msgstr "Distância total"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr "Ficheiro de base de dados do centro de treino Garmin, versão 2"
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
-msgstr "Vel. Média"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
+msgstr "Ficheiro dump de Garmin tools"
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
-msgstr "Vel. Máx."
-
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
-msgstr "Ritmo Card. Médio"
-
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
-msgstr "Duração Máx."
-
-#: pytrainer/gui/windowmain.py:149
-msgid "Max distance"
-msgstr "Distância Máx."
-
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
-msgstr "Volta"
-
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
-msgstr "Gatilho"
-
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
-msgstr "Ritmo Méd."
-
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
-msgstr "Ritmo Máx."
-
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
-msgstr "Intensidade"
-
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
-msgstr "Corrida"
-
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
-msgstr "Posição"
-
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
-msgstr "Velocidade"
-
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
-msgstr "Ritmo"
-
-#: pytrainer/gui/windowmain.py:320
-msgid "d"
-msgstr "d"
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr "Mostrar no eixo X"
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr "Mostrar no eixo Y1"
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr "Mostrar no eixo Y2"
-
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
-msgstr "Limites do Eixo"
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr "Voltas"
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr "Grelha do Eixo Esquerdo"
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr "Grelha do Eixo Direito"
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr "Grelha do Eixo X"
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr "Repor Limites"
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr "Definir Limites"
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr "Método das percentagens"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
+msgstr "Nokia Export - ficheiro GPS eXchange"
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr "800 m"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
+msgstr "Ficheiro Geodistance kml versão 2.0"
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr "1500 m"
+#: imports/tool_gant.py:34
+msgid "Gant"
+msgstr "Gant"
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
-msgstr "5K"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
+msgstr "Garmintools"
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
-msgstr "7K"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
+msgstr "GPSBabel"
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
-msgstr "10K"
+#: imports/file_gpxplus.py:41
+msgid "GPS eXchange file"
+msgstr "Ficheiro GPS eXchange"
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
-msgstr "Meia maratona"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
+msgstr "Ritmo por Volta"
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
-msgstr "Maratona"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
+msgstr "Tempo (segundos)"
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
-msgstr "100K"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
+msgstr "Velocidade por Volta"
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
-msgstr "milhas"
-
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
-msgstr "milhas/h"
-
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
-msgstr "min/milha"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
+msgstr "Elevação"
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
-msgid "km"
-msgstr "km"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
+msgstr "Elevação Corrigida"
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
-msgstr "Pulsações"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
+msgstr "Ritmo Cardíaco (% do máx.)"
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Média"
+#: pytrainer/core/activity.py:480
+msgid "%"
+msgstr "%"
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
-msgstr "Esconder opções de visualização de gráficos"
+#: pytrainer/core/activity.py:489
+msgid "rpm"
+msgstr "rpm"
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
-msgstr "volta"
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
+msgstr "Zona do Ritmo Cardíaco"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
msgid "h"
msgstr "h"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
-msgstr "s"
-
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-msgid "Edit Entry"
-msgstr "Editar Registo"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
+msgstr "min"
-#: pytrainer/gui/windowmain.py:2188
-msgid "Delete Entry"
-msgstr "Apagar Registo"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
+msgstr "Dados de Atleta"
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
-msgstr "Criar Registo de Atleta"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
+msgstr "Nome da Pista"
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
-msgstr "Editar Registo de Atleta"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
+msgstr "repouso"
-#: pytrainer/gui/windowmain.py:2229
-msgid "<b>Date</b>"
-msgstr "<b>Data</b>"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
+msgstr "Utilização"
-#: pytrainer/gui/windowmain.py:2245
-msgid "<b>Weight</b>"
-msgstr "<b>Peso</b>"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Editar Registo"
-#: pytrainer/gui/windowmain.py:2253
-msgid "<b>Body Fat</b>"
-msgstr "<b>Gordura Corporal</b>"
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Mostrar gráfico na vista clássica"
-#: pytrainer/gui/windowmain.py:2261
-msgid "<b>Resting Heart Rate</b>"
-msgstr "<b>Ritmo Cardíaco em Repouso</b>"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
+msgstr "Desligar"
-#: pytrainer/gui/windowmain.py:2269
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Ritmo Cardíaco Máximo</b>"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
+msgstr "Ligar"
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
-msgstr "Apagar este registo?"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
+msgstr "configurações %s"
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
-msgstr "De certeza?"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
+msgstr "OK"
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr "Nenhum ficheiro seleccionado"
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr "Configurar"
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
msgid "Disabled"
msgstr "Desactivado"
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr "Activado"
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
msgid "GPS device found"
msgstr "Encontrado dispositivo GPS"
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr "<b>Não foi</b> encontrado dispositivo GPS"
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr "Esta ferramenta não foi encontrada no sistema"
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr " Homepage"
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "File"
msgstr "Ficheiro"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr "Tipo"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Activities"
msgstr "Actividades"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Start Time"
msgstr "Hora de Início"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Duration"
msgstr "Duração"
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr "Importado para a base de dados"
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr "configurações %s"
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr "Desligar"
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr "Ligar"
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr "Ok"
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr "Opções de gravação"
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr "Opções guardadas"
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr "A importar uma actividade"
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr "A importar %d actividades"
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr "Uma actividade importada"
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr "%d actividades importadas"
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr "Escolha um ficheiro (ou ficheiros) para fonte de actividades"
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr "Encontrado ficheiro do tipo: %s"
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr "Encontrado na base de dados"
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr "O ficheiro %s é de um tipo desconhecido ou não suportado"
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
#, fuzzy
msgid "Got file: "
msgstr "Ficheiro GPX:"
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, python-format
msgid "Column %d"
msgstr "Coluna %d"
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
msgstr ""
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
-msgstr "min"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "id"
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
-msgstr "repouso"
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
+msgstr "Início"
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
-#, fuzzy
-msgid "Max"
-msgstr "Máx Bat. Card."
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
+msgstr "⌀ Bat. Card."
-#: pytrainer/gui/windowrecord.py:104
-#, fuzzy
-msgid "Ascent"
-msgstr "Subida:"
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
+msgstr "⌀ Vel."
-#: pytrainer/gui/windowrecord.py:105
-#, fuzzy
-msgid "Descent"
-msgstr "Descida:"
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
+msgstr "Ponto de interesse"
-#: pytrainer/gui/windowrecord.py:211
-msgid "GPX File"
-msgstr "Ficheiro GPX"
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Peso"
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
-msgstr "Masculino"
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
+msgstr "% Gordura Corporal"
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
-msgstr "Feminino"
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
+msgstr "Bat. Card. em Repouso"
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
-msgstr "MET"
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
+msgstr "Máx Bat. Card."
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
-msgstr "Erro ao Criar Desporto"
+#: pytrainer/gui/windowmain.py:129
+msgid "Records"
+msgstr "Registos"
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
-msgstr "Utilização"
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
+msgstr "Duração total"
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
-msgstr "Nome da Pista"
+#: pytrainer/gui/windowmain.py:131
+msgid "Total distance"
+msgstr "Distância total"
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
-msgstr "Dados de Atleta"
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
+msgstr "Vel. Média"
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
-msgstr "OK"
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr "Vel. Máx."
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Altura (m)"
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
+msgstr "Ritmo Card. Médio"
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Definir Perfil"
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
+msgstr "Duração Máx."
-#: pytrainer/recordgraph.py:136
-msgid "Speed (Km/h)"
-msgstr "Velocidade (Km/h)"
+#: pytrainer/gui/windowmain.py:137
+msgid "Max distance"
+msgstr "Distância Máx."
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
-msgid "Beats (bpm)"
-msgstr "Pulsações (ppm)"
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
+msgstr "Volta"
-#: pytrainer/recordgraph.py:142
-msgid "Cadence (rpm)"
-msgstr "Cadência (rpm)"
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
+msgstr "Gatilho"
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
-msgstr "Cadência"
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
+msgstr "Ritmo Méd."
-#: pytrainer/recordgraph.py:144
-msgid "Beats (%)"
-msgstr "Batidas (%)"
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
+msgstr "Ritmo Máx."
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
-msgstr "Zona"
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
+msgstr "Intensidade"
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
-msgstr "Actividade moderada"
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
+msgstr "Corrida"
-#: pytrainer/profile.py:115
-msgid "Weight Control"
-msgstr "Controlo de Peso"
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
+msgstr "Posição"
-#: pytrainer/profile.py:116
-msgid "Aerobic"
-msgstr "Aeróbica"
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
+msgstr ""
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
-msgstr "Anaeróbica"
+#: pytrainer/gui/windowmain.py:323
+msgid "d"
+msgstr "d"
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
-msgstr "Máx VO2"
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
+msgstr "Mostrar no eixo X"
+
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
+msgstr "Mostrar no eixo Y1"
+
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
+msgstr "Mostrar no eixo Y2"
+
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
+msgstr "Limites do Eixo"
+
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
+msgstr "Voltas"
+
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr "Grelha do Eixo Esquerdo"
+
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
+msgstr "Grelha do Eixo Direito"
+
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
+msgstr "Grelha do Eixo X"
+
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr "Repor Limites"
+
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr "Definir Limites"
+
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr "Método das percentagens"
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr "800 m"
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr "1500 m"
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr "5K"
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr "7K"
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr "10K"
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
+msgstr "Meia maratona"
+
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr "Maratona"
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr "100K"
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr "Pulsações"
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Média"
+
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
+msgstr "Esconder opções de visualização de gráficos"
+
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
+msgstr "volta"
+
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
+msgstr "s"
+
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
+msgid "Edit Entry"
+msgstr "Editar Registo"
+
+#: pytrainer/gui/windowmain.py:2152
+msgid "Delete Entry"
+msgstr "Apagar Registo"
+
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
+msgstr "Criar Registo de Atleta"
+
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
+msgstr "Editar Registo de Atleta"
+
+#: pytrainer/gui/windowmain.py:2193
+msgid "<b>Date</b>"
+msgstr "<b>Data</b>"
+
+#: pytrainer/gui/windowmain.py:2209
+msgid "<b>Weight</b>"
+msgstr "<b>Peso</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+msgid "<b>Body Fat</b>"
+msgstr "<b>Gordura Corporal</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+msgid "<b>Resting Heart Rate</b>"
+msgstr "<b>Ritmo Cardíaco em Repouso</b>"
+
+#: pytrainer/gui/windowmain.py:2233
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Ritmo Cardíaco Máximo</b>"
+
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
+msgstr "Apagar este registo?"
+
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
+msgstr "De certeza?"
+
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
+msgstr "Masculino"
+
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
+msgstr "Feminino"
+
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
+msgstr "MET"
+
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr "Erro ao Criar Desporto"
+
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
+#, fuzzy
+msgid "Max"
+msgstr "Máx Bat. Card."
+
+#: pytrainer/gui/windowrecord.py:97
+#, fuzzy
+msgid "Ascent"
+msgstr "Subida:"
+
+#: pytrainer/gui/windowrecord.py:98
+#, fuzzy
+msgid "Descent"
+msgstr "Descida:"
+
+#: pytrainer/gui/windowrecord.py:204
+msgid "GPX File"
+msgstr "Ficheiro GPX"
+
+#: pytrainer/lib/gpx.py:128
+msgid "No Name"
+msgstr "Sem Nome"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
+msgstr "Sem Dados"
#: pytrainer/lib/listview.py:32
msgid "All Time"
@@ -2025,86 +2057,54 @@ msgstr "1-2 Horas"
msgid ">2 Hours"
msgstr ">2 Horas"
-#: pytrainer/lib/gpx.py:129
-msgid "No Name"
-msgstr "Sem Nome"
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr "Sem Dados"
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr "pés"
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr "Ritmo por Volta"
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr "Tempo (segundos)"
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr "Velocidade por Volta"
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr "Elevação"
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr "Elevação Corrigida"
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr "Ritmo Cardíaco (% do máx.)"
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr "%"
-
-#: pytrainer/lib/activity.py:464
-msgid "rpm"
-msgstr "rpm"
-
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
-msgstr "Zona do Ritmo Cardíaco"
+#: pytrainer/lib/uc.py:52
+msgid "km"
+msgstr "km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
#, fuzzy
msgid "mi"
msgstr "min"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
#, fuzzy
msgid "min/mi"
msgstr "min/milha"
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
#, fuzzy
msgid "ft"
msgstr "pés"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr "kg"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr "lb"
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Altura (m)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr "Velocidade (Km/h)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity"
+msgstr "Velocidade"
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+msgid "Beats (bpm)"
+msgstr "Pulsações (ppm)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2115,8 +2115,8 @@ msgstr "dia"
msgid "Daily Distance"
msgstr "Distância Diária"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
msgid "Time (hours)"
msgstr "Tempo (horas)"
@@ -2124,8 +2124,8 @@ msgstr "Tempo (horas)"
msgid "Daily Time"
msgstr "Tempo Diário"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr "Ritmo Cardíaco Médio (ppm)"
@@ -2141,40 +2141,17 @@ msgstr "Velocidade Média Diária"
msgid "Daily Calories"
msgstr "Calorias Diárias"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr "ano"
-
-#: pytrainer/totalgraph.py:24
-msgid "Annual Distance"
-msgstr "Distância Anual"
-
-#: pytrainer/totalgraph.py:25
-msgid "Annual Time"
-msgstr "Tempo anual"
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr "Ritmo Cardíaco Médio Anual"
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr "Velocidade Média Anual"
-
-#: pytrainer/totalgraph.py:28
-msgid "Annual Calories"
-msgstr "Calorias Anuais"
+#: pytrainer/recordgraph.py:136
+msgid "Speed (Km/h)"
+msgstr "Velocidade (Km/h)"
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr "Modificar detalhes antes de importar"
+#: pytrainer/recordgraph.py:142
+msgid "Cadence (rpm)"
+msgstr "Cadência (rpm)"
-#: pytrainer/record.py:486
-#, fuzzy
-msgid "pytrainer can't import data from your gpx file"
-msgstr "O pyTrainer não pode importar dados do seu ficheiro gpx"
+#: pytrainer/recordgraph.py:144
+msgid "Beats (%)"
+msgstr "Batidas (%)"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2202,132 +2179,206 @@ msgstr "Velocidade Média Mensal"
msgid "Monthly Calories"
msgstr "Calorias Médias"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-"O ficheiro gpx contém aparentemente registos de vários dias. Talvez seja "
-"necessário editar o ficheiro gpx"
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr "Velocidade (Km/h)"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
+msgstr "Actividade moderada"
-#: pytrainer/daygraph.py:54
-msgid "Velocity"
-msgstr "Velocidade"
+#: pytrainer/profile.py:140
+msgid "Weight Control"
+msgstr "Controlo de Peso"
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
-msgstr "Apagar este ponto?"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
+msgstr "Aeróbica"
-#: imports/file_gpxplus.py:41
-msgid "GPS eXchange file"
-msgstr "Ficheiro GPS eXchange"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
+msgstr "Anaeróbica"
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr "Ficheiro Geodistance kml versão 2.0"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
+msgstr "Máx VO2"
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
-msgstr "Ficheiro de base de dados do centro de treino Garmin, versão 1"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
+msgstr "Modificar detalhes antes de importar"
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr "Nokia Export - ficheiro GPS eXchange"
+#: pytrainer/record.py:532
+#, fuzzy
+msgid "pytrainer can't import data from your gpx file"
+msgstr "O pyTrainer não pode importar dados do seu ficheiro gpx"
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
-msgstr "GPSBabel"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
+msgstr "ano"
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr "Garmintools"
+#: pytrainer/totalgraph.py:24
+msgid "Annual Distance"
+msgstr "Distância Anual"
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr "Gant"
+#: pytrainer/totalgraph.py:25
+msgid "Annual Time"
+msgstr "Tempo anual"
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
-msgstr "Ficheiro dump de Garmin tools"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
+msgstr "Ritmo Cardíaco Médio Anual"
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
-msgstr "Ficheiro de base de dados do centro de treino Garmin, versão 2"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
+msgstr "Velocidade Média Anual"
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
-msgstr "Correcção de Elevações Completa"
+#: pytrainer/totalgraph.py:28
+msgid "Annual Calories"
+msgstr "Calorias Anuais"
-#: extensions/openstreetmap/openstreetmap.py:82
+#: pytrainer/waypoint.py:88
msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
-"A enviar percurso GPX para o Openstreetmap\n"
-"\n"
-"Por favor aguarde, isto pode demorar alguns minutos"
-
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
-msgstr "A processar Extensão Openstreetmap"
-
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
-msgstr "Envio da Extensão Openstreetmap completo"
-
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
-msgstr "Erro ao enviar ficheiro para o OSM: "
-
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
-msgstr "Erro na Extensão Openstreetmap"
-
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
-msgstr "Por favor, acrescente informações adicionais para este envio"
+"O ficheiro gpx contém aparentemente registos de vários dias. Talvez seja "
+"necessário editar o ficheiro gpx"
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
-msgstr "Erro"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
+msgstr "Apagar este ponto?"
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
-msgstr "Erro ao guardar configuração da extensão"
+#~ msgid "Calendar"
+#~ msgstr "Calendário"
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
-msgstr "A enviar para blog Wordpress"
+#~ msgid ""
+#~ "Error\n"
+#~ "Warning\n"
+#~ "Info\n"
+#~ "Debug"
+#~ msgstr ""
+#~ "Erro\n"
+#~ "Aviso\n"
+#~ "Informativo\n"
+#~ "Debug"
+
+#~ msgid ""
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ "Percentage\n"
+#~ "Zone"
+#~ msgstr ""
+#~ "Perfil\n"
+#~ "Velocidade\n"
+#~ "Ritmo\n"
+#~ "Ritmo Cardíaco\n"
+#~ "Cadência\n"
+#~ "Percentagem\n"
+#~ "Zona"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ msgstr ""
+#~ "Nenhum\n"
+#~ "Perfil\n"
+#~ "Velocidade\n"
+#~ "Ritmo\n"
+#~ "Ritmo Cardíaco\n"
+#~ "Cadência\n"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Speed\n"
+#~ "Heart rate\n"
+#~ "Cadence"
+#~ msgstr ""
+#~ "Nenhum\n"
+#~ "Velocidade\n"
+#~ "Ritmo Cardíaco\n"
+#~ "Cadência"
+
+#~ msgid ""
+#~ "Stage Profile\n"
+#~ "Stage Velocity\n"
+#~ "Stage Profile/velocity"
+#~ msgstr ""
+#~ "Definir Perfil\n"
+#~ "Definir Velocidade\n"
+#~ "Definir Perfil/velocidade"
+
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Distância\n"
+#~ "Tempo\n"
+#~ "Ritmo Cardíaco Médio\n"
+#~ "Velocidade Média\n"
+#~ "Calorias"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Nenhum\n"
+#~ "Distância\n"
+#~ "Tempo\n"
+#~ "Ritmo Cardíaco Médio\n"
+#~ "Velocidade Média\n"
+#~ "Calorias"
+
+#~ msgid ""
+#~ "All time\n"
+#~ "Last 4 weeks\n"
+#~ "Last 6 months\n"
+#~ "Last 12 months"
+#~ msgstr ""
+#~ "Todos os registos\n"
+#~ "Últimas 4 semanas\n"
+#~ "Últimos 6 meses\n"
+#~ "Últimos 12 meses"
+
+#~ msgid ""
+#~ "Font\n"
+#~ "Restaurant\n"
+#~ "Scenic Area\n"
+#~ "Summit"
+#~ msgstr ""
+#~ "Fonte\n"
+#~ "Restaurante\n"
+#~ "Paisagem\n"
+#~ "Monte"
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
-msgstr "A processar Extensão Wordpress"
+#~ msgid "Merge tracks"
+#~ msgstr "Juntar percursos"
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
-msgstr "Envio da Extensão Wordpress Completo"
+#~ msgid "Miles"
+#~ msgstr "Milhas"
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
-msgstr ""
+#~ msgid "miles"
+#~ msgstr "milhas"
-#: extensions/gpx2garmin/gpx2garmin.py:50
-#, fuzzy
-msgid "gpx2garmin Extension"
-msgstr "Extensões"
+#~ msgid "miles/h"
+#~ msgstr "milhas/h"
-#, fuzzy
-#~ msgid "Last entry"
-#~ msgstr "estado"
+#~ msgid "min/mile"
+#~ msgstr "min/milha"
-#, fuzzy
-#~ msgid "<b>Start screen</b>"
-#~ msgstr "<b>Desportos</b>"
+#~ msgid "feet"
+#~ msgstr "pés"
#~ msgid "Check"
#~ msgstr "Verificar"
diff --git a/locale/ru/LC_MESSAGES/pytrainer.mo b/locale/ru/LC_MESSAGES/pytrainer.mo
index feb4373..841cc2a 100644
Binary files a/locale/ru/LC_MESSAGES/pytrainer.mo and b/locale/ru/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/ru/LC_MESSAGES/pytrainer_ru.po b/locale/ru/LC_MESSAGES/pytrainer_ru.po
index bb0da31..bd83345 100644
--- a/locale/ru/LC_MESSAGES/pytrainer_ru.po
+++ b/locale/ru/LC_MESSAGES/pytrainer_ru.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pytrainer 1.5\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2009-12-07 19:19+0100\n"
"Last-Translator: David García Granda <dgranda at gmail.com>\n"
"Language-Team: Russian <es at li.org>\n"
@@ -18,347 +18,339 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr "Календарь"
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
#, fuzzy
msgid "<b>Equipment List</b>"
msgstr "<b>Список видов спорта</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
#, fuzzy
msgid "Description"
msgstr "<b>Описание</b>"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr ""
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr ""
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr "Активно"
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr ""
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
#, fuzzy
msgid "<b>Add New Equipment</b>"
msgstr "<b>Добавить нвоый вид спорта</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
#, fuzzy
msgid "<b>Edit Equipment</b>"
msgstr "<b>Редактировать вид спорта</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr ""
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
#, fuzzy
msgid "<b>Delete Equipment</b>"
msgstr "<b>Удалить вид спорта</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr "Расширения"
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr ""
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr "имя записи"
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
msgid "Name:"
msgstr "Имя"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
msgid "Status:"
msgstr "<b>Статус:</b>"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
msgid "Description:"
msgstr "<b>Описание</b>"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr "<b>статус записи</b>"
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr "<b>описание записи</b>"
-#: glade/importdata.glade:7 glade/importdata.glade:325
+#: glade/importdata.ui:9
+msgid "Test 1"
+msgstr ""
+
+#: glade/importdata.ui:12
+msgid "Test 2"
+msgstr ""
+
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr ""
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr ""
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
#, fuzzy
msgid "Import"
msgstr "Вид спорта"
-#: glade/importdata.glade:36
-msgid ""
-"Test 1\n"
-"Test 2"
-msgstr ""
-
-#: glade/importdata.glade:46
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr ""
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr ""
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
#, fuzzy
msgid "<b>Tools</b>"
msgstr "<b>Название</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr ""
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr ""
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr ""
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr ""
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr ""
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr ""
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
#, fuzzy
msgid "<b>Select activities to import</b>"
msgstr "<b>Удалить вид спорта</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr ""
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr ""
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
#, fuzzy
msgid "<b>Import from File</b>"
msgstr "<b>Список видов спорта</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
#, fuzzy
msgid "<b>Plugins</b>"
msgstr "<b>База данных</b>"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr ""
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr ""
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr ""
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr ""
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr "Плагины"
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
#, fuzzy
msgid "<b>Default to Tab</b>"
msgstr "<b>База данных</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr ""
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr ""
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
#, fuzzy
msgid "<b>Options</b>"
msgstr "<b>Список видов спорта</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
#, fuzzy
msgid "<b>Select file to import from</b>"
msgstr "<b>Удалить вид спорта</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr ""
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr ""
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr ""
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr ""
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
#, fuzzy
msgid "<b>File delimiter</b>"
msgstr "<b>Удалить вид спорта</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Дата"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr ""
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Дистанция (км)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr ""
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
#, fuzzy
msgid "<b>PyTrainer Field</b>"
msgstr "<b>Имя:</b>"
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
#, fuzzy
msgid "<b>File Column</b>"
msgstr "<b>Комментарии</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Название"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr ""
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
#, fuzzy
msgid "Accent (m)"
msgstr "Высота (м)"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
#, fuzzy
msgid "Calories (kcal)"
msgstr "Калории"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
#, fuzzy
msgid "Max Speed (km/h)"
msgstr "Среднее (км/ч)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
#, fuzzy
msgid "Average Speed (km/h)"
msgstr "Среднее (км/ч)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Вид спорта"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr ""
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
#, fuzzy
msgid "Max Heartrate (bpm)"
msgstr "Ударов в среднем (уд/мин)"
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
#, fuzzy
msgid "Pace (min/km)"
msgstr "Среднее (км/ч)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
#, fuzzy
msgid "Max Pace (min/km)"
msgstr "Среднее (км/ч)"
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
#, fuzzy
msgid "Comments"
msgstr "<b>Комментарии</b>"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr ""
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr ""
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
#, fuzzy
msgid "<b>Map Columns</b>"
msgstr "<b>Комментарии</b>"
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -367,1706 +359,1764 @@ msgid ""
"4) Click 'Import Data'</small>"
msgstr ""
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr ""
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
#, fuzzy
msgid "<b>Import from CSV</b>"
msgstr "<b>Список видов спорта</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Новая запись"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
#, fuzzy
msgid "Title:"
msgstr "Название"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
#, fuzzy
msgid "GPX File:"
msgstr "GPX файл"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Подсчитать значения"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
#, fuzzy
msgid "Sport:"
msgstr "Вид спорта"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
#, fuzzy
msgid "<b>Main</b>"
msgstr "<b>Время:</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
#, fuzzy
msgid "Distance (Km):"
msgstr "Дистанция (км)"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
#, fuzzy
msgid "Calculate"
msgstr "Подсчитать время"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
#, fuzzy
msgid "Duration:"
msgstr "<b>Описание</b>"
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
#, fuzzy
msgid "Date:"
msgstr "Дата"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr ""
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr ""
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
#, fuzzy
msgid "<b>General</b>"
msgstr "<b>Среднее:</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
#, fuzzy
msgid "Max (km/h):"
msgstr "Среднее (км/ч)"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Среднее (км/ч)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
#, fuzzy
msgid "<b>Speed</b>"
msgstr "<b>Тип</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
#, fuzzy
msgid "Quick Entry"
msgstr "Новая запись"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
#, fuzzy
msgid "Max (min/km):"
msgstr "Среднее (км/ч)"
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
#, fuzzy
msgid "Pace (min/km):"
msgstr "Среднее (км/ч)"
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
msgid "<b>Pace</b>"
msgstr "<b>Имя:</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
#, fuzzy
msgid "Ascent:"
msgstr "<b>Дистанция:</b>"
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
#, fuzzy
msgid "Descent:"
msgstr "<b>Дистанция:</b>"
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
msgid "<b>Accumulated Altitude Change</b>"
msgstr "Неровности"
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
#, fuzzy
msgid "Max (bpm):"
msgstr "Ударов в среднем (уд/мин)"
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
#, fuzzy
msgid "Heart rate:"
msgstr "<b>Дата:</b>"
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Калории"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
msgstr ""
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
msgid "<b>Heart Rate</b>"
msgstr "<b>Ударов в среднем:</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr ""
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Комментарии</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr ""
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
#, fuzzy
msgid "<b>Associated Equipment</b>"
msgstr "<b>Дистанция:</b>"
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr ""
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
msgid "<b>Plugin Details</b>"
msgstr "<b>База данных</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr "<b>описание записи</b>"
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr "Имя Записи"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr ""
+
+#: glade/profile.ui:12
+#, fuzzy
+msgid "Warning"
+msgstr "предупреждение"
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr ""
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr ""
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr ""
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr ""
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "<b>статус записи</b>"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Ударов в среднем:</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr ""
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr ""
-#: glade/profile.glade:140
+#: glade/profile.ui:231
#, fuzzy
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Удалить вид спорта</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
#, fuzzy
msgid "Database type:"
msgstr "Тип БД"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
#, fuzzy
msgid "Database host:"
msgstr "Компьютер с БД"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
#, fuzzy
msgid "Database name:"
msgstr "Имя в БД"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
#, fuzzy
msgid "Database user:"
msgstr "Имя Пользователя в БД"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
#, fuzzy
msgid "Database pass:"
msgstr "Пароль к БД"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>База данных</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr "Пол"
-#: glade/profile.glade:369
+#: glade/profile.ui:447
#, fuzzy
msgid "User name:"
msgstr "Новое имя"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
#, fuzzy
msgid "Gender:"
msgstr "Пол"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
#, fuzzy
msgid "Height:"
msgstr "Рост"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr ""
-#: glade/profile.glade:520
+#: glade/profile.ui:599
#, fuzzy
msgid "Weight:"
msgstr "Вес"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
#, fuzzy
msgid "<b>Athlete Details</b>"
msgstr "<b>База данных</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
msgid "Athlete"
msgstr ""
-#: glade/profile.glade:672
+#: glade/profile.ui:744
#, fuzzy
msgid "<b>Sport List</b>"
msgstr "<b>Список видов спорта</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr ""
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr ""
-#: glade/profile.glade:766
+#: glade/profile.ui:834
#, fuzzy
msgid "Extra Weight:"
msgstr "Вес"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr ""
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
#, fuzzy
msgid "<b>Add New Sport</b>"
msgstr "<b>Добавить нвоый вид спорта</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "новый"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
msgstr ""
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
#, fuzzy
msgid "<b>Delete Sport</b>"
msgstr "<b>Удалить вид спорта</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr ""
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Имя"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr ""
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
msgid "Extra Weight"
msgstr "Вес"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr ""
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr ""
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
#, fuzzy
msgid "<b>Edit Sport</b>"
msgstr "<b>Редактировать вид спорта</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
#, fuzzy
msgid "<b>lalaal</b>"
msgstr "<b>База данных</b>"
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "правка"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Спорт"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr ""
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr ""
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
msgstr ""
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
msgstr ""
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr ""
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr ""
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr ""
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
#, fuzzy
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Ударов в среднем:</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr ""
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr ""
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr ""
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr ""
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
msgstr ""
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr ""
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
"instance of pytrainer, they will not be remembered next time though</small>"
msgstr ""
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr ""
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Дистанция"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Время"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "среднее за день"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "среднее за день"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+#, fuzzy
+msgid "All Distances"
+msgstr "Дистанция"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+#, fuzzy
+msgid "All Durations"
+msgstr "Все виды спорта"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "время в день"
+
+#: glade/pytrainer.ui:219
+msgid "Last 4 weeks"
+msgstr ""
+
+#: glade/pytrainer.ui:222
+#, fuzzy
+msgid "Last 6 months"
+msgstr "<b>статус записи</b>"
+
+#: glade/pytrainer.ui:225
+msgid "Last 12 months"
+msgstr ""
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Все виды спорта"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+msgid "Profile"
+msgstr "Профиль"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr ""
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr ""
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr ""
+
+#: glade/pytrainer.ui:279
+msgid "Percentage"
+msgstr ""
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr ""
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "<b>Дата:</b>"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Профиль уровня"
+
+#: glade/pytrainer.ui:339
+#, fuzzy
+msgid "Stage Velocity"
+msgstr "скорость"
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Профиль уровня"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Файл"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
#, fuzzy
msgid "_Import"
msgstr "Вид спорта"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
msgid "_Export as Text Separated by Commas"
msgstr "_Экспортировать как текст (разделенный запятыми)"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "_Правка"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Вид"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr " _Классический вид"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr " _Список"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
msgid " _Waypoints Editor"
msgstr " _Редактор маршрута"
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr "Инструменты"
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
msgid "GPS Device Plugins"
msgstr "Плагины устройств GPS"
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Помощь"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Все виды спорта"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr "Колонка"
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
#, fuzzy
msgid "<b>Sport:</b>"
msgstr "<b>Список видов спорта</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
#, fuzzy
msgid "<b>Duration:</b>"
msgstr "<b>Описание</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
#, fuzzy
msgid "<b>Speed:</b>"
msgstr "<b>Тип</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
#, fuzzy
msgid "<b>Pace:</b>"
msgstr "<b>Имя:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
msgid "<b>Ascent:</b>"
msgstr "<b>Дистанция:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
#, fuzzy
msgid "<b>Calories:</b>"
msgstr "<b>Калории:</b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "<b>Комментарии:</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
#, fuzzy
msgid "<b>Date:</b>"
msgstr "<b>Дата:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Дистанция:</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
#, fuzzy
msgid "<b>Max Speed</b>"
msgstr "<b>Имя:</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
#, fuzzy
msgid "<b>Max Pace:</b>"
msgstr "<b>Имя:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
msgid "<b>Descent:</b>"
msgstr "<b>Дистанция:</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "ккал"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "км"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "км/ч"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
#, fuzzy
msgid "<b>Equipment:</b>"
msgstr "<b>Время:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
#, fuzzy
msgid "<b>Active / Rest:</b>"
msgstr "<b>Дистанция:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr ""
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
#, fuzzy
msgid "<b>Laps</b>"
msgstr "<b>Имя:</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
msgid " <b>Title:</b>"
msgstr "<b>Название</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
#, fuzzy
msgid "Show graph display options"
msgstr "Показать график в классическом виде"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr ""
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr ""
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr ""
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr ""
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr ""
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr ""
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr ""
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr ""
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr ""
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr ""
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr ""
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
#, fuzzy
msgid "<small>Distance</small>"
msgstr "<b>Дистанция:</b>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr ""
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr ""
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr ""
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr ""
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
msgid "<small>Show:</small>"
msgstr ""
-#: glade/pytrainer.glade:2069
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr ""
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
#, fuzzy
msgid "<b>Beats:</b>"
msgstr "<b>Ударов в среднем:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Калории:</b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
#, fuzzy
msgid "<b>Max Beats:</b>"
msgstr "<b>Ударов в среднем:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
#, fuzzy
msgid "<b>HR Zones Method:</b>"
msgstr "<b>Месяц</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
#, fuzzy
msgid "<b>HR Zone5:</b>"
msgstr "<b>Месяц</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr " уд/мин"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr " ккал"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
#, fuzzy
msgid "<b>HR Zone4:</b>"
msgstr "<b>Месяц</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
#, fuzzy
msgid "<b>HR Zone3:</b>"
msgstr "<b>Месяц</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
#, fuzzy
msgid "<b>HR Zone2:</b>"
msgstr "<b>Месяц</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
#, fuzzy
msgid "<b>HR Zone1:</b>"
msgstr "<b>Месяц</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "уд/мин"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
msgid " <b>Heart Rate:</b>"
msgstr "<b>Дата:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
#, fuzzy
msgid "<b>Projected times</b>"
msgstr "Под гору"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
#, fuzzy
msgid "<b>Range:</b>"
msgstr "<b>Среднее:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
#, fuzzy
msgid "<b>Rank:</b>"
msgstr "<b>Дата:</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
#, fuzzy
msgid "<b>Speed: </b>"
msgstr "<b>Тип</b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
#, fuzzy
msgid "<b>Avg speed:</b>"
msgstr "<b>Среднее:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
#, fuzzy
msgid "<b>Standard deviation:</b>"
msgstr "<b>Описание</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
#, fuzzy
msgid "<b>Deviation:</b>"
msgstr "<b>Описание</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
#, fuzzy
msgid "<b>Ranking</b>"
msgstr "<b>Имя:</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
#, fuzzy
msgid "<b>Analytics:</b>"
msgstr "<b>Дистанция:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
msgid "Record"
msgstr "Запись"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
#, fuzzy
msgid "<b>Max Speed:</b>"
msgstr "<b>Время:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Ударов в среднем:</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr ""
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
#, fuzzy
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Название</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
#, fuzzy
msgid "m"
msgstr "км"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
msgid " <b>Date:</b>"
msgstr "<b>Дата:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Значение"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "День"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
#, fuzzy
msgid " <b>Week:</b>"
msgstr "<b>Дата:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-#, fuzzy
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Километры\n"
-"Время\n"
-"Удары\n"
-"Среднее\n"
-"Калории"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-#, fuzzy
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Километры\n"
-"Время\n"
-"Удары\n"
-"Среднее\n"
-"Калории"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr ""
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
msgid " <b>Month:</b>"
msgstr "<b>Месяц</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Месяц"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
msgid " <b>Year:</b>"
msgstr "<b>Год</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "Год"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
#, fuzzy
msgid "<b>Graph</b>"
msgstr "<b>Имя:</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
#, fuzzy
msgid "<b>History</b>"
msgstr "<b>Редактировать вид спорта</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
#, fuzzy
msgid "<b>Sports</b>"
msgstr "<b>Список видов спорта</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
#, fuzzy
msgid "Total distance:"
msgstr "Дистанция"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
msgid "Total duration:"
msgstr ""
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
msgid "Start date:"
msgstr ""
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr ""
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
#, fuzzy
msgid "<b>All</b>"
msgstr "<b>Название</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr ""
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
msgid "<b>Title:</b>"
msgstr "<b>Название</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Поиск"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-#, fuzzy
-msgid "All Distances"
-msgstr "Дистанция"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-#, fuzzy
-msgid "All Durations"
-msgstr "Все виды спорта"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr "Колонка"
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr ""
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
msgid "Latitude: "
msgstr "<b>Широта</b>"
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
msgid " Name:"
msgstr "Имя"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
msgid "Longitude:"
msgstr "<b>Долгота</b>"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
msgid "<b> Waypoint: </b>"
msgstr "<b> Маршрут: </b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Править запись"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Показать график в классическом виде"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
-msgstr ""
-
-#: glade/selecttrackdialog.glade:7
+#: glade/selecttrackdialog.ui:7
msgid "Select track record"
msgstr "Выберите дорожку записи"
-#: glade/warning.glade:7 glade/warning.glade:38
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
+msgstr ""
+
+#: extensions/gpx2garmin/gpx2garmin.py:50
#, fuzzy
-msgid "Warning"
-msgstr "предупреждение"
+msgid "gpx2garmin Extension"
+msgstr "Расширения"
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
msgstr ""
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "id"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
+msgstr ""
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Дистанция"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr ""
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Время"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr ""
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
msgstr ""
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
msgstr ""
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
-msgstr "Маршрут"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr ""
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Вес"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr ""
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
msgstr ""
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
msgstr ""
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
msgstr ""
-#: pytrainer/gui/windowmain.py:141
-#, fuzzy
-msgid "Records"
-msgstr "Запись"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr ""
-#: pytrainer/gui/windowmain.py:142
-msgid "Total duration"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
msgstr ""
-#: pytrainer/gui/windowmain.py:143
-#, fuzzy
-msgid "Total distance"
-msgstr "Дистанция"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
+msgstr ""
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
msgstr ""
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-msgid "Max speed"
+#: imports/tool_gant.py:34
+msgid "Gant"
msgstr ""
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
msgstr ""
-#: pytrainer/gui/windowmain.py:148
-msgid "Max duration"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
msgstr ""
-#: pytrainer/gui/windowmain.py:149
+#: imports/file_gpxplus.py:41
#, fuzzy
-msgid "Max distance"
-msgstr "Дистанция"
+msgid "GPS eXchange file"
+msgstr "GPX файл"
-#: pytrainer/gui/windowmain.py:155
-msgid "Lap"
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
msgstr ""
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
msgstr ""
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
msgstr ""
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
msgstr ""
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
+#: pytrainer/core/activity.py:480
+msgid "%"
msgstr ""
-#: pytrainer/gui/windowmain.py:320
+#: pytrainer/core/activity.py:489
#, fuzzy
-msgid "d"
-msgstr "id"
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:567
-msgid "Axis Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
-msgstr ""
+msgid "rpm"
+msgstr "уд/мин"
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
+#: pytrainer/core/activity.py:546
#, fuzzy
-msgid "km"
-msgstr "км/ч"
-
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
-msgstr "Удары"
-
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Среднее"
-
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
-msgstr ""
+msgid "Heart Rate zone"
+msgstr "<b>Ударов в среднем:</b>"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
msgid "h"
msgstr ""
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
msgstr ""
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-#, fuzzy
-msgid "Edit Entry"
-msgstr "Новая запись"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2188
-#, fuzzy
-msgid "Delete Entry"
-msgstr "Новая запись"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
+msgstr "Название Трека"
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
msgstr ""
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
msgstr ""
-#: pytrainer/gui/windowmain.py:2229
-#, fuzzy
-msgid "<b>Date</b>"
-msgstr "<b>Дата:</b>"
-
-#: pytrainer/gui/windowmain.py:2245
-#, fuzzy
-msgid "<b>Weight</b>"
-msgstr "<b>Удалить вид спорта</b>"
-
-#: pytrainer/gui/windowmain.py:2253
-#, fuzzy
-msgid "<b>Body Fat</b>"
-msgstr "<b>Дата:</b>"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Править запись"
-#: pytrainer/gui/windowmain.py:2261
-#, fuzzy
-msgid "<b>Resting Heart Rate</b>"
-msgstr "<b>Ударов в среднем:</b>"
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Показать график в классическом виде"
-#: pytrainer/gui/windowmain.py:2269
-#, fuzzy
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Ударов в среднем:</b>"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
+msgstr "Дистанция"
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
msgstr ""
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
+msgstr "%s настройки"
+
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
#, fuzzy
msgid "Disabled"
msgstr "Дистанция"
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
#, fuzzy
msgid "GPS device found"
msgstr "Плагины устройств GPS"
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
#, fuzzy
msgid "File"
msgstr "_Файл"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
#, fuzzy
msgid "Activities"
msgstr "Активно"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
#, fuzzy
msgid "Start Time"
msgstr "время в день"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
#, fuzzy
msgid "Duration"
msgstr "<b>Описание</b>"
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr "%s настройки"
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr "Дистанция"
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr ""
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr "Ok"
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
#, fuzzy
msgid "Got file: "
msgstr "GPX файл"
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, fuzzy, python-format
msgid "Column %d"
msgstr "Колонка"
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
msgstr ""
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "id"
+
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
msgstr ""
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
msgstr ""
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
+msgstr "Маршрут"
+
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Вес"
+
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:129
#, fuzzy
-msgid "Max"
-msgstr "Май"
+msgid "Records"
+msgstr "Запись"
+
+#: pytrainer/gui/windowmain.py:130
+msgid "Total duration"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:104
+#: pytrainer/gui/windowmain.py:131
#, fuzzy
-msgid "Ascent"
-msgstr "<b>Дистанция:</b>"
+msgid "Total distance"
+msgstr "Дистанция"
+
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+msgid "Max speed"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:136
+msgid "Max duration"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:105
+#: pytrainer/gui/windowmain.py:137
#, fuzzy
-msgid "Descent"
-msgstr "<b>Дистанция:</b>"
+msgid "Max distance"
+msgstr "Дистанция"
+
+#: pytrainer/gui/windowmain.py:143
+msgid "Lap"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
+msgstr ""
-#: pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:323
#, fuzzy
-msgid "GPX File"
-msgstr "GPX файл"
+msgid "d"
+msgstr "id"
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
-msgstr "Значение"
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
+msgstr ""
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
msgstr ""
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
msgstr ""
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
+#: pytrainer/gui/windowmain.py:572
+msgid "Axis Limits"
msgstr ""
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
msgstr ""
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
-msgstr "Название Трека"
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr ""
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
msgstr ""
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Высота (м)"
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Профиль уровня"
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr ""
-#: pytrainer/recordgraph.py:136
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr "Удары"
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Среднее"
+
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
#, fuzzy
-msgid "Speed (Km/h)"
-msgstr "Среднее (км/ч)"
+msgid "Edit Entry"
+msgstr "Новая запись"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
-msgid "Beats (bpm)"
-msgstr "Ударов в среднем (уд/мин)"
+#: pytrainer/gui/windowmain.py:2152
+#, fuzzy
+msgid "Delete Entry"
+msgstr "Новая запись"
-#: pytrainer/recordgraph.py:142
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2193
+#, fuzzy
+msgid "<b>Date</b>"
+msgstr "<b>Дата:</b>"
+
+#: pytrainer/gui/windowmain.py:2209
+#, fuzzy
+msgid "<b>Weight</b>"
+msgstr "<b>Удалить вид спорта</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+#, fuzzy
+msgid "<b>Body Fat</b>"
+msgstr "<b>Дата:</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+#, fuzzy
+msgid "<b>Resting Heart Rate</b>"
+msgstr "<b>Ударов в среднем:</b>"
+
+#: pytrainer/gui/windowmain.py:2233
#, fuzzy
-msgid "Cadence (rpm)"
-msgstr "Дистанция (км)"
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Ударов в среднем:</b>"
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
msgstr ""
-#: pytrainer/recordgraph.py:144
-#, fuzzy
-msgid "Beats (%)"
-msgstr "Ударов в среднем (уд/мин)"
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
+msgstr ""
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
+msgstr "Значение"
+
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
msgstr ""
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
+msgstr ""
+
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
msgstr ""
-#: pytrainer/profile.py:115
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
#, fuzzy
-msgid "Weight Control"
-msgstr "Вес"
+msgid "Max"
+msgstr "Май"
-#: pytrainer/profile.py:116
-msgid "Aerobic"
-msgstr ""
+#: pytrainer/gui/windowrecord.py:97
+#, fuzzy
+msgid "Ascent"
+msgstr "<b>Дистанция:</b>"
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
-msgstr ""
+#: pytrainer/gui/windowrecord.py:98
+#, fuzzy
+msgid "Descent"
+msgstr "<b>Дистанция:</b>"
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
+#: pytrainer/gui/windowrecord.py:204
+#, fuzzy
+msgid "GPX File"
+msgstr "GPX файл"
+
+#: pytrainer/lib/gpx.py:128
+msgid "No Name"
+msgstr "Имя"
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
msgstr ""
#: pytrainer/lib/listview.py:32
@@ -2098,86 +2148,53 @@ msgstr ""
msgid ">2 Hours"
msgstr ""
-#: pytrainer/lib/gpx.py:129
-msgid "No Name"
-msgstr "Имя"
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr ""
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr ""
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr ""
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr ""
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr ""
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr ""
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr ""
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr ""
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr ""
-
-#: pytrainer/lib/activity.py:464
-#, fuzzy
-msgid "rpm"
-msgstr "уд/мин"
-
-#: pytrainer/lib/activity.py:523
+#: pytrainer/lib/uc.py:52
#, fuzzy
-msgid "Heart Rate zone"
-msgstr "<b>Ударов в среднем:</b>"
+msgid "km"
+msgstr "км/ч"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
#, fuzzy
msgid "mi"
msgstr "км"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "min/mi"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
msgid "ft"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr ""
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr ""
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Высота (м)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr "Скорость (км/ч)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity"
+msgstr "скорость"
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+msgid "Beats (bpm)"
+msgstr "Ударов в среднем (уд/мин)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2189,8 +2206,8 @@ msgstr "день"
msgid "Daily Distance"
msgstr "Дистанция"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
#, fuzzy
msgid "Time (hours)"
msgstr "время в часах"
@@ -2199,8 +2216,8 @@ msgstr "время в часах"
msgid "Daily Time"
msgstr "время в день"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr ""
@@ -2218,42 +2235,20 @@ msgstr "среднее за день"
msgid "Daily Calories"
msgstr "калории за день"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr ""
-
-#: pytrainer/totalgraph.py:24
+#: pytrainer/recordgraph.py:136
#, fuzzy
-msgid "Annual Distance"
-msgstr "Дистанция"
+msgid "Speed (Km/h)"
+msgstr "Среднее (км/ч)"
-#: pytrainer/totalgraph.py:25
+#: pytrainer/recordgraph.py:142
#, fuzzy
-msgid "Annual Time"
-msgstr "время в день"
-
-#: pytrainer/totalgraph.py:26
-msgid "Annual Average Heart Rate"
-msgstr ""
-
-#: pytrainer/totalgraph.py:27
-msgid "Annual Average Speed"
-msgstr ""
+msgid "Cadence (rpm)"
+msgstr "Дистанция (км)"
-#: pytrainer/totalgraph.py:28
+#: pytrainer/recordgraph.py:144
#, fuzzy
-msgid "Annual Calories"
-msgstr "калории за день"
-
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr ""
-
-#: pytrainer/record.py:486
-msgid "pytrainer can't import data from your gpx file"
-msgstr ""
+msgid "Beats (%)"
+msgstr "Ударов в среднем (уд/мин)"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2286,130 +2281,107 @@ msgstr "среднее за месяц"
msgid "Monthly Calories"
msgstr "калории за месяц"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-"Кажется, GPX-файл содержит записи за несколько дней.Возможно, Вам придется "
-"редактировать Ваше GPX-файл"
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr "Скорость (км/ч)"
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity"
-msgstr "скорость"
-
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
msgstr ""
-#: imports/file_gpxplus.py:41
+#: pytrainer/profile.py:140
#, fuzzy
-msgid "GPS eXchange file"
-msgstr "GPX файл"
-
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr ""
-
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
-msgstr ""
-
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr ""
-
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
-msgstr ""
-
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr ""
-
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr ""
-
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
-msgstr ""
-
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
-msgstr ""
+msgid "Weight Control"
+msgstr "Вес"
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
+#: pytrainer/profile.py:141
+msgid "Aerobic"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:82
-msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
+#: pytrainer/record.py:532
+msgid "pytrainer can't import data from your gpx file"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
msgstr ""
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
-msgstr ""
+#: pytrainer/totalgraph.py:24
+#, fuzzy
+msgid "Annual Distance"
+msgstr "Дистанция"
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
-msgstr ""
+#: pytrainer/totalgraph.py:25
+#, fuzzy
+msgid "Annual Time"
+msgstr "время в день"
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
+#: pytrainer/totalgraph.py:26
+msgid "Annual Average Heart Rate"
msgstr ""
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
+#: pytrainer/totalgraph.py:27
+msgid "Annual Average Speed"
msgstr ""
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
-msgstr ""
+#: pytrainer/totalgraph.py:28
+#, fuzzy
+msgid "Annual Calories"
+msgstr "калории за день"
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
+#: pytrainer/waypoint.py:88
+msgid ""
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
+"Кажется, GPX-файл содержит записи за несколько дней.Возможно, Вам придется "
+"редактировать Ваше GPX-файл"
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
msgstr ""
-#: extensions/gpx2garmin/gpx2garmin.py:50
-#, fuzzy
-msgid "gpx2garmin Extension"
-msgstr "Расширения"
+#~ msgid "Calendar"
+#~ msgstr "Календарь"
#, fuzzy
-#~ msgid "Last entry"
-#~ msgstr "<b>статус записи</b>"
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Километры\n"
+#~ "Время\n"
+#~ "Удары\n"
+#~ "Среднее\n"
+#~ "Калории"
#, fuzzy
-#~ msgid "<b>Start screen</b>"
-#~ msgstr "<b>Ударов в среднем:</b>"
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Километры\n"
+#~ "Время\n"
+#~ "Удары\n"
+#~ "Среднее\n"
+#~ "Калории"
#~ msgid "window1"
#~ msgstr "window1"
@@ -2438,9 +2410,6 @@ msgstr "Расширения"
#~ msgid "Calculate Calories"
#~ msgstr "Подсчитать значения"
-#~ msgid "Profile"
-#~ msgstr "Профиль"
-
#~ msgid "Age"
#~ msgstr "Возраст"
diff --git a/locale/sv/LC_MESSAGES/pytrainer.mo b/locale/sv/LC_MESSAGES/pytrainer.mo
index 5b2729a..4b00008 100644
Binary files a/locale/sv/LC_MESSAGES/pytrainer.mo and b/locale/sv/LC_MESSAGES/pytrainer.mo differ
diff --git a/locale/sv/LC_MESSAGES/pytrainer_sv.po b/locale/sv/LC_MESSAGES/pytrainer_sv.po
index c6c3354..45264cd 100644
--- a/locale/sv/LC_MESSAGES/pytrainer_sv.po
+++ b/locale/sv/LC_MESSAGES/pytrainer_sv.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pytrainer 1.8.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 10:40+0100\n"
+"POT-Creation-Date: 2017-09-10 08:54+0300\n"
"PO-Revision-Date: 2011-01-09 20:27+0100\n"
"Last-Translator: Per Medin <per.medin at gmail.com>\n"
"Language-Team: Swedish\n"
@@ -20,324 +20,320 @@ msgstr ""
"X-Poedit-Language: Swedish\n"
"X-Poedit-Country: Sweden\n"
-#: glade/calendar.glade:7
-msgid "Calendar"
-msgstr "Kalender"
-
-#: glade/equipment.glade:109
+#: glade/equipment.ui:104
msgid "<b>Equipment List</b>"
msgstr "<b>Utrustningslista</b>"
-#: glade/equipment.glade:149 glade/equipment.glade:406
-#: pytrainer/gui/equipment.py:98
+#: glade/equipment.ui:142 glade/equipment.ui:387 pytrainer/gui/equipment.py:98
msgid "Description"
msgstr "Beskrivning"
-#: glade/equipment.glade:174 glade/equipment.glade:431
+#: glade/equipment.ui:167 glade/equipment.ui:412
msgid "Life Expectancy"
msgstr ""
-#: glade/equipment.glade:211 glade/equipment.glade:467
+#: glade/equipment.ui:204 glade/equipment.ui:448
msgid "Prior Usage"
msgstr ""
-#: glade/equipment.glade:243 glade/equipment.glade:499
-#: pytrainer/gui/equipment.py:102
+#: glade/equipment.ui:236 glade/equipment.ui:480 pytrainer/gui/equipment.py:102
msgid "Active"
msgstr "Aktiv"
-#: glade/equipment.glade:277 glade/equipment.glade:533
-#: pytrainer/gui/windowimportdata.py:331
+#: glade/equipment.ui:266 glade/equipment.ui:510
+#: pytrainer/gui/windowimportdata.py:328
msgid "Notes"
msgstr "Anteckningar"
-#: glade/equipment.glade:366
+#: glade/equipment.ui:349
msgid "<b>Add New Equipment</b>"
msgstr "<b>Lägg till utrustning</b>"
-#: glade/equipment.glade:622
+#: glade/equipment.ui:593
msgid "<b>Edit Equipment</b>"
msgstr "<b>Redigera utrustning</b>"
-#: glade/equipment.glade:651
+#: glade/equipment.ui:620
msgid "Really delete the equipment item?"
msgstr "Radera utrustningen?"
-#: glade/equipment.glade:704
+#: glade/equipment.ui:667
msgid "<b>Delete Equipment</b>"
msgstr "<b>Radera utrustning</b>"
-#: glade/extensions.glade:9 glade/pytrainer.glade:163
+#: glade/extensions.ui:9 glade/pytrainer.ui:535
msgid "Extensions"
msgstr "Tillägg"
-#: glade/extensions.glade:54
+#: glade/extensions.ui:54
msgid "<b>Extension Details</b>"
msgstr "<b>Tilläggs Detaljer</b>"
-#: glade/extensions.glade:67
+#: glade/extensions.ui:67
msgid "name-entry"
msgstr "namn-inmatning"
-#: glade/extensions.glade:82 glade/plugins.glade:144 glade/profile.glade:728
-#: glade/pytrainer.glade:5703
+#: glade/extensions.ui:82 glade/plugins.ui:144 glade/profile.ui:796
+#: glade/pytrainer.ui:6083
msgid "Name:"
msgstr "Namn:"
-#: glade/extensions.glade:96 glade/plugins.glade:115
+#: glade/extensions.ui:96 glade/plugins.ui:115
msgid "Status:"
msgstr "Status:"
-#: glade/extensions.glade:110 glade/plugins.glade:86
-#: glade/pytrainer.glade:6548
+#: glade/extensions.ui:110 glade/plugins.ui:86 glade/pytrainer.ui:6925
msgid "Description:"
msgstr "Beskrivning"
-#: glade/extensions.glade:124 glade/plugins.glade:100
+#: glade/extensions.ui:124 glade/plugins.ui:100
msgid "status-entry"
msgstr "status-inmatning"
-#: glade/extensions.glade:139
+#: glade/extensions.ui:139
msgid "description-entry"
msgstr "detalj-imatning"
-#: glade/importdata.glade:7 glade/importdata.glade:325
-msgid "Import"
-msgstr "Importera"
-
-#: glade/importdata.glade:36
-msgid ""
+#: glade/importdata.ui:9
+#, fuzzy
+msgid "Test 1"
+msgstr ""
"Test 1\n"
"Test 2"
+
+#: glade/importdata.ui:12
+#, fuzzy
+msgid "Test 2"
msgstr ""
"Test 1\n"
"Test 2"
-#: glade/importdata.glade:46
+#: glade/importdata.ui:22 glade/importdata.ui:32 glade/importdata.ui:42
+#: glade/importdata.ui:52 glade/importdata.ui:62 glade/importdata.ui:72
+#: glade/importdata.ui:82 glade/importdata.ui:102 glade/importdata.ui:112
+#: glade/importdata.ui:122 glade/importdata.ui:132 glade/importdata.ui:142
+#: glade/importdata.ui:152 glade/importdata.ui:162 glade/importdata.ui:172
+msgid "Exclude"
+msgstr "Undanta"
+
+#: glade/importdata.ui:92 glade/newrecord.ui:431
+msgid " "
+msgstr ""
+
+#: glade/importdata.ui:180 glade/importdata.ui:490
+msgid "Import"
+msgstr "Importera"
+
+#: glade/importdata.ui:224
msgid "<b>Select your GPS device</b>"
msgstr "<b>Välj GPS utrustning</b>"
-#: glade/importdata.glade:64
+#: glade/importdata.ui:239
msgid "Import from GPS Device is not yet implemented"
msgstr "Import från GPS är ännu inte implementerad"
-#: glade/importdata.glade:92
+#: glade/importdata.ui:267
msgid "<b>Tools</b>"
msgstr "<b>Verktyg</b>"
-#: glade/importdata.glade:111
+#: glade/importdata.ui:283
msgid "Rescan"
msgstr "Sök igen"
-#: glade/importdata.glade:115
+#: glade/importdata.ui:287
msgid "Rescan system for available tools"
msgstr "Sök igenom systemet efter tillgängliga verktyg"
-#: glade/importdata.glade:168
+#: glade/importdata.ui:340
msgid "<b>Import from GPS Device</b>"
msgstr "<b>Importera från GPS</b>"
-#: glade/importdata.glade:221
+#: glade/importdata.ui:392
msgid "Remove selected files and the associated activities"
msgstr "Radera markerade filer och tillhörande aktiviteter"
-#: glade/importdata.glade:239
+#: glade/importdata.ui:410
msgid "Add files to import activities from"
msgstr "Lägg till filer att importera aktiviter från"
-#: glade/importdata.glade:264
+#: glade/importdata.ui:435
msgid "<b>Add file(s) to import activities from</b>"
msgstr "<b>Lägg till fil(er) att importera aktiviteter från</b>"
-#: glade/importdata.glade:307
+#: glade/importdata.ui:475
msgid "<b>Select activities to import</b>"
msgstr "<b>Välj aktiviteter att importera</b>"
-#: glade/importdata.glade:330
+#: glade/importdata.ui:495
msgid "Import selected activities"
msgstr "Importera valda aktiviteter"
-#: glade/importdata.glade:347
+#: glade/importdata.ui:512
msgid "Close Import dialog"
msgstr "Stäng import dialog"
-#: glade/importdata.glade:387
+#: glade/importdata.ui:552
msgid "<b>Import from File</b>"
msgstr "<b>Importera från Fil</b>"
-#: glade/importdata.glade:464
+#: glade/importdata.ui:625
msgid "<b>Plugins</b>"
msgstr "<b>Tillägg</b>"
-#: glade/importdata.glade:491
+#: glade/importdata.ui:651
msgid "Import from GPS Device"
msgstr "Importera från GPS"
-#: glade/importdata.glade:510
+#: glade/importdata.ui:670
msgid "Import from File"
msgstr "Importera från Fil"
-#: glade/importdata.glade:525
+#: glade/importdata.ui:685
msgid "Launch 'File Select' on start"
msgstr "Aktivera 'Välj Fil' vid start"
-#: glade/importdata.glade:530
+#: glade/importdata.ui:690
msgid "Automatically start the file selection dialog"
msgstr "Starta automatiskt väl fil dialogen"
-#: glade/importdata.glade:546 glade/plugins.glade:9
+#: glade/importdata.ui:706 glade/plugins.ui:9
msgid "Plugins"
msgstr "Tillägg"
-#: glade/importdata.glade:572
+#: glade/importdata.ui:732
msgid "<b>Default to Tab</b>"
msgstr "<b>Standardinställning</b>"
-#: glade/importdata.glade:595
+#: glade/importdata.ui:752
msgid "Reset"
msgstr "Återställ"
-#: glade/importdata.glade:611 pytrainer/gui/filechooser.py:41
+#: glade/importdata.ui:768
msgid "Save"
msgstr "Spara"
-#: glade/importdata.glade:670
+#: glade/importdata.ui:824
msgid "<b>Options</b>"
msgstr "<b>Alternativ</b>"
-#: glade/importdata.glade:702
+#: glade/importdata.ui:855
msgid "<b>Select file to import from</b>"
msgstr "<b>Välj fil att importera från</b>"
-#: glade/importdata.glade:731
+#: glade/importdata.ui:881
msgid "Tab"
msgstr "Tabb"
-#: glade/importdata.glade:746
+#: glade/importdata.ui:896
msgid "Comma"
msgstr "Komma"
-#: glade/importdata.glade:763
+#: glade/importdata.ui:913
msgid "Other"
msgstr "Annat"
-#: glade/importdata.glade:799
+#: glade/importdata.ui:949
msgid "Read File"
msgstr "Läs Fil"
-#: glade/importdata.glade:820
+#: glade/importdata.ui:970
msgid "<b>File delimiter</b>"
msgstr "<b>Filavgränsare</b>"
-#: glade/importdata.glade:864 pytrainer/gui/windowmain.py:116
-#: pytrainer/gui/windowmain.py:131 pytrainer/gui/windowmain.py:184
-#: pytrainer/gui/windowmain.py:1515 pytrainer/gui/dialogselecttrack.py:40
+#: glade/importdata.ui:1011 pytrainer/gui/dialogselecttrack.py:38
+#: pytrainer/gui/windowmain.py:104 pytrainer/gui/windowmain.py:119
+#: pytrainer/gui/windowmain.py:172 pytrainer/gui/windowmain.py:1486
msgid "Date"
msgstr "Datum"
-#: glade/importdata.glade:877 glade/importdata.glade:918
-#: glade/importdata.glade:933 glade/importdata.glade:1128
-#: glade/importdata.glade:1143 glade/importdata.glade:1158
-#: glade/importdata.glade:1173 glade/importdata.glade:1188
-#: glade/importdata.glade:1203 glade/importdata.glade:1218
-#: glade/importdata.glade:1233 glade/importdata.glade:1248
-#: glade/importdata.glade:1263 glade/importdata.glade:1278
-#: glade/importdata.glade:1293
-msgid "Exclude"
-msgstr "Undanta"
-
-#: glade/importdata.glade:892 pytrainer/recordgraph.py:134
+#: glade/importdata.ui:1045 pytrainer/daygraph.py:52 pytrainer/daygraph.py:54
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/monthgraph.py:26 pytrainer/recordgraph.py:134
#: pytrainer/recordgraph.py:136 pytrainer/recordgraph.py:138
#: pytrainer/recordgraph.py:140 pytrainer/recordgraph.py:142
#: pytrainer/recordgraph.py:144 pytrainer/recordgraph.py:146
-#: pytrainer/monthgraph.py:26 pytrainer/heartrategraph.py:36
-#: pytrainer/totalgraph.py:24 pytrainer/yeargraph.py:26
-#: pytrainer/daygraph.py:52 pytrainer/daygraph.py:54 pytrainer/daygraph.py:56
-#: pytrainer/weekgraph.py:25
+#: pytrainer/weekgraph.py:25 pytrainer/yeargraph.py:26
+#: pytrainer/totalgraph.py:24
msgid "Distance (km)"
msgstr "Distans (km)"
-#: glade/importdata.glade:905
+#: glade/importdata.ui:1058
msgid "Duration (sec)"
msgstr "Varaktighet (s)"
-#: glade/importdata.glade:947
+#: glade/importdata.ui:1112
msgid "<b>PyTrainer Field</b>"
msgstr "<b>PyTrainer Fält</b>"
-#: glade/importdata.glade:958
+#: glade/importdata.ui:1123
msgid "<b>File Column</b>"
msgstr "<b>Filkolumn</b>"
-#: glade/importdata.glade:972 pytrainer/gui/windowmain.py:115
-#: pytrainer/gui/windowmain.py:1514
+#: glade/importdata.ui:1137 pytrainer/gui/windowmain.py:103
+#: pytrainer/gui/windowmain.py:1485
msgid "Title"
msgstr "Titel"
-#: glade/importdata.glade:985
+#: glade/importdata.ui:1150
msgid "Descent (m)"
msgstr "Sluttning (m)"
-#: glade/importdata.glade:998
+#: glade/importdata.ui:1163
msgid "Accent (m)"
msgstr "Stigning (m)"
-#: glade/importdata.glade:1011
+#: glade/importdata.ui:1176
msgid "Calories (kcal)"
msgstr "Kalorier (kcal)"
-#: glade/importdata.glade:1024
+#: glade/importdata.ui:1189
msgid "Max Speed (km/h)"
msgstr "Maxhastighet (km/h)"
-#: glade/importdata.glade:1037 pytrainer/monthgraph.py:29
-#: pytrainer/totalgraph.py:27 pytrainer/yeargraph.py:29
-#: pytrainer/weekgraph.py:28
+#: glade/importdata.ui:1202 pytrainer/monthgraph.py:29
+#: pytrainer/weekgraph.py:28 pytrainer/yeargraph.py:29
+#: pytrainer/totalgraph.py:27
msgid "Average Speed (km/h)"
msgstr "Medelhastighet (km/h)"
-#: glade/importdata.glade:1050 glade/pytrainer.glade:277
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:118
-#: pytrainer/gui/windowmain.py:140 pytrainer/gui/windowmain.py:1517
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
-#: pytrainer/gui/windowprofile.py:65
+#: glade/importdata.ui:1215 glade/pytrainer.ui:701
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowmain.py:98
+#: pytrainer/gui/windowmain.py:106 pytrainer/gui/windowmain.py:128
+#: pytrainer/gui/windowmain.py:1488 pytrainer/gui/windowprofile.py:63
+#: pytrainer/gui/windowrecord.py:204
msgid "Sport"
msgstr "Träningsform"
-#: glade/importdata.glade:1063
+#: glade/importdata.ui:1228
msgid "Average Heartrate (bpm)"
msgstr "Snittpuls (slag/min)"
-#: glade/importdata.glade:1076
+#: glade/importdata.ui:1241
msgid "Max Heartrate (bpm)"
msgstr "Maxpuls (slag/min)"
-#: glade/importdata.glade:1089 pytrainer/recordgraph.py:138
+#: glade/importdata.ui:1254 pytrainer/recordgraph.py:138
msgid "Pace (min/km)"
msgstr "Tempo (min/km)"
-#: glade/importdata.glade:1102
+#: glade/importdata.ui:1267
msgid "Max Pace (min/km)"
msgstr "Maxtempo (min/km)"
-#: glade/importdata.glade:1115 glade/newrecord.glade:1092
-#: pytrainer/gui/windowmain.py:167
+#: glade/importdata.ui:1280 glade/newrecord.ui:1093
+#: pytrainer/gui/windowmain.py:155
msgid "Comments"
msgstr "Kommentarer"
-#: glade/importdata.glade:1309
+#: glade/importdata.ui:1546
msgid "Force sport to:"
msgstr "Tvinga aktivitet till:"
-#: glade/importdata.glade:1323 glade/newrecord.glade:404
-msgid " "
-msgstr ""
-
-#: glade/importdata.glade:1394
+#: glade/importdata.ui:1637
msgid "<b>Map Columns</b>"
msgstr ""
-#: glade/importdata.glade:1414
+#: glade/importdata.ui:1654
msgid ""
"<small>This is an experiemental import for delimited files\n"
"1) Select a file\n"
@@ -346,128 +342,130 @@ msgid ""
"4) Click 'Import Data'</small>"
msgstr ""
-#: glade/importdata.glade:1427
+#: glade/importdata.ui:1667
msgid "Import Data"
msgstr "Importera Data"
-#: glade/importdata.glade:1467
+#: glade/importdata.ui:1704
msgid "<b>Import from CSV</b>"
msgstr "<b>Importera från CSV fil</b>"
-#: glade/newrecord.glade:7 pytrainer/gui/windowmain.py:2181
+#: glade/newrecord.ui:36 pytrainer/gui/windowmain.py:2145
msgid "New Entry"
msgstr "Ny Inmatning"
-#: glade/newrecord.glade:61
+#: glade/newrecord.ui:90
msgid "Title:"
msgstr "Titel:"
-#: glade/newrecord.glade:85
+#: glade/newrecord.ui:114
msgid "GPX File:"
msgstr "GPX fil:"
-#: glade/newrecord.glade:129
+#: glade/newrecord.ui:158
msgid "Calculate Values"
msgstr "Beräkna värden"
-#: glade/newrecord.glade:149
+#: glade/newrecord.ui:178
msgid "Sport:"
msgstr "Träningsform:"
-#: glade/newrecord.glade:184
+#: glade/newrecord.ui:214
msgid "<b>Main</b>"
msgstr "<b>Huvud</b>"
-#: glade/newrecord.glade:221
+#: glade/newrecord.ui:248
msgid "Distance (Km):"
msgstr "Sträcka (km):"
-#: glade/newrecord.glade:230 glade/newrecord.glade:355
-#: glade/newrecord.glade:558 glade/newrecord.glade:695
-#: glade/newrecord.glade:956 glade/profile.glade:1548
+#: glade/newrecord.ui:257 glade/newrecord.ui:382 glade/newrecord.ui:582
+#: glade/newrecord.ui:715 glade/newrecord.ui:970 glade/profile.ui:1569
msgid "Calculate"
msgstr "Beräkna"
-#: glade/newrecord.glade:248
+#: glade/newrecord.ui:275
msgid "Duration:"
msgstr "Tid:"
-#: glade/newrecord.glade:279 glade/newrecord.glade:306
+#: glade/newrecord.ui:306 glade/newrecord.ui:333
msgid ":"
msgstr ":"
-#: glade/newrecord.glade:376
+#: glade/newrecord.ui:403
msgid "Date:"
msgstr "Datum:"
-#: glade/newrecord.glade:445
+#: glade/newrecord.ui:472
msgid "Start Time:"
msgstr "Starttid:"
-#: glade/newrecord.glade:461
+#: glade/newrecord.ui:488
msgid "12:00:00"
msgstr "12:00:00"
-#: glade/newrecord.glade:486 glade/profile.glade:1586
+#: glade/newrecord.ui:513 glade/profile.ui:1607
msgid "<b>General</b>"
msgstr "<b>Allmän</b>"
-#: glade/newrecord.glade:522
+#: glade/newrecord.ui:546
msgid "Max (km/h):"
msgstr "Max (km/h):"
-#: glade/newrecord.glade:547
+#: glade/newrecord.ui:571
msgid "Average (km/h)"
msgstr "Medel (km/h)"
-#: glade/newrecord.glade:593
+#: glade/newrecord.ui:617
msgid "<b>Speed</b>"
msgstr "<b>Hastighet</b>"
-#: glade/newrecord.glade:612
+#: glade/newrecord.ui:633
msgid "Quick Entry"
msgstr "Snabbinmatning"
-#: glade/newrecord.glade:644
+#: glade/newrecord.ui:664
msgid "Max (min/km):"
msgstr "Max (min/km):"
-#: glade/newrecord.glade:670
+#: glade/newrecord.ui:690
msgid "Pace (min/km):"
msgstr "Tempo (min/km):"
-#: glade/newrecord.glade:716
+#: glade/newrecord.ui:736
msgid "<b>Pace</b>"
msgstr "<b>Tempo</b>"
-#: glade/newrecord.glade:752
+#: glade/newrecord.ui:769
msgid "Ascent:"
msgstr "Stigning:"
-#: glade/newrecord.glade:778
+#: glade/newrecord.ui:795
msgid "Descent:"
msgstr "Sluttning:"
-#: glade/newrecord.glade:811
+#: glade/newrecord.ui:828
msgid "<b>Accumulated Altitude Change</b>"
msgstr "<b>Ackumulerad höjdskillnad</b>"
-#: glade/newrecord.glade:848
+#: glade/newrecord.ui:862
msgid "Max (bpm):"
msgstr "Max (slag/min):"
-#: glade/newrecord.glade:860
+#: glade/newrecord.ui:874
msgid "Heart rate:"
msgstr "Puls:"
-#: glade/newrecord.glade:900 pytrainer/gui/windowmain.py:122
-#: pytrainer/gui/windowmain.py:165 pytrainer/gui/windowmain.py:1521
-#: pytrainer/monthgraph.py:30 pytrainer/totalgraph.py:28
-#: pytrainer/yeargraph.py:30 pytrainer/weekgraph.py:29
+#: glade/newrecord.ui:914 glade/pytrainer.ui:114 glade/pytrainer.ui:139
+#: glade/pytrainer.ui:161 glade/pytrainer.ui:186 glade/pytrainer.ui:364
+#: glade/pytrainer.ui:389 glade/pytrainer.ui:411 glade/pytrainer.ui:436
+#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:153
+#: pytrainer/gui/windowmain.py:1492 pytrainer/monthgraph.py:30
+#: pytrainer/weekgraph.py:29 pytrainer/yeargraph.py:30
+#: pytrainer/totalgraph.py:28
msgid "Calories"
msgstr "Kalorier"
-#: glade/newrecord.glade:929
+#: glade/newrecord.ui:943
msgid ""
"<small><b>Note:</b> In order to calculate the calories you must set the "
"sport MET (in Preferences->Sport) </small>"
@@ -475,160 +473,190 @@ msgstr ""
"<small><b>Notera:</b> För att beräkna kalorier så måste träningsform väljas "
"(i Inställningar->Träningsform) </small>"
-#: glade/newrecord.glade:1003
+#: glade/newrecord.ui:1017
msgid "<b>Heart Rate</b>"
msgstr "<b>Hjärtfrekvens</b>"
-#: glade/newrecord.glade:1025
+#: glade/newrecord.ui:1033
msgid "Advanced"
msgstr "Avancerad"
-#: glade/newrecord.glade:1077
+#: glade/newrecord.ui:1084
msgid "<b>Comments</b>"
msgstr "<b>Kommentarer</b>"
-#: glade/newrecord.glade:1132
+#: glade/newrecord.ui:1132
msgid "<i>There are no active equipment items.</i>"
msgstr "<i>Det finns ingen aktiv utrustning.</i>"
-#: glade/newrecord.glade:1186
+#: glade/newrecord.ui:1186
msgid "<b>Associated Equipment</b>"
msgstr "<b>Associerad utrustning</b>"
-#: glade/newrecord.glade:1201 glade/profile.glade:1446
+#: glade/newrecord.ui:1195 glade/profile.ui:1970
msgid "Equipment"
msgstr "Utrustning"
-#: glade/plugins.glade:53
+#: glade/plugins.ui:53
msgid "<b>Plugin Details</b>"
msgstr "<b>Tilläggsdetaljer</b>"
-#: glade/plugins.glade:68
+#: glade/plugins.ui:68
msgid "description-entry "
msgstr "beskrivningsinmatning"
-#: glade/plugins.glade:129
+#: glade/plugins.ui:129
msgid "nameEntry"
msgstr "namnInmatning"
-#: glade/profile.glade:7
+#: glade/profile.ui:9 extensions/openstreetmap/openstreetmap.py:204
+msgid "Error"
+msgstr ""
+
+#: glade/profile.ui:12
+msgid "Warning"
+msgstr "Varning"
+
+#: glade/profile.ui:15
+msgid "Info"
+msgstr ""
+
+#: glade/profile.ui:18
+msgid "Debug"
+msgstr ""
+
+#: glade/profile.ui:36
msgid "Preferences"
msgstr "Inställningar"
-#: glade/profile.glade:37
+#: glade/profile.ui:67
msgid "Metric system"
msgstr "Metriska"
-#: glade/profile.glade:53
+#: glade/profile.ui:83
msgid "U.S. customary units"
msgstr "Amerikanska"
-#: glade/profile.glade:74
+#: glade/profile.ui:104
msgid "<b>System of Measurement</b>"
msgstr "<b>Måttenheter</b>"
-#: glade/profile.glade:103 glade/pytrainer.glade:2111
+#: glade/profile.ui:132
+msgid "Current day"
+msgstr ""
+
+#: glade/profile.ui:148
+#, fuzzy
+msgid "Last entry"
+msgstr "status-inmatning"
+
+#: glade/profile.ui:169
+#, fuzzy
+msgid "<b>Start screen</b>"
+msgstr "<b>Hjärtfrekvens</b>"
+
+#: glade/profile.ui:197 glade/pytrainer.ui:2527
msgid "Google"
msgstr "Google"
-#: glade/profile.glade:118 glade/pytrainer.glade:2094
+#: glade/profile.ui:212 glade/pytrainer.ui:2510
msgid "Open Street Map"
msgstr "Open Street Map"
-#: glade/profile.glade:140
+#: glade/profile.ui:231
msgid "<b>Default Map Viewer</b>"
msgstr "<b>Förvald kartvisare</b>"
-#: glade/profile.glade:176
+#: glade/profile.ui:266
msgid "Database type:"
msgstr "Databas typ:"
-#: glade/profile.glade:187
+#: glade/profile.ui:277
msgid "Database host:"
msgstr "Databas värd:"
-#: glade/profile.glade:213
+#: glade/profile.ui:303
msgid "Database name:"
msgstr "Databas namn:"
-#: glade/profile.glade:252
+#: glade/profile.ui:343
msgid "Database user:"
msgstr "Databas användare:"
-#: glade/profile.glade:267
+#: glade/profile.ui:358
msgid "Database pass:"
msgstr "Databas lösenord:"
-#: glade/profile.glade:318
+#: glade/profile.ui:403
msgid "<b>Database</b>"
msgstr "<b>Databas</b>"
-#: glade/profile.glade:340
+#: glade/profile.ui:419
msgid "General"
msgstr ""
-#: glade/profile.glade:369
+#: glade/profile.ui:447
msgid "User name:"
msgstr "Användare:"
-#: glade/profile.glade:380
+#: glade/profile.ui:458
msgid "Gender:"
msgstr "Kön:"
-#: glade/profile.glade:407 glade/pytrainer.glade:5728
+#: glade/profile.ui:486 glade/pytrainer.ui:6108
msgid "Height:"
msgstr "Längd:"
-#: glade/profile.glade:447 glade/pytrainer.glade:5715
+#: glade/profile.ui:526 glade/pytrainer.ui:6095
msgid "Date of birth:"
msgstr "Födelsedatum:"
-#: glade/profile.glade:520
+#: glade/profile.ui:599
msgid "Weight:"
msgstr "Vikt:"
-#: glade/profile.glade:542 glade/pytrainer.glade:5790
+#: glade/profile.ui:621 glade/pytrainer.ui:6170
msgid "<b>Athlete Details</b>"
msgstr "<b>Användardata</b>"
-#: glade/profile.glade:557 glade/pytrainer.glade:5893
+#: glade/profile.ui:630 glade/pytrainer.ui:6261
msgid "Athlete"
msgstr "Användare"
-#: glade/profile.glade:672
+#: glade/profile.ui:744
msgid "<b>Sport List</b>"
msgstr "<b>Aktivitetstyper</b>"
-#: glade/profile.glade:684
+#: glade/profile.ui:753
msgid "llist"
msgstr ""
-#: glade/profile.glade:739
+#: glade/profile.ui:807
msgid "M.E.T.:"
msgstr ""
-#: glade/profile.glade:766
+#: glade/profile.ui:834
msgid "Extra Weight:"
msgstr "Extra vikt:"
-#: glade/profile.glade:802 glade/profile.glade:1218
+#: glade/profile.ui:870 glade/profile.ui:1272
msgid ""
"More information on determining yor M.E.T sport coefficient on Wikipedia"
msgstr ""
-#: glade/profile.glade:822
+#: glade/profile.ui:890
msgid "Maximum Pace:"
msgstr "Maxtempo:"
-#: glade/profile.glade:950
+#: glade/profile.ui:1018
msgid "<b>Add New Sport</b>"
msgstr "<b>Lägg till ny aktivitet</b>"
-#: glade/profile.glade:965
+#: glade/profile.ui:1027
msgid "new"
msgstr "ny"
-#: glade/profile.glade:996
+#: glade/profile.ui:1057
msgid ""
"Deleting a sport removes associated records.\n"
"Continue?"
@@ -636,60 +664,60 @@ msgstr ""
"Att radera en aktivitet raderar alla poster med denna aktivitet.\n"
"Fortsätt?"
-#: glade/profile.glade:1078
+#: glade/profile.ui:1139
msgid "<b>Delete Sport</b>"
msgstr "<b>Radera Aktivitet</b>"
-#: glade/profile.glade:1110
+#: glade/profile.ui:1165
msgid "delete"
msgstr "radera"
-#: glade/profile.glade:1143
+#: glade/profile.ui:1197
msgid "Name"
msgstr "Namn"
-#: glade/profile.glade:1166
+#: glade/profile.ui:1220
msgid "M.E.T."
msgstr ""
-#: glade/profile.glade:1193 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1247 pytrainer/gui/windowprofile.py:63
msgid "Extra Weight"
msgstr "Extra vikt"
-#: glade/profile.glade:1238 pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1292 pytrainer/gui/windowprofile.py:63
msgid "Maximum Pace"
msgstr "Maxtempo"
-#: glade/profile.glade:1265 pytrainer/gui/windowmain.py:189
-#: pytrainer/gui/windowprofile.py:65
+#: glade/profile.ui:1319 pytrainer/gui/windowmain.py:177
+#: pytrainer/gui/windowprofile.py:63
msgid "Color"
msgstr ""
-#: glade/profile.glade:1375
+#: glade/profile.ui:1429
msgid "<b>Edit Sport</b>"
msgstr "<b>Redigera Aktivitet</b>"
-#: glade/profile.glade:1386
+#: glade/profile.ui:1440
msgid "<b>lalaal</b>"
msgstr ""
-#: glade/profile.glade:1408
+#: glade/profile.ui:1456
msgid "edit"
msgstr "redigera"
-#: glade/profile.glade:1424
+#: glade/profile.ui:1468
msgid "Sports"
msgstr "Aktiviteter"
-#: glade/profile.glade:1479
+#: glade/profile.ui:1500
msgid "Maximum heart rate:"
msgstr "Maxpuls:"
-#: glade/profile.glade:1490
+#: glade/profile.ui:1511
msgid "Resting heart rate:"
msgstr "Vilopuls:"
-#: glade/profile.glade:1535
+#: glade/profile.ui:1556
msgid ""
"<small><b>Note:</b> Maximum heart rate is calculated by subtracting the "
"number 220 minus your age. </small>"
@@ -697,7 +725,7 @@ msgstr ""
"<small><b>Notera:</b> Maxpuls är beräknad genom att subtraera din ålder från "
"220. </small>"
-#: glade/profile.glade:1622
+#: glade/profile.ui:1640
msgid ""
"<small><b>NOTE:</b> in order to use the Karvonen method you must cover the "
"Resting hr field.</small>"
@@ -705,1310 +733,1313 @@ msgstr ""
"<small><b>NOTERA:</b> för att använda Karvonen metoden måste vilopulsen "
"anges.</small>"
-#: glade/profile.glade:1635
+#: glade/profile.ui:1653
msgid "Percentages based method"
msgstr "Procentbaserad metod"
-#: glade/profile.glade:1651 pytrainer/gui/windowmain.py:795
+#: glade/profile.ui:1669 pytrainer/gui/windowmain.py:800
msgid "Karvonen method"
msgstr "Karvonens metod"
-#: glade/profile.glade:1672
+#: glade/profile.ui:1690
msgid "Select how to calculate your heart rate zones."
msgstr "Välj metod för att beräkna pulszoner."
-#: glade/profile.glade:1711
+#: glade/profile.ui:1729
msgid "<b>Heart Rate Zones</b>"
msgstr "<b>Pulszoner</b>"
-#: glade/profile.glade:1733 pytrainer/recordgraph.py:140
-#: pytrainer/lib/activity.py:443 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:455 pytrainer/lib/activity.py:525
-#: pytrainer/heartrategraph.py:36 pytrainer/daygraph.py:56
+#: glade/profile.ui:1745 glade/pytrainer.ui:273 glade/pytrainer.ui:304
+#: pytrainer/core/activity.py:468 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:480 pytrainer/core/activity.py:548
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
msgid "Heart Rate"
msgstr "Puls"
-#: glade/profile.glade:1759
+#: glade/profile.ui:1770
msgid "Log Level"
msgstr "Loggnivå"
-#: glade/profile.glade:1767
-msgid ""
-"Error\n"
-"Warning\n"
-"Info\n"
-"Debug"
-msgstr ""
-
-#: glade/profile.glade:1785
+#: glade/profile.ui:1799
msgid "<small>What level of detail is written to the log?</small>"
msgstr "<small>Vilken nivå av detaljer skrivs till loggen?</small>"
-#: glade/profile.glade:1799
+#: glade/profile.ui:1813
msgid "Validate"
msgstr "Validera"
-#: glade/profile.glade:1829
+#: glade/profile.ui:1843
msgid ""
"<small>Do the plugins attempt to validate the input file before processing?</"
"small>"
msgstr "<small>Försöker tillägget validera filen före bearbetning?</small>"
-#: glade/profile.glade:1845
+#: glade/profile.ui:1859
msgid "New Graph"
msgstr "Ny Graf"
-#: glade/profile.glade:1874
+#: glade/profile.ui:1888
msgid "<small>Want to use experimental new approach to graphing?</small>"
msgstr ""
-#: glade/profile.glade:1917
+#: glade/profile.ui:1931
msgid ""
"<small>This screen shows the state of command line configurable options for "
"pytrainer. These options can be changed here which will affect the current "
"instance of pytrainer, they will not be remembered next time though</small>"
msgstr ""
-#: glade/profile.glade:1938
+#: glade/profile.ui:1952
msgid "Startup Parameters"
msgstr "Startparametrar"
-#: glade/pytrainer.glade:24
+#: glade/pytrainer.ui:102 glade/pytrainer.ui:127 glade/pytrainer.ui:149
+#: glade/pytrainer.ui:174 glade/pytrainer.ui:352 glade/pytrainer.ui:377
+#: glade/pytrainer.ui:399 glade/pytrainer.ui:424 pytrainer/core/activity.py:380
+#: pytrainer/core/activity.py:391 pytrainer/core/activity.py:431
+#: pytrainer/core/activity.py:442 pytrainer/core/activity.py:451
+#: pytrainer/core/activity.py:460 pytrainer/core/activity.py:469
+#: pytrainer/core/activity.py:479 pytrainer/core/activity.py:488
+#: pytrainer/core/activity.py:547 pytrainer/extensions/googlemaps.py:134
+#: pytrainer/extensions/osm.py:107 pytrainer/gui/windowimportdata.py:328
+#: pytrainer/gui/windowmain.py:105 pytrainer/gui/windowmain.py:145
+#: pytrainer/gui/windowmain.py:163 pytrainer/gui/windowmain.py:173
+#: pytrainer/gui/windowmain.py:579 pytrainer/gui/windowmain.py:1487
+#: pytrainer/gui/windowrecord.py:92 pytrainer/gui/windowrecord.py:204
+msgid "Distance"
+msgstr "Distans"
+
+#: glade/pytrainer.ui:105 glade/pytrainer.ui:130 glade/pytrainer.ui:152
+#: glade/pytrainer.ui:177 glade/pytrainer.ui:355 glade/pytrainer.ui:380
+#: glade/pytrainer.ui:402 glade/pytrainer.ui:427
+#: pytrainer/extensions/googlemaps.py:134 pytrainer/extensions/osm.py:106
+#: pytrainer/gui/windowmain.py:107 pytrainer/gui/windowmain.py:146
+#: pytrainer/gui/windowmain.py:164 pytrainer/gui/windowmain.py:174
+#: pytrainer/gui/windowmain.py:580 pytrainer/gui/windowmain.py:1489
+msgid "Time"
+msgstr "Tid"
+
+#: glade/pytrainer.ui:108 glade/pytrainer.ui:133 glade/pytrainer.ui:155
+#: glade/pytrainer.ui:180 glade/pytrainer.ui:358 glade/pytrainer.ui:383
+#: glade/pytrainer.ui:405 glade/pytrainer.ui:430
+#, fuzzy
+msgid "Average Heart Rate"
+msgstr "Medelpuls (slag/min)"
+
+#: glade/pytrainer.ui:111 glade/pytrainer.ui:136 glade/pytrainer.ui:158
+#: glade/pytrainer.ui:183 glade/pytrainer.ui:361 glade/pytrainer.ui:386
+#: glade/pytrainer.ui:408 glade/pytrainer.ui:433
+#, fuzzy
+msgid "Average Speed"
+msgstr "Medelhastighet per dag"
+
+#: glade/pytrainer.ui:124 glade/pytrainer.ui:171 glade/pytrainer.ui:292
+#: glade/pytrainer.ui:317 glade/pytrainer.ui:374 glade/pytrainer.ui:421
+msgid "None"
+msgstr ""
+
+#: glade/pytrainer.ui:196 pytrainer/lib/listview.py:3
+#: pytrainer/lib/listview.py:10
+msgid "All Distances"
+msgstr "Alla distanser"
+
+#: glade/pytrainer.ui:206 pytrainer/lib/listview.py:35
+msgid "All Durations"
+msgstr "All varaktighet"
+
+#: glade/pytrainer.ui:216
+#, fuzzy
+msgid "All time"
+msgstr "Tid per dag"
+
+#: glade/pytrainer.ui:219
+msgid "Last 4 weeks"
+msgstr ""
+
+#: glade/pytrainer.ui:222
+#, fuzzy
+msgid "Last 6 months"
+msgstr "status-inmatning"
+
+#: glade/pytrainer.ui:225
+msgid "Last 12 months"
+msgstr ""
+
+#: glade/pytrainer.ui:235 pytrainer/gui/windowmain.py:300
+msgid "All Sports"
+msgstr "Alla Aktiviteter"
+
+#: glade/pytrainer.ui:245
+msgid "Font"
+msgstr ""
+
+#: glade/pytrainer.ui:248
+msgid "Restaurant"
+msgstr ""
+
+#: glade/pytrainer.ui:251
+msgid "Scenic Area"
+msgstr ""
+
+#: glade/pytrainer.ui:254
+msgid "Summit"
+msgstr ""
+
+#: glade/pytrainer.ui:264 glade/pytrainer.ui:295
+#, fuzzy
+msgid "Profile"
+msgstr "Etappprofil"
+
+#: glade/pytrainer.ui:267 glade/pytrainer.ui:298 glade/pytrainer.ui:320
+#: pytrainer/core/activity.py:392 pytrainer/core/activity.py:450
+#: pytrainer/core/activity.py:452 pytrainer/gui/windowmain.py:175
+#: pytrainer/recordgraph.py:136
+msgid "Speed"
+msgstr "Hastighet"
+
+#: glade/pytrainer.ui:270 glade/pytrainer.ui:301 pytrainer/core/activity.py:381
+#: pytrainer/core/activity.py:459 pytrainer/core/activity.py:461
+#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowrecord.py:96
+#: pytrainer/recordgraph.py:138
+msgid "Pace"
+msgstr "Tempo"
+
+#: glade/pytrainer.ui:276 glade/pytrainer.ui:307 glade/pytrainer.ui:326
+#: pytrainer/core/activity.py:487 pytrainer/core/activity.py:489
+#: pytrainer/recordgraph.py:142
+msgid "Cadence"
+msgstr "Kadens"
+
+#: glade/pytrainer.ui:279
+#, fuzzy
+msgid "Percentage"
+msgstr "Procent"
+
+#: glade/pytrainer.ui:282 pytrainer/recordgraph.py:146
+msgid "Zone"
+msgstr "Zon"
+
+#: glade/pytrainer.ui:323
+#, fuzzy
+msgid "Heart rate"
+msgstr "Puls:"
+
+#: glade/pytrainer.ui:336 pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Stage Profile"
+msgstr "Etappprofil"
+
+#: glade/pytrainer.ui:339
+msgid "Stage Velocity"
+msgstr ""
+
+#: glade/pytrainer.ui:342
+#, fuzzy
+msgid "Stage Profile/velocity"
+msgstr "Etappprofil"
+
+#: glade/pytrainer.ui:446
msgid "_File"
msgstr "_Arkiv"
-#: glade/pytrainer.glade:39
+#: glade/pytrainer.ui:460
msgid "_Import"
msgstr "_Importera"
-#: glade/pytrainer.glade:60
+#: glade/pytrainer.ui:469
msgid "_Export as Text Separated by Commas"
msgstr "_Exportera som kommaseparerad textfil"
-#: glade/pytrainer.glade:94
+#: glade/pytrainer.ui:483
msgid "_Edit"
msgstr "_Redigera"
-#: glade/pytrainer.glade:114
+#: glade/pytrainer.ui:496
msgid "_View"
msgstr "_Visa"
-#: glade/pytrainer.glade:121
+#: glade/pytrainer.ui:503
msgid " _Classic View"
msgstr "_Klassisk vy"
-#: glade/pytrainer.glade:131
+#: glade/pytrainer.ui:512
msgid " _List View"
msgstr "_List vy"
-#: glade/pytrainer.glade:141
+#: glade/pytrainer.ui:521
msgid " _Waypoints Editor"
msgstr "_Koordinat vy"
-#: glade/pytrainer.glade:155
+#: glade/pytrainer.ui:529
msgid "Tools"
msgstr "Verktyg"
-#: glade/pytrainer.glade:172
+#: glade/pytrainer.ui:543
msgid "GPS Device Plugins"
msgstr "GPS Tillägg"
-#: glade/pytrainer.glade:185
+#: glade/pytrainer.ui:551
msgid "_Help"
msgstr "_Hjälp"
-#: glade/pytrainer.glade:290 glade/pytrainer.glade:6324
-msgid "All Sports"
-msgstr "Alla Aktiviteter"
+#: glade/pytrainer.ui:597 glade/pytrainer.ui:6728
+msgid "Columns"
+msgstr "Kolumner"
-#: glade/pytrainer.glade:396
+#: glade/pytrainer.ui:827
msgid "<b>Sport:</b>"
msgstr "<b>Aktivitet:</b>"
-#: glade/pytrainer.glade:408 glade/pytrainer.glade:3144
-#: glade/pytrainer.glade:3786 glade/pytrainer.glade:4440
-#: glade/pytrainer.glade:5170
+#: glade/pytrainer.ui:839 glade/pytrainer.ui:3532 glade/pytrainer.ui:4172
+#: glade/pytrainer.ui:4824 glade/pytrainer.ui:5552
msgid "<b>Duration:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:423 glade/pytrainer.glade:3234
-#: glade/pytrainer.glade:3865 glade/pytrainer.glade:4519
-#: glade/pytrainer.glade:5272
+#: glade/pytrainer.ui:854 glade/pytrainer.ui:3622 glade/pytrainer.ui:4251
+#: glade/pytrainer.ui:4903 glade/pytrainer.ui:5654
msgid "<b>Speed:</b>"
msgstr "<b>Hastighet:</b>"
-#: glade/pytrainer.glade:437 glade/pytrainer.glade:3402
-#: glade/pytrainer.glade:4060 glade/pytrainer.glade:4714
-#: glade/pytrainer.glade:5367
+#: glade/pytrainer.ui:868 glade/pytrainer.ui:3790 glade/pytrainer.ui:4446
+#: glade/pytrainer.ui:5098 glade/pytrainer.ui:5749
msgid "<b>Pace:</b>"
msgstr "<b>Tempo:</b>"
-#: glade/pytrainer.glade:451
+#: glade/pytrainer.ui:882
msgid "<b>Ascent:</b>"
msgstr "<b>Stigning:</b>"
-#: glade/pytrainer.glade:465
+#: glade/pytrainer.ui:896
msgid "<b>Calories:</b>"
msgstr "<b>Kalorier:</b>"
-#: glade/pytrainer.glade:479
+#: glade/pytrainer.ui:910
msgid "<b>Comments:</b>"
msgstr "<b>Kommentarer:</b>"
-#: glade/pytrainer.glade:614
+#: glade/pytrainer.ui:1045
msgid "<b>Date:</b>"
msgstr "<b>Datum:</b>"
-#: glade/pytrainer.glade:628 glade/pytrainer.glade:3130
-#: glade/pytrainer.glade:3772 glade/pytrainer.glade:4426
-#: glade/pytrainer.glade:5156
+#: glade/pytrainer.ui:1059 glade/pytrainer.ui:3518 glade/pytrainer.ui:4158
+#: glade/pytrainer.ui:4810 glade/pytrainer.ui:5538
msgid "<b>Distance:</b>"
msgstr "<b>Distans:</b>"
-#: glade/pytrainer.glade:645
+#: glade/pytrainer.ui:1076
msgid "<b>Max Speed</b>"
msgstr "<b>Maxhastighet</b>"
-#: glade/pytrainer.glade:661 glade/pytrainer.glade:3432
-#: glade/pytrainer.glade:4074 glade/pytrainer.glade:4728
-#: glade/pytrainer.glade:5382
+#: glade/pytrainer.ui:1092 glade/pytrainer.ui:3820 glade/pytrainer.ui:4460
+#: glade/pytrainer.ui:5112 glade/pytrainer.ui:5764
msgid "<b>Max Pace:</b>"
msgstr "<b>Maxtempo:</b>"
-#: glade/pytrainer.glade:677
+#: glade/pytrainer.ui:1108
msgid "<b>Descent:</b>"
msgstr "<b>Sluttning:</b>"
-#: glade/pytrainer.glade:769 glade/pytrainer.glade:3342
-#: glade/pytrainer.glade:3940 glade/pytrainer.glade:4594
-#: glade/pytrainer.glade:5082
+#: glade/pytrainer.ui:1200 glade/pytrainer.ui:3730 glade/pytrainer.ui:4326
+#: glade/pytrainer.ui:4978 glade/pytrainer.ui:5464
msgid "Cal"
msgstr "cal"
-#: glade/pytrainer.glade:809 glade/pytrainer.glade:3104
-#: glade/pytrainer.glade:3746 glade/pytrainer.glade:4400
-#: glade/pytrainer.glade:5259 pytrainer/gui/windowmain.py:109
+#: glade/pytrainer.ui:1240 glade/pytrainer.ui:3492 glade/pytrainer.ui:4132
+#: glade/pytrainer.ui:4784 glade/pytrainer.ui:5641
msgid "Km"
msgstr "Km"
-#: glade/pytrainer.glade:824 glade/pytrainer.glade:3264
-#: glade/pytrainer.glade:3297 glade/pytrainer.glade:3895
-#: glade/pytrainer.glade:3988 glade/pytrainer.glade:4549
-#: glade/pytrainer.glade:4642 glade/pytrainer.glade:5302
-#: glade/pytrainer.glade:5318 pytrainer/gui/windowmain.py:923
-#: pytrainer/gui/windowmain.py:924 pytrainer/gui/windowmain.py:1049
-#: pytrainer/gui/windowmain.py:1050 pytrainer/gui/windowmain.py:1131
-#: pytrainer/gui/windowmain.py:1132 pytrainer/gui/windowmain.py:1217
-#: pytrainer/gui/windowmain.py:1218 pytrainer/lib/activity.py:203
-#: pytrainer/lib/uc.py:20
+#: glade/pytrainer.ui:1255 glade/pytrainer.ui:3652 glade/pytrainer.ui:3685
+#: glade/pytrainer.ui:4281 glade/pytrainer.ui:4374 glade/pytrainer.ui:4933
+#: glade/pytrainer.ui:5026 glade/pytrainer.ui:5684 glade/pytrainer.ui:5700
+#: pytrainer/lib/uc.py:52
msgid "km/h"
msgstr "km/h"
-#: glade/pytrainer.glade:839
+#: glade/pytrainer.ui:1270
msgid "<b>Equipment:</b>"
msgstr "<b>Utrustning:</b>"
-#: glade/pytrainer.glade:935
+#: glade/pytrainer.ui:1366
#, fuzzy
msgid "<b>Active / Rest:</b>"
msgstr "<b>Stigning:</b>"
-#: glade/pytrainer.glade:962
+#: glade/pytrainer.ui:1393
msgid "h:m:s"
msgstr ""
-#: glade/pytrainer.glade:1007
+#: glade/pytrainer.ui:1438
#, fuzzy
msgid "<b>Laps</b>"
msgstr "<b>Graf</b>"
-#: glade/pytrainer.glade:1078
+#: glade/pytrainer.ui:1506
msgid " <b>Title:</b>"
msgstr " <b>Runda:</b>"
-#: glade/pytrainer.glade:1128 pytrainer/gui/windowmain.py:1743
+#: glade/pytrainer.ui:1552 pytrainer/gui/windowmain.py:1711
msgid "Show graph display options"
msgstr "Visa grafinställningar"
-#: glade/pytrainer.glade:1146
-msgid ""
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-"Percentage\n"
-"Zone"
-msgstr ""
-"Profil\n"
-"Hastighet\n"
-"Tempo\n"
-"Puls\n"
-"Kadens\n"
-"Procent\n"
-"Pulszone"
-
-#: glade/pytrainer.glade:1163 glade/pytrainer.glade:4311
-#: glade/pytrainer.glade:4965 glade/pytrainer.glade:5618
-#: glade/pytrainer.glade:5984
+#: glade/pytrainer.ui:1588 glade/pytrainer.ui:4697 glade/pytrainer.ui:5349
+#: glade/pytrainer.ui:6000 glade/pytrainer.ui:6350
msgid "Versus"
msgstr "Mot"
-#: glade/pytrainer.glade:1174
-msgid ""
-"None\n"
-"Profile\n"
-"Speed\n"
-"Pace\n"
-"Heart Rate\n"
-"Cadence\n"
-msgstr ""
-"Ingen\n"
-"Profil\n"
-"Hastighet\n"
-"Tempo\n"
-"Puls\n"
-"Kadens\n"
-
-#: glade/pytrainer.glade:1320
+#: glade/pytrainer.ui:1745
msgid "<small>Graph Display Options</small>"
msgstr "<small>Grafinställningar</small>"
-#: glade/pytrainer.glade:1345 glade/pytrainer.glade:1560
-#: glade/pytrainer.glade:1780
+#: glade/pytrainer.ui:1770 glade/pytrainer.ui:1982 glade/pytrainer.ui:2199
msgid "<small>Limits</small>"
msgstr "<small>Gränser</small>"
-#: glade/pytrainer.glade:1357 glade/pytrainer.glade:1572
-#: glade/pytrainer.glade:1826
+#: glade/pytrainer.ui:1782 glade/pytrainer.ui:1994 glade/pytrainer.ui:2245
msgid "<small>Min</small>"
msgstr "<small>Min</small>"
-#: glade/pytrainer.glade:1369 glade/pytrainer.glade:1584
-#: glade/pytrainer.glade:1838
+#: glade/pytrainer.ui:1794 glade/pytrainer.ui:2006 glade/pytrainer.ui:2257
msgid "<small>Max</small>"
msgstr "<small>Max</small>"
-#: glade/pytrainer.glade:1418 glade/pytrainer.glade:1640
+#: glade/pytrainer.ui:1843 glade/pytrainer.ui:2062
msgid "<small>Color</small>"
msgstr "<small>Färg</small>"
-#: glade/pytrainer.glade:1449 glade/pytrainer.glade:1653
+#: glade/pytrainer.ui:1874 glade/pytrainer.ui:2075
msgid "<small>Weight</small>"
msgstr "<small>Vikt</small>"
-#: glade/pytrainer.glade:1479
+#: glade/pytrainer.ui:1904
msgid "Y1"
msgstr ""
-#: glade/pytrainer.glade:1490 glade/pytrainer.glade:1701
+#: glade/pytrainer.ui:1915 glade/pytrainer.ui:2123
msgid "<small>Smoothing</small>"
msgstr "<small>Utjämna</small>"
-#: glade/pytrainer.glade:1630
+#: glade/pytrainer.ui:2052
msgid "Y2"
msgstr ""
-#: glade/pytrainer.glade:1770
+#: glade/pytrainer.ui:2189
msgid "X"
msgstr ""
-#: glade/pytrainer.glade:1851
+#: glade/pytrainer.ui:2270
msgid "<small>Distance</small>"
msgstr "<small>Distans</small>"
-#: glade/pytrainer.glade:1880
+#: glade/pytrainer.ui:2299
msgid "<small>Time</small>"
msgstr "<small>Tid</small>"
-#: glade/pytrainer.glade:1941
+#: glade/pytrainer.ui:2357
msgid "Show Laps"
msgstr "Visa Varv"
-#: glade/pytrainer.glade:1980
+#: glade/pytrainer.ui:2396
msgid "Reset Graph"
msgstr "Återställ Graf"
-#: glade/pytrainer.glade:2042
+#: glade/pytrainer.ui:2454
msgid "Redraw Map"
msgstr "Ritaom karta"
-#: glade/pytrainer.glade:2058
+#: glade/pytrainer.ui:2470
#, fuzzy
msgid "<small>Show:</small>"
msgstr "<small>Färg</small>"
-#: glade/pytrainer.glade:2069
-#, fuzzy
-msgid ""
-"None\n"
-"Speed\n"
-"Heart rate\n"
-"Cadence"
-msgstr ""
-"Ingen\n"
-"Profil\n"
-"Hastighet\n"
-"Tempo\n"
-"Puls\n"
-"Kadens\n"
-
-#: glade/pytrainer.glade:2084
+#: glade/pytrainer.ui:2500
msgid "<small>Display map using:</small>"
msgstr "<small>Visa kart m.h.a.:</small>"
-#: glade/pytrainer.glade:2185
+#: glade/pytrainer.ui:2597
msgid "<b>Beats:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:2197 glade/pytrainer.glade:3312
-#: glade/pytrainer.glade:3910 glade/pytrainer.glade:4564
-#: glade/pytrainer.glade:5052
+#: glade/pytrainer.ui:2609 glade/pytrainer.ui:3700 glade/pytrainer.ui:4296
+#: glade/pytrainer.ui:4948 glade/pytrainer.ui:5434
msgid "<b>Calories: </b>"
msgstr "<b>Kalorier: </b>"
-#: glade/pytrainer.glade:2211 glade/pytrainer.glade:3464
-#: glade/pytrainer.glade:4138 glade/pytrainer.glade:4792
-#: glade/pytrainer.glade:5430
+#: glade/pytrainer.ui:2623 glade/pytrainer.ui:3852 glade/pytrainer.ui:4524
+#: glade/pytrainer.ui:5176 glade/pytrainer.ui:5812
msgid "<b>Max Beats:</b>"
msgstr "<b>Maxpuls:</b>"
-#: glade/pytrainer.glade:2225
+#: glade/pytrainer.ui:2637
msgid "<b>HR Zones Method:</b>"
msgstr "<b>Pulszonsmetod:</b>"
-#: glade/pytrainer.glade:2240
+#: glade/pytrainer.ui:2652
msgid "<b>HR Zone5:</b>"
msgstr "<b>Pulszon 5:</b>"
-#: glade/pytrainer.glade:2255 glade/pytrainer.glade:2454
+#: glade/pytrainer.ui:2667 glade/pytrainer.ui:2866
msgid " bpm"
msgstr "slag/min"
-#: glade/pytrainer.glade:2271
+#: glade/pytrainer.ui:2683
msgid " Cal"
msgstr "cal"
-#: glade/pytrainer.glade:2329
+#: glade/pytrainer.ui:2741
msgid "<b>HR Zone4:</b>"
msgstr "<b>Pulszon 4:</b>"
-#: glade/pytrainer.glade:2345
+#: glade/pytrainer.ui:2757
msgid "<b>HR Zone3:</b>"
msgstr "<b>Pulszon 3:</b>"
-#: glade/pytrainer.glade:2361
+#: glade/pytrainer.ui:2773
msgid "<b>HR Zone2:</b>"
msgstr "<b>Pulszon 2:</b>"
-#: glade/pytrainer.glade:2377
+#: glade/pytrainer.ui:2789
msgid "<b>HR Zone1:</b>"
msgstr "<b>Pulszon 1:</b>"
-#: glade/pytrainer.glade:2479 glade/pytrainer.glade:2491
-#: glade/pytrainer.glade:2506 glade/pytrainer.glade:2521
-#: glade/pytrainer.glade:2536 glade/pytrainer.glade:3387
-#: glade/pytrainer.glade:3481 glade/pytrainer.glade:4045
-#: glade/pytrainer.glade:4123 glade/pytrainer.glade:4699
-#: glade/pytrainer.glade:4777 glade/pytrainer.glade:5127
-#: glade/pytrainer.glade:5334 pytrainer/lib/activity.py:445
-#: pytrainer/lib/activity.py:525
+#: glade/pytrainer.ui:2891 glade/pytrainer.ui:2903 glade/pytrainer.ui:2918
+#: glade/pytrainer.ui:2933 glade/pytrainer.ui:2948 glade/pytrainer.ui:3775
+#: glade/pytrainer.ui:3869 glade/pytrainer.ui:4431 glade/pytrainer.ui:4509
+#: glade/pytrainer.ui:5083 glade/pytrainer.ui:5161 glade/pytrainer.ui:5509
+#: glade/pytrainer.ui:5716 pytrainer/core/activity.py:470
+#: pytrainer/core/activity.py:548
msgid "bpm"
msgstr "slag/min"
-#: glade/pytrainer.glade:2581
+#: glade/pytrainer.ui:2993
msgid " <b>Heart Rate:</b>"
msgstr " <b>Puls:</b>"
-#: glade/pytrainer.glade:2769
+#: glade/pytrainer.ui:3169
#, fuzzy
msgid "<b>Projected times</b>"
msgstr "<b>Associerad utrustning</b>"
-#: glade/pytrainer.glade:2799
+#: glade/pytrainer.ui:3198
msgid "<i>Rank relative to same-sport activities for distances ± x%:</i>"
msgstr ""
-#: glade/pytrainer.glade:2832
+#: glade/pytrainer.ui:3231
#, fuzzy
msgid "<b>Range:</b>"
msgstr "<b>Tempo:</b>"
-#: glade/pytrainer.glade:2845
+#: glade/pytrainer.ui:3244
#, fuzzy
msgid "<b>Rank:</b>"
msgstr "<b>Huvud</b>"
-#: glade/pytrainer.glade:2858
+#: glade/pytrainer.ui:3257
#, fuzzy
msgid "<b>Speed: </b>"
msgstr "<b>Hastighet:</b>"
-#: glade/pytrainer.glade:2871
+#: glade/pytrainer.ui:3270
#, fuzzy
msgid "<b>Avg speed:</b>"
msgstr "<b>Hastighet:</b>"
-#: glade/pytrainer.glade:2884
+#: glade/pytrainer.ui:3283
#, fuzzy
msgid "<b>Standard deviation:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:2898
+#: glade/pytrainer.ui:3297
#, fuzzy
msgid "<b>Deviation:</b>"
msgstr "<b>Tid:</b>"
-#: glade/pytrainer.glade:3017
+#: glade/pytrainer.ui:3416
#, fuzzy
msgid "<b>Ranking</b>"
msgstr "<b>Huvud</b>"
-#: glade/pytrainer.glade:3043
+#: glade/pytrainer.ui:3439
#, fuzzy
msgid "<b>Analytics:</b>"
msgstr "<b>Puls:</b>"
-#: glade/pytrainer.glade:3071
+#: glade/pytrainer.ui:3460
msgid "Record"
msgstr "Pass"
-#: glade/pytrainer.glade:3280 glade/pytrainer.glade:3956
-#: glade/pytrainer.glade:4610 glade/pytrainer.glade:5350
+#: glade/pytrainer.ui:3668 glade/pytrainer.ui:4342 glade/pytrainer.ui:4994
+#: glade/pytrainer.ui:5732
msgid "<b>Max Speed:</b>"
msgstr "<b>Maxtempo:</b>"
-#: glade/pytrainer.glade:3357 glade/pytrainer.glade:4015
-#: glade/pytrainer.glade:4669 glade/pytrainer.glade:5097
+#: glade/pytrainer.ui:3745 glade/pytrainer.ui:4401 glade/pytrainer.ui:5053
+#: glade/pytrainer.ui:5479
msgid "<b>Beats avg:</b>"
msgstr "<b>Medelpuls:</b>"
-#: glade/pytrainer.glade:3417 glade/pytrainer.glade:3449
-#: glade/pytrainer.glade:4091 glade/pytrainer.glade:4107
-#: glade/pytrainer.glade:4745 glade/pytrainer.glade:4761
-#: glade/pytrainer.glade:5399 glade/pytrainer.glade:5415
-#: pytrainer/gui/windowmain.py:925 pytrainer/gui/windowmain.py:926
-#: pytrainer/gui/windowmain.py:1051 pytrainer/gui/windowmain.py:1052
-#: pytrainer/gui/windowmain.py:1133 pytrainer/gui/windowmain.py:1134
-#: pytrainer/gui/windowmain.py:1219 pytrainer/gui/windowmain.py:1220
-#: pytrainer/lib/activity.py:204 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3805 glade/pytrainer.ui:3837 glade/pytrainer.ui:4477
+#: glade/pytrainer.ui:4493 glade/pytrainer.ui:5129 glade/pytrainer.ui:5145
+#: glade/pytrainer.ui:5781 glade/pytrainer.ui:5797 pytrainer/lib/uc.py:53
msgid "min/km"
msgstr "min/km"
-#: glade/pytrainer.glade:3556 glade/pytrainer.glade:4199
-#: glade/pytrainer.glade:4853 glade/pytrainer.glade:5506
+#: glade/pytrainer.ui:3944 glade/pytrainer.ui:4585 glade/pytrainer.ui:5237
+#: glade/pytrainer.ui:5888
#, fuzzy
msgid "<b>Total Asc/Desc:</b>"
msgstr "<b>Titel:</b>"
-#: glade/pytrainer.glade:3583 glade/pytrainer.glade:4226
-#: glade/pytrainer.glade:4880 glade/pytrainer.glade:5533
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-#: pytrainer/lib/activity.py:205 pytrainer/lib/uc.py:21
+#: glade/pytrainer.ui:3971 glade/pytrainer.ui:4612 glade/pytrainer.ui:5264
+#: glade/pytrainer.ui:5915 pytrainer/gui/windowmain.py:2051
+#: pytrainer/gui/windowmain.py:2053 pytrainer/lib/uc.py:53
msgid "m"
msgstr "m"
-#: glade/pytrainer.glade:3602
+#: glade/pytrainer.ui:3990
msgid " <b>Date:</b>"
msgstr " <b>Datum:</b>"
-#: glade/pytrainer.glade:3645
+#: glade/pytrainer.ui:4030
msgid "Value"
msgstr "Värde"
-#: glade/pytrainer.glade:3656
-msgid ""
-"Stage Profile\n"
-"Stage Velocity\n"
-"Stage Profile/velocity"
-msgstr ""
-"Etappprofil\n"
-" EtappEtapphastighet\n"
-"Etappprofil/hastighet"
-
-#: glade/pytrainer.glade:3712
+#: glade/pytrainer.ui:4099
msgid "Day"
msgstr "Dag"
-#: glade/pytrainer.glade:4245
+#: glade/pytrainer.ui:4631
msgid " <b>Week:</b>"
msgstr "<b>Vecka:</b>"
-#: glade/pytrainer.glade:4296 glade/pytrainer.glade:4950
-#: glade/pytrainer.glade:5603 glade/pytrainer.glade:5969
-msgid ""
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Distans\n"
-"Tid\n"
-"Medelpuls\n"
-"Medelhastighet\n"
-"Kalorier"
-
-#: glade/pytrainer.glade:4322 glade/pytrainer.glade:4976
-#: glade/pytrainer.glade:5629 glade/pytrainer.glade:5995
-msgid ""
-"None\n"
-"Distance\n"
-"Time\n"
-"Average Heart Rate\n"
-"Average Speed\n"
-"Calories"
-msgstr ""
-"Ingen\n"
-"Distans\n"
-"Tid\n"
-"Medelpuls\n"
-"Medelhastighet\n"
-"Kalorier"
-
-#: glade/pytrainer.glade:4366
+#: glade/pytrainer.ui:4751
msgid "Week"
msgstr "Vecka"
-#: glade/pytrainer.glade:4899
+#: glade/pytrainer.ui:5283
msgid " <b>Month:</b>"
msgstr " <b>Månad:</b>"
-#: glade/pytrainer.glade:5019
+#: glade/pytrainer.ui:5402
msgid "Month"
msgstr "Månad"
-#: glade/pytrainer.glade:5552
+#: glade/pytrainer.ui:5934
msgid " <b>Year:</b>"
msgstr " <b>År:</b>"
-#: glade/pytrainer.glade:5672
+#: glade/pytrainer.ui:6053
msgid "Year"
msgstr "År"
-#: glade/pytrainer.glade:5826
+#: glade/pytrainer.ui:6203
msgid "<b>Graph</b>"
msgstr "<b>Graf</b>"
-#: glade/pytrainer.glade:5867
+#: glade/pytrainer.ui:6241
msgid "<b>History</b>"
msgstr "<b>Historia</b>"
-#: glade/pytrainer.glade:5937
+#: glade/pytrainer.ui:6303
#, fuzzy
msgid "<b>Sports</b>"
msgstr "<b>Aktivitet:</b>"
-#: glade/pytrainer.glade:6018
+#: glade/pytrainer.ui:6386
#, fuzzy
msgid "Total distance:"
msgstr "Sträcka per månad"
-#: glade/pytrainer.glade:6032
+#: glade/pytrainer.ui:6400
#, fuzzy
msgid "Total duration:"
msgstr "Tid:"
-#: glade/pytrainer.glade:6081
+#: glade/pytrainer.ui:6449
#, fuzzy
msgid "Start date:"
msgstr "Starttid:"
-#: glade/pytrainer.glade:6096
+#: glade/pytrainer.ui:6464
msgid "End date:"
msgstr ""
-#: glade/pytrainer.glade:6182
+#: glade/pytrainer.ui:6550
#, fuzzy
msgid "<b>All</b>"
msgstr "<b>Verktyg</b>"
-#: glade/pytrainer.glade:6208
+#: glade/pytrainer.ui:6570
msgid "Totals"
msgstr ""
-#: glade/pytrainer.glade:6246
+#: glade/pytrainer.ui:6604
msgid "<b>Title:</b>"
msgstr "<b>Titel:</b>"
-#: glade/pytrainer.glade:6269
+#: glade/pytrainer.ui:6627
msgid "Search"
msgstr "Sök"
-#: glade/pytrainer.glade:6293 pytrainer/lib/listview.py:3
-#: pytrainer/lib/listview.py:10
-msgid "All Distances"
-msgstr "Alla distanser"
-
-#: glade/pytrainer.glade:6302 pytrainer/lib/listview.py:35
-msgid "All Durations"
-msgstr "All varaktighet"
-
-#: glade/pytrainer.glade:6312
-msgid ""
-"All time\n"
-"Last 4 weeks\n"
-"Last 6 months\n"
-"Last 12 months"
-msgstr ""
-"All tid\n"
-"Senaste 4 veckorna\n"
-"Senaste 6 månaderna\n"
-"Senaste 12 månaderna"
-
-#: glade/pytrainer.glade:6349
-msgid "Columns"
-msgstr "Kolumner"
-
-#: glade/pytrainer.glade:6477
+#: glade/pytrainer.ui:6850
msgid "Type:"
msgstr "Typ:"
-#: glade/pytrainer.glade:6490
-msgid ""
-"Font\n"
-"Restaurant\n"
-"Scenic Area\n"
-"Summit"
-msgstr ""
-
-#: glade/pytrainer.glade:6506
+#: glade/pytrainer.ui:6883
msgid "Latitude: "
msgstr "Latitud:"
-#: glade/pytrainer.glade:6520
+#: glade/pytrainer.ui:6897
msgid " Name:"
msgstr "Namn:"
-#: glade/pytrainer.glade:6532
+#: glade/pytrainer.ui:6909
msgid "Longitude:"
msgstr "Longitud:"
-#: glade/pytrainer.glade:6624
+#: glade/pytrainer.ui:7001
msgid "<b> Waypoint: </b>"
msgstr "<b> Koordinat: </b>"
-#: glade/pytrainer.glade:6808
-msgid "Edit Record"
-msgstr "Ändra post"
-
-#: glade/pytrainer.glade:6822
-msgid "Show graph in classic view"
-msgstr "Visa graf i klassisk vy"
-
-#: glade/pytrainer.glade:6836
-msgid "Merge tracks"
-msgstr ""
-
-#: glade/selecttrackdialog.glade:7
+#: glade/selecttrackdialog.ui:7
msgid "Select track record"
msgstr ""
-#: glade/warning.glade:7 glade/warning.glade:38
-msgid "Warning"
-msgstr "Varning"
+#: extensions/fixelevation/fixelevation.py:129
+msgid "Elevation Correction Complete"
+msgstr ""
-#: pytrainer/gui/windowmain.py:107
-msgid "Miles"
-msgstr "Miles"
+#: extensions/gpx2garmin/gpx2garmin.py:50
+#, fuzzy
+msgid "gpx2garmin Extension"
+msgstr "Tillägg"
-#: pytrainer/gui/windowmain.py:110 pytrainer/gui/windowmain.py:114
-#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:130
-#: pytrainer/gui/windowmain.py:139 pytrainer/gui/windowmain.py:173
-#: pytrainer/gui/windowmain.py:182
-msgid "id"
-msgstr "id"
+#: extensions/openstreetmap/openstreetmap.py:82
+msgid ""
+"Posting GPX trace to Openstreetmap\n"
+"\n"
+"Please wait this could take several minutes"
+msgstr ""
-#: pytrainer/gui/windowmain.py:110
-msgid "Start"
-msgstr "Start"
+#: extensions/openstreetmap/openstreetmap.py:84
+msgid "Openstreetmap Extension Processing"
+msgstr ""
-#: pytrainer/gui/windowmain.py:117 pytrainer/gui/windowmain.py:157
-#: pytrainer/gui/windowmain.py:175 pytrainer/gui/windowmain.py:185
-#: pytrainer/gui/windowmain.py:574 pytrainer/gui/windowmain.py:1516
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:99
-#: pytrainer/gui/windowrecord.py:211 pytrainer/lib/activity.py:323
-#: pytrainer/lib/activity.py:334 pytrainer/lib/activity.py:406
-#: pytrainer/lib/activity.py:417 pytrainer/lib/activity.py:426
-#: pytrainer/lib/activity.py:435 pytrainer/lib/activity.py:444
-#: pytrainer/lib/activity.py:454 pytrainer/lib/activity.py:463
-#: pytrainer/lib/activity.py:524 pytrainer/extensions/googlemaps.py:132
-#: pytrainer/extensions/osm.py:105
-msgid "Distance"
-msgstr "Distans"
+#: extensions/openstreetmap/openstreetmap.py:102
+msgid "Openstreetmap Extension Upload Complete"
+msgstr ""
-#: pytrainer/gui/windowmain.py:119 pytrainer/gui/windowmain.py:158
-#: pytrainer/gui/windowmain.py:176 pytrainer/gui/windowmain.py:186
-#: pytrainer/gui/windowmain.py:575 pytrainer/gui/windowmain.py:1518
-#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
-msgid "Time"
-msgstr "Tid"
+#: extensions/openstreetmap/openstreetmap.py:107
+msgid "Error while uploading file to OSM: "
+msgstr ""
-#: pytrainer/gui/windowmain.py:120
-msgid "⌀ HR"
-msgstr "⌀ Puls"
+#: extensions/openstreetmap/openstreetmap.py:109
+msgid "Openstreetmap Extension Error"
+msgstr ""
-#: pytrainer/gui/windowmain.py:121
-msgid "⌀ Speed"
-msgstr "⌀ Hastighet"
+#: extensions/openstreetmap/openstreetmap.py:117
+msgid "Please add any additional information for this upload"
+msgstr ""
-#: pytrainer/gui/windowmain.py:127
-msgid "Waypoint"
-msgstr "Koordinat"
+#: extensions/openstreetmap/openstreetmap.py:247
+msgid "Error while saving extension configuration"
+msgstr ""
-#: pytrainer/gui/windowmain.py:132
-msgid "Weight"
-msgstr "Vikt"
+#: extensions/stravaupload/stravaupload.py:161
+msgid "Strava Upload"
+msgstr ""
-#: pytrainer/gui/windowmain.py:133
-msgid "Body Fat %"
-msgstr "% Kroppsfett"
+#: extensions/wordpress/wordpress.py:48
+msgid "Posting to Wordpress blog"
+msgstr ""
-#: pytrainer/gui/windowmain.py:134
-msgid "Resting HR"
-msgstr "Vilopuls"
+#: extensions/wordpress/wordpress.py:50
+msgid "Wordpress Extension Processing"
+msgstr ""
-#: pytrainer/gui/windowmain.py:135 pytrainer/gui/windowmain.py:147
-#: pytrainer/gui/windowmain.py:164
-msgid "Max HR"
-msgstr "Maxpuls"
+#: extensions/wordpress/wordpress.py:146
+msgid "Wordpress Extension Upload Complete"
+msgstr ""
-#: pytrainer/gui/windowmain.py:141
-#, fuzzy
-msgid "Records"
-msgstr "Pass"
+#: imports/file_garmintcxv1.py:45
+msgid "Garmin training center database file version 1"
+msgstr ""
-#: pytrainer/gui/windowmain.py:142
-#, fuzzy
-msgid "Total duration"
-msgstr "All varaktighet"
+#: imports/file_garmintcxv2.py:46
+msgid "Garmin training center database file version 2"
+msgstr ""
-#: pytrainer/gui/windowmain.py:143
-#, fuzzy
-msgid "Total distance"
-msgstr "Sträcka per månad"
+#: imports/file_garmintools.py:44
+msgid "Garmin tools dump file"
+msgstr ""
-#: pytrainer/gui/windowmain.py:144 pytrainer/gui/windowmain.py:159
-msgid "Avg speed"
+#: imports/file_gpxplusNokia.py:41
+msgid "Nokia Export - GPS eXchange file"
msgstr ""
-#: pytrainer/gui/windowmain.py:145 pytrainer/gui/windowmain.py:160
-#, fuzzy
-msgid "Max speed"
-msgstr "Maxhastighet (km/h)"
+#: imports/file_kml20.py:45
+msgid "Geodistance kml version 2.0 file"
+msgstr ""
-#: pytrainer/gui/windowmain.py:146 pytrainer/gui/windowmain.py:163
-msgid "Avg HR"
+#: imports/tool_gant.py:34
+msgid "Gant"
msgstr ""
-#: pytrainer/gui/windowmain.py:148
-#, fuzzy
-msgid "Max duration"
-msgstr "Varaktighet"
-
-#: pytrainer/gui/windowmain.py:149
-#, fuzzy
-msgid "Max distance"
-msgstr "Distans"
-
-#: pytrainer/gui/windowmain.py:155
-#, fuzzy
-msgid "Lap"
-msgstr "Varv"
-
-#: pytrainer/gui/windowmain.py:156
-msgid "Trigger"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:161
-msgid "Avg pace"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:162
-msgid "Max pace"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:166
-msgid "Intensity"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:174
-msgid "Race"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:183
-msgid "Rank"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:187 pytrainer/recordgraph.py:136
-#: pytrainer/lib/activity.py:335 pytrainer/lib/activity.py:425
-#: pytrainer/lib/activity.py:427
-msgid "Speed"
-msgstr "Hastighet"
-
-#: pytrainer/gui/windowmain.py:188 pytrainer/gui/windowrecord.py:103
-#: pytrainer/recordgraph.py:138 pytrainer/lib/activity.py:324
-#: pytrainer/lib/activity.py:434 pytrainer/lib/activity.py:436
-msgid "Pace"
-msgstr "Tempo"
-
-#: pytrainer/gui/windowmain.py:320
-#, fuzzy
-msgid "d"
-msgstr "id"
-
-#: pytrainer/gui/windowmain.py:564
-msgid "Show on X Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:565
-msgid "Show on Y1 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:566
-msgid "Show on Y2 Axis"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:567
-#, fuzzy
-msgid "Axis Limits"
-msgstr "Återställ gränser"
-
-#: pytrainer/gui/windowmain.py:576
-msgid "Laps"
-msgstr "Varv"
-
-#: pytrainer/gui/windowmain.py:577
-msgid "Left Axis Grid"
-msgstr "Vänster axel skala"
-
-#: pytrainer/gui/windowmain.py:578
-msgid "Right Axis Grid"
-msgstr "Höger axel skala"
-
-#: pytrainer/gui/windowmain.py:579
-msgid "X Axis Grid"
-msgstr "X-axel skala"
-
-#: pytrainer/gui/windowmain.py:640
-msgid "Reset Limits"
-msgstr "Återställ gränser"
-
-#: pytrainer/gui/windowmain.py:642
-msgid "Set Limits"
-msgstr "Sätt gränser"
-
-#: pytrainer/gui/windowmain.py:797
-msgid "Percentages method"
-msgstr "Procent"
-
-#: pytrainer/gui/windowmain.py:810
-msgid "800 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:811
-msgid "1500 m"
-msgstr ""
-
-#: pytrainer/gui/windowmain.py:812
-msgid "5K"
+#: imports/tool_garmintools.py:34
+msgid "Garmintools"
msgstr ""
-#: pytrainer/gui/windowmain.py:813
-msgid "7K"
+#: imports/tool_gpsbabel.py:34
+msgid "GPSBabel"
msgstr ""
-#: pytrainer/gui/windowmain.py:814
-msgid "10K"
+#: imports/file_gpxplus.py:41
+msgid "GPS eXchange file"
msgstr ""
-#: pytrainer/gui/windowmain.py:815
-msgid "Half marathon"
-msgstr ""
+#: pytrainer/core/activity.py:379
+msgid "Pace by Lap"
+msgstr "Varvtid"
-#: pytrainer/gui/windowmain.py:816
-msgid "Marathon"
-msgstr ""
+#: pytrainer/core/activity.py:385 pytrainer/core/activity.py:396
+#: pytrainer/core/activity.py:436 pytrainer/core/activity.py:446
+#: pytrainer/core/activity.py:455 pytrainer/core/activity.py:464
+#: pytrainer/core/activity.py:473 pytrainer/core/activity.py:483
+#: pytrainer/core/activity.py:492 pytrainer/core/activity.py:552
+msgid "Time (seconds)"
+msgstr "Tid (sekunder)"
-#: pytrainer/gui/windowmain.py:817
-msgid "100K"
-msgstr ""
+#: pytrainer/core/activity.py:390
+msgid "Speed by Lap"
+msgstr "Hastighet per varv"
-#: pytrainer/gui/windowmain.py:916 pytrainer/gui/windowmain.py:1042
-#: pytrainer/gui/windowmain.py:1124 pytrainer/gui/windowmain.py:1210
-#: pytrainer/lib/activity.py:197
-msgid "miles"
-msgstr "miles"
-
-#: pytrainer/gui/windowmain.py:917 pytrainer/gui/windowmain.py:918
-#: pytrainer/gui/windowmain.py:1043 pytrainer/gui/windowmain.py:1044
-#: pytrainer/gui/windowmain.py:1125 pytrainer/gui/windowmain.py:1126
-#: pytrainer/gui/windowmain.py:1211 pytrainer/gui/windowmain.py:1212
-#: pytrainer/lib/activity.py:198
-msgid "miles/h"
-msgstr "miles/h"
-
-#: pytrainer/gui/windowmain.py:919 pytrainer/gui/windowmain.py:920
-#: pytrainer/gui/windowmain.py:1045 pytrainer/gui/windowmain.py:1046
-#: pytrainer/gui/windowmain.py:1127 pytrainer/gui/windowmain.py:1128
-#: pytrainer/gui/windowmain.py:1213 pytrainer/gui/windowmain.py:1214
-#: pytrainer/lib/activity.py:199
-msgid "min/mile"
-msgstr "min/mile"
+#: pytrainer/core/activity.py:430 pytrainer/core/activity.py:432
+msgid "Elevation"
+msgstr "Höjd över havet"
-#: pytrainer/gui/windowmain.py:922 pytrainer/gui/windowmain.py:1048
-#: pytrainer/gui/windowmain.py:1130 pytrainer/gui/windowmain.py:1216
-#: pytrainer/lib/activity.py:202 pytrainer/lib/uc.py:20
-msgid "km"
-msgstr "km"
+#: pytrainer/core/activity.py:441 pytrainer/core/activity.py:443
+msgid "Corrected Elevation"
+msgstr "Korrigerad höjd över havet"
-#: pytrainer/gui/windowmain.py:1519 pytrainer/recordgraph.py:144
-msgid "Beats"
-msgstr "Puls"
+#: pytrainer/core/activity.py:478
+#, python-format
+msgid "Heart Rate (% of max)"
+msgstr "Puls (% of max)"
-#: pytrainer/gui/windowmain.py:1520 pytrainer/gui/windowrecord.py:101
-msgid "Average"
-msgstr "Medel"
+#: pytrainer/core/activity.py:480
+msgid "%"
+msgstr "%"
-#: pytrainer/gui/windowmain.py:1739
-msgid "Hide graph display options"
-msgstr "Dölj grafinställningar"
+#: pytrainer/core/activity.py:489
+msgid "rpm"
+msgstr "varv per minut"
-#: pytrainer/gui/windowmain.py:2077
-msgid "lap"
-msgstr "varv"
+#: pytrainer/core/activity.py:546
+msgid "Heart Rate zone"
+msgstr "Pulszon"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/drawArea.py:165
-#: pytrainer/extensions/googlemaps.py:130 pytrainer/extensions/osm.py:102
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:165 pytrainer/gui/windowmain.py:2051
msgid "h"
msgstr "h"
-#: pytrainer/gui/windowmain.py:2087 pytrainer/gui/windowmain.py:2089
-msgid "s"
-msgstr "s"
+#: pytrainer/extensions/googlemaps.py:132 pytrainer/extensions/osm.py:104
+#: pytrainer/gui/drawArea.py:166
+msgid "min"
+msgstr "min"
-#: pytrainer/gui/windowmain.py:2177 pytrainer/record.py:67
-msgid "Edit Entry"
-msgstr "Ändra inmatning"
+#: pytrainer/gui/drawGraph.py:172
+msgid "Athlete Data"
+msgstr "Användar data"
-#: pytrainer/gui/windowmain.py:2188
-msgid "Delete Entry"
-msgstr "Radera inmatning"
+#: pytrainer/gui/dialogselecttrack.py:38
+msgid "Track Name"
+msgstr ""
-#: pytrainer/gui/windowmain.py:2212
-msgid "Create Athlete Entry"
-msgstr "Skapa användar notering"
+#: pytrainer/gui/drawArea.py:410
+msgid "rest"
+msgstr "vila"
-#: pytrainer/gui/windowmain.py:2216
-msgid "Edit Athlete Entry"
+#: pytrainer/gui/equipment.py:101
+msgid "Usage"
msgstr ""
-#: pytrainer/gui/windowmain.py:2229
-#, fuzzy
-msgid "<b>Date</b>"
-msgstr "<b>Datum:</b>"
-
-#: pytrainer/gui/windowmain.py:2245
-#, fuzzy
-msgid "<b>Weight</b>"
-msgstr "<b>Vecka:</b>"
+#: pytrainer/gui/popupmenu.py:27
+msgid "Edit Record"
+msgstr "Ändra post"
-#: pytrainer/gui/windowmain.py:2253
-#, fuzzy
-msgid "<b>Body Fat</b>"
-msgstr "<b>Puls:</b>"
+#: pytrainer/gui/popupmenu.py:31
+msgid "Show graph in classic view"
+msgstr "Visa graf i klassisk vy"
-#: pytrainer/gui/windowmain.py:2261
-#, fuzzy
-msgid "<b>Resting Heart Rate</b>"
-msgstr "<b>Hjärtfrekvens</b>"
+#: pytrainer/gui/windowextensions.py:67 pytrainer/gui/windowimportdata.py:546
+#: pytrainer/gui/windowplugins.py:68 pytrainer/gui/windowplugins.py:92
+msgid "Disable"
+msgstr "Avaktivera"
-#: pytrainer/gui/windowmain.py:2269
-#, fuzzy
-msgid "<b>Max Heart Rate</b>"
-msgstr "<b>Hjärtfrekvens</b>"
+#: pytrainer/gui/windowextensions.py:69 pytrainer/gui/windowimportdata.py:547
+#: pytrainer/gui/windowplugins.py:66 pytrainer/gui/windowplugins.py:93
+msgid "Enable"
+msgstr "Aktivera"
-#: pytrainer/gui/windowmain.py:2297 pytrainer/main.py:454
-msgid "Delete this database entry?"
-msgstr "Radera denna inmatning"
+#: pytrainer/gui/windowextensions.py:78 pytrainer/gui/windowimportdata.py:531
+#: pytrainer/gui/windowplugins.py:77
+#, python-format
+msgid "%s settings"
+msgstr "%s inställningar"
-#: pytrainer/gui/windowmain.py:2299
-msgid "Are you sure?"
-msgstr "Är du säker?"
+#: pytrainer/gui/windowextensions.py:109 pytrainer/gui/windowextensions.py:122
+msgid "OK"
+msgstr "OK"
-#: pytrainer/gui/windowimportdata.py:99
+#: pytrainer/gui/windowimportdata.py:96
msgid "No file selected"
msgstr "Ingen fil vald"
-#: pytrainer/gui/windowimportdata.py:144
+#: pytrainer/gui/windowimportdata.py:141
msgid "Configure"
msgstr "Konfigurera"
-#: pytrainer/gui/windowimportdata.py:150
+#: pytrainer/gui/windowimportdata.py:147
msgid "Disabled"
msgstr "Avaktiverad"
-#: pytrainer/gui/windowimportdata.py:152
+#: pytrainer/gui/windowimportdata.py:149
msgid "Enabled"
msgstr "Aktiverad"
-#: pytrainer/gui/windowimportdata.py:204
+#: pytrainer/gui/windowimportdata.py:201
msgid "Checking for tools"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:231
+#: pytrainer/gui/windowimportdata.py:228
msgid "GPS device found"
msgstr "GPS enhet hittad"
-#: pytrainer/gui/windowimportdata.py:234
+#: pytrainer/gui/windowimportdata.py:231
msgid "GPS device <b>not</b> found"
msgstr "GPS enhet <b>ej</b> hittad"
-#: pytrainer/gui/windowimportdata.py:241
+#: pytrainer/gui/windowimportdata.py:238
msgid "This tool was not found on the system"
msgstr "Detta verktyg hittades inte på systemet"
-#: pytrainer/gui/windowimportdata.py:243
+#: pytrainer/gui/windowimportdata.py:240
msgid " Homepage"
msgstr " Hemsida"
-#: pytrainer/gui/windowimportdata.py:263
+#: pytrainer/gui/windowimportdata.py:260
msgid "Checking file type for: "
msgstr ""
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "File"
msgstr "Fil"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Type"
msgstr "Typ"
-#: pytrainer/gui/windowimportdata.py:296
+#: pytrainer/gui/windowimportdata.py:293
msgid "Activities"
msgstr "Aktiviteter"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Start Time"
msgstr "Starttid"
-#: pytrainer/gui/windowimportdata.py:331 pytrainer/gui/windowrecord.py:211
+#: pytrainer/gui/windowimportdata.py:328 pytrainer/gui/windowrecord.py:204
msgid "Duration"
msgstr "Varaktighet"
-#: pytrainer/gui/windowimportdata.py:486
+#: pytrainer/gui/windowimportdata.py:483
msgid "Imported into database"
msgstr "Importerad till databas"
-#: pytrainer/gui/windowimportdata.py:534 pytrainer/gui/windowextensions.py:81
-#: pytrainer/gui/windowplugins.py:80
-#, python-format
-msgid "%s settings"
-msgstr "%s inställningar"
-
-#: pytrainer/gui/windowimportdata.py:549 pytrainer/gui/windowextensions.py:70
-#: pytrainer/gui/windowplugins.py:71 pytrainer/gui/windowplugins.py:95
-msgid "Disable"
-msgstr "Avaktivera"
-
-#: pytrainer/gui/windowimportdata.py:550 pytrainer/gui/windowextensions.py:72
-#: pytrainer/gui/windowplugins.py:69 pytrainer/gui/windowplugins.py:96
-msgid "Enable"
-msgstr "Aktivera"
-
-#: pytrainer/gui/windowimportdata.py:557 pytrainer/gui/windowplugins.py:103
+#: pytrainer/gui/windowimportdata.py:554 pytrainer/gui/windowplugins.py:100
msgid "Ok"
msgstr "Ok"
-#: pytrainer/gui/windowimportdata.py:609
+#: pytrainer/gui/windowimportdata.py:606
msgid "Saving options"
msgstr "Sparar inställningar"
-#: pytrainer/gui/windowimportdata.py:611
+#: pytrainer/gui/windowimportdata.py:608
msgid "Options saved"
msgstr "Inställningar sparade"
-#: pytrainer/gui/windowimportdata.py:637
+#: pytrainer/gui/windowimportdata.py:634
msgid "Importing one activity"
msgstr "Importerar en aktivitet"
-#: pytrainer/gui/windowimportdata.py:639
+#: pytrainer/gui/windowimportdata.py:636
#, python-format
msgid "Importing %d activities"
msgstr "Importerar %d aktiviteter"
-#: pytrainer/gui/windowimportdata.py:647
+#: pytrainer/gui/windowimportdata.py:644
msgid "No activity has been imported"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:649
+#: pytrainer/gui/windowimportdata.py:646
msgid "Imported one activity"
msgstr "Importerade en aktivitet"
-#: pytrainer/gui/windowimportdata.py:651
+#: pytrainer/gui/windowimportdata.py:648
#, python-format
msgid "Imported %d activities"
msgstr "Importerade %d aktiviteter"
-#: pytrainer/gui/windowimportdata.py:655
+#: pytrainer/gui/windowimportdata.py:652
msgid " Activity selected was already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:657
+#: pytrainer/gui/windowimportdata.py:654
#, python-format
msgid " %d selected activities were already present in DB"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:665
+#: pytrainer/gui/windowimportdata.py:662
msgid "Choose a file (or files) to import activities from"
msgstr "Välj en eller flera filer att importera aktivitet(er) från"
-#: pytrainer/gui/windowimportdata.py:680
+#: pytrainer/gui/windowimportdata.py:677
#, python-format
msgid "Found file of type: %s"
msgstr "Hittade fil av typen: %s"
-#: pytrainer/gui/windowimportdata.py:705
+#: pytrainer/gui/windowimportdata.py:702
msgid "Found in database"
msgstr "Hittades i databasen"
-#: pytrainer/gui/windowimportdata.py:723
+#: pytrainer/gui/windowimportdata.py:720
#, python-format
msgid "File %s is of unknown or unsupported file type"
msgstr "Filen %s är av en okänd filtyp"
-#: pytrainer/gui/windowimportdata.py:760
+#: pytrainer/gui/windowimportdata.py:757
#, fuzzy
msgid "Got file: "
msgstr "GPX fil:"
-#: pytrainer/gui/windowimportdata.py:797
+#: pytrainer/gui/windowimportdata.py:794
#, python-format
msgid "Column %d"
msgstr "Kolumn %d"
-#: pytrainer/gui/windowimportdata.py:854
+#: pytrainer/gui/windowimportdata.py:851
msgid "ERROR: Must define at least a date column"
msgstr ""
-#: pytrainer/gui/windowimportdata.py:986
+#: pytrainer/gui/windowimportdata.py:983
#, python-format
msgid "Import completed. %d rows processed"
msgstr ""
-#: pytrainer/gui/drawArea.py:166 pytrainer/extensions/googlemaps.py:130
-#: pytrainer/extensions/osm.py:102
-msgid "min"
-msgstr "min"
+#: pytrainer/gui/windowmain.py:98 pytrainer/gui/windowmain.py:102
+#: pytrainer/gui/windowmain.py:115 pytrainer/gui/windowmain.py:118
+#: pytrainer/gui/windowmain.py:127 pytrainer/gui/windowmain.py:161
+#: pytrainer/gui/windowmain.py:170
+msgid "id"
+msgstr "id"
-#: pytrainer/gui/drawArea.py:410
-msgid "rest"
-msgstr "vila"
+#: pytrainer/gui/windowmain.py:98
+msgid "Start"
+msgstr "Start"
-#: pytrainer/gui/windowrecord.py:100 pytrainer/gui/windowrecord.py:102
-#, fuzzy
-msgid "Max"
-msgstr "Maxpuls"
+#: pytrainer/gui/windowmain.py:108
+msgid "⌀ HR"
+msgstr "⌀ Puls"
-#: pytrainer/gui/windowrecord.py:104
-#, fuzzy
-msgid "Ascent"
-msgstr "Stigning:"
+#: pytrainer/gui/windowmain.py:109
+msgid "⌀ Speed"
+msgstr "⌀ Hastighet"
-#: pytrainer/gui/windowrecord.py:105
-#, fuzzy
-msgid "Descent"
-msgstr "Sluttning:"
+#: pytrainer/gui/windowmain.py:115
+msgid "Waypoint"
+msgstr "Koordinat"
-#: pytrainer/gui/windowrecord.py:211
-msgid "GPX File"
-msgstr "GPX Fil"
+#: pytrainer/gui/windowmain.py:120
+msgid "Weight"
+msgstr "Vikt"
-#: pytrainer/gui/windowprofile.py:47
-msgid "Male"
-msgstr "Man"
+#: pytrainer/gui/windowmain.py:121
+msgid "Body Fat %"
+msgstr "% Kroppsfett"
-#: pytrainer/gui/windowprofile.py:48
-msgid "Female"
-msgstr "Kvinna"
+#: pytrainer/gui/windowmain.py:122
+msgid "Resting HR"
+msgstr "Vilopuls"
-#: pytrainer/gui/windowprofile.py:65
-msgid "MET"
-msgstr ""
+#: pytrainer/gui/windowmain.py:123 pytrainer/gui/windowmain.py:135
+#: pytrainer/gui/windowmain.py:152
+msgid "Max HR"
+msgstr "Maxpuls"
-#: pytrainer/gui/windowprofile.py:296
-msgid "Sport Creation Error"
-msgstr ""
+#: pytrainer/gui/windowmain.py:129
+#, fuzzy
+msgid "Records"
+msgstr "Pass"
-#: pytrainer/gui/equipment.py:101
-msgid "Usage"
-msgstr ""
+#: pytrainer/gui/windowmain.py:130
+#, fuzzy
+msgid "Total duration"
+msgstr "All varaktighet"
-#: pytrainer/gui/dialogselecttrack.py:40
-msgid "Track Name"
+#: pytrainer/gui/windowmain.py:131
+#, fuzzy
+msgid "Total distance"
+msgstr "Sträcka per månad"
+
+#: pytrainer/gui/windowmain.py:132 pytrainer/gui/windowmain.py:147
+msgid "Avg speed"
msgstr ""
-#: pytrainer/gui/drawGraph.py:170
-msgid "Athlete Data"
-msgstr "Användar data"
+#: pytrainer/gui/windowmain.py:133 pytrainer/gui/windowmain.py:148
+#, fuzzy
+msgid "Max speed"
+msgstr "Maxhastighet (km/h)"
-#: pytrainer/gui/windowextensions.py:112 pytrainer/gui/windowextensions.py:125
-msgid "OK"
-msgstr "OK"
+#: pytrainer/gui/windowmain.py:134 pytrainer/gui/windowmain.py:151
+msgid "Avg HR"
+msgstr ""
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Height (m)"
-msgstr "Höjd (m)"
+#: pytrainer/gui/windowmain.py:136
+#, fuzzy
+msgid "Max duration"
+msgstr "Varaktighet"
-#: pytrainer/recordgraph.py:134 pytrainer/daygraph.py:52
-msgid "Stage Profile"
-msgstr "Etappprofil"
+#: pytrainer/gui/windowmain.py:137
+#, fuzzy
+msgid "Max distance"
+msgstr "Distans"
-#: pytrainer/recordgraph.py:136
-msgid "Speed (Km/h)"
-msgstr "Hastighet (Km/h)"
+#: pytrainer/gui/windowmain.py:143
+#, fuzzy
+msgid "Lap"
+msgstr "Varv"
-#: pytrainer/recordgraph.py:140 pytrainer/heartrategraph.py:36
-#: pytrainer/daygraph.py:56
-msgid "Beats (bpm)"
-msgstr "Puls (slag/min)"
+#: pytrainer/gui/windowmain.py:144
+msgid "Trigger"
+msgstr ""
-#: pytrainer/recordgraph.py:142
-msgid "Cadence (rpm)"
-msgstr "Kadens (varv/min)"
+#: pytrainer/gui/windowmain.py:149
+msgid "Avg pace"
+msgstr ""
-#: pytrainer/recordgraph.py:142 pytrainer/lib/activity.py:462
-#: pytrainer/lib/activity.py:464
-msgid "Cadence"
-msgstr "Kadens"
+#: pytrainer/gui/windowmain.py:150
+msgid "Max pace"
+msgstr ""
-#: pytrainer/recordgraph.py:144
-msgid "Beats (%)"
-msgstr "Puls (%)"
+#: pytrainer/gui/windowmain.py:154
+msgid "Intensity"
+msgstr ""
-#: pytrainer/recordgraph.py:146
-msgid "Zone"
-msgstr "Zon"
+#: pytrainer/gui/windowmain.py:162
+msgid "Race"
+msgstr ""
-#: pytrainer/profile.py:114
-msgid "Moderate activity"
-msgstr "Mycket lätt träning"
+#: pytrainer/gui/windowmain.py:171
+msgid "Rank"
+msgstr ""
-#: pytrainer/profile.py:115
-msgid "Weight Control"
-msgstr "Lätt träning"
+#: pytrainer/gui/windowmain.py:290
+msgid "Webkit not found, map functionality not available"
+msgstr ""
-#: pytrainer/profile.py:116
-msgid "Aerobic"
-msgstr "Medelintensiv träning"
+#: pytrainer/gui/windowmain.py:323
+#, fuzzy
+msgid "d"
+msgstr "id"
-#: pytrainer/profile.py:117
-msgid "Anaerobic"
-msgstr "Hård träning"
+#: pytrainer/gui/windowmain.py:569
+msgid "Show on X Axis"
+msgstr ""
-#: pytrainer/profile.py:118
-msgid "VO2 MAX"
-msgstr "Högintensiv träning"
+#: pytrainer/gui/windowmain.py:570
+msgid "Show on Y1 Axis"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:571
+msgid "Show on Y2 Axis"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:572
+#, fuzzy
+msgid "Axis Limits"
+msgstr "Återställ gränser"
+
+#: pytrainer/gui/windowmain.py:581
+msgid "Laps"
+msgstr "Varv"
+
+#: pytrainer/gui/windowmain.py:582
+msgid "Left Axis Grid"
+msgstr "Vänster axel skala"
+
+#: pytrainer/gui/windowmain.py:583
+msgid "Right Axis Grid"
+msgstr "Höger axel skala"
+
+#: pytrainer/gui/windowmain.py:584
+msgid "X Axis Grid"
+msgstr "X-axel skala"
+
+#: pytrainer/gui/windowmain.py:645
+msgid "Reset Limits"
+msgstr "Återställ gränser"
+
+#: pytrainer/gui/windowmain.py:647
+msgid "Set Limits"
+msgstr "Sätt gränser"
+
+#: pytrainer/gui/windowmain.py:802
+msgid "Percentages method"
+msgstr "Procent"
+
+#: pytrainer/gui/windowmain.py:815
+msgid "800 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:816
+msgid "1500 m"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:817
+msgid "5K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:818
+msgid "7K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:819
+msgid "10K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:820
+msgid "Half marathon"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:821
+msgid "Marathon"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:822
+msgid "100K"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:1490 pytrainer/recordgraph.py:144
+msgid "Beats"
+msgstr "Puls"
+
+#: pytrainer/gui/windowmain.py:1491 pytrainer/gui/windowrecord.py:94
+msgid "Average"
+msgstr "Medel"
+
+#: pytrainer/gui/windowmain.py:1707
+msgid "Hide graph display options"
+msgstr "Dölj grafinställningar"
+
+#: pytrainer/gui/windowmain.py:2044
+msgid "lap"
+msgstr "varv"
+
+#: pytrainer/gui/windowmain.py:2051 pytrainer/gui/windowmain.py:2053
+msgid "s"
+msgstr "s"
+
+#: pytrainer/gui/windowmain.py:2141 pytrainer/record.py:66
+msgid "Edit Entry"
+msgstr "Ändra inmatning"
+
+#: pytrainer/gui/windowmain.py:2152
+msgid "Delete Entry"
+msgstr "Radera inmatning"
+
+#: pytrainer/gui/windowmain.py:2176
+msgid "Create Athlete Entry"
+msgstr "Skapa användar notering"
+
+#: pytrainer/gui/windowmain.py:2180
+msgid "Edit Athlete Entry"
+msgstr ""
+
+#: pytrainer/gui/windowmain.py:2193
+#, fuzzy
+msgid "<b>Date</b>"
+msgstr "<b>Datum:</b>"
+
+#: pytrainer/gui/windowmain.py:2209
+#, fuzzy
+msgid "<b>Weight</b>"
+msgstr "<b>Vecka:</b>"
+
+#: pytrainer/gui/windowmain.py:2217
+#, fuzzy
+msgid "<b>Body Fat</b>"
+msgstr "<b>Puls:</b>"
+
+#: pytrainer/gui/windowmain.py:2225
+#, fuzzy
+msgid "<b>Resting Heart Rate</b>"
+msgstr "<b>Hjärtfrekvens</b>"
+
+#: pytrainer/gui/windowmain.py:2233
+#, fuzzy
+msgid "<b>Max Heart Rate</b>"
+msgstr "<b>Hjärtfrekvens</b>"
+
+#: pytrainer/gui/windowmain.py:2261 pytrainer/main.py:484
+msgid "Delete this database entry?"
+msgstr "Radera denna inmatning"
+
+#: pytrainer/gui/windowmain.py:2263
+msgid "Are you sure?"
+msgstr "Är du säker?"
+
+#: pytrainer/gui/windowprofile.py:45
+msgid "Male"
+msgstr "Man"
+
+#: pytrainer/gui/windowprofile.py:46
+msgid "Female"
+msgstr "Kvinna"
+
+#: pytrainer/gui/windowprofile.py:63
+msgid "MET"
+msgstr ""
+
+#: pytrainer/gui/windowprofile.py:319
+msgid "Sport Creation Error"
+msgstr ""
+
+#: pytrainer/gui/windowrecord.py:93 pytrainer/gui/windowrecord.py:95
+#, fuzzy
+msgid "Max"
+msgstr "Maxpuls"
+
+#: pytrainer/gui/windowrecord.py:97
+#, fuzzy
+msgid "Ascent"
+msgstr "Stigning:"
+
+#: pytrainer/gui/windowrecord.py:98
+#, fuzzy
+msgid "Descent"
+msgstr "Sluttning:"
+
+#: pytrainer/gui/windowrecord.py:204
+msgid "GPX File"
+msgstr "GPX Fil"
+
+#: pytrainer/lib/gpx.py:128
+msgid "No Name"
+msgstr ""
+
+#: pytrainer/lib/gpx.py:136
+msgid "No Data"
+msgstr ""
#: pytrainer/lib/listview.py:32
#, fuzzy
@@ -2039,86 +2070,54 @@ msgstr ""
msgid ">2 Hours"
msgstr ""
-#: pytrainer/lib/gpx.py:129
-msgid "No Name"
-msgstr ""
-
-#: pytrainer/lib/gpx.py:137
-msgid "No Data"
-msgstr ""
-
-#: pytrainer/lib/activity.py:200
-msgid "feet"
-msgstr "fot"
-
-#: pytrainer/lib/activity.py:322
-msgid "Pace by Lap"
-msgstr "Varvtid"
-
-#: pytrainer/lib/activity.py:328 pytrainer/lib/activity.py:339
-#: pytrainer/lib/activity.py:411 pytrainer/lib/activity.py:421
-#: pytrainer/lib/activity.py:430 pytrainer/lib/activity.py:439
-#: pytrainer/lib/activity.py:448 pytrainer/lib/activity.py:458
-#: pytrainer/lib/activity.py:467 pytrainer/lib/activity.py:529
-msgid "Time (seconds)"
-msgstr "Tid (sekunder)"
-
-#: pytrainer/lib/activity.py:333
-msgid "Speed by Lap"
-msgstr "Hastighet per varv"
-
-#: pytrainer/lib/activity.py:405 pytrainer/lib/activity.py:407
-msgid "Elevation"
-msgstr "Höjd över havet"
-
-#: pytrainer/lib/activity.py:416 pytrainer/lib/activity.py:418
-msgid "Corrected Elevation"
-msgstr "Korrigerad höjd över havet"
-
-#: pytrainer/lib/activity.py:453
-#, python-format
-msgid "Heart Rate (% of max)"
-msgstr "Puls (% of max)"
-
-#: pytrainer/lib/activity.py:455
-msgid "%"
-msgstr "%"
-
-#: pytrainer/lib/activity.py:464
-msgid "rpm"
-msgstr "varv per minut"
-
-#: pytrainer/lib/activity.py:523
-msgid "Heart Rate zone"
-msgstr "Pulszon"
+#: pytrainer/lib/uc.py:52
+msgid "km"
+msgstr "km"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
#, fuzzy
msgid "mi"
msgstr "min"
-#: pytrainer/lib/uc.py:20
+#: pytrainer/lib/uc.py:52
msgid "mph"
msgstr ""
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
#, fuzzy
msgid "min/mi"
msgstr "min/mile"
-#: pytrainer/lib/uc.py:21
+#: pytrainer/lib/uc.py:53
#, fuzzy
msgid "ft"
msgstr "fot"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:54
+#: pytrainer/lib/uc.py:54
msgid "kg"
msgstr "kg"
-#: pytrainer/lib/uc.py:22 pytrainer/athlete.py:52
+#: pytrainer/lib/uc.py:54
msgid "lb"
msgstr "lb"
+#: pytrainer/daygraph.py:52 pytrainer/recordgraph.py:134
+msgid "Height (m)"
+msgstr "Höjd (m)"
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity (Km/h)"
+msgstr ""
+
+#: pytrainer/daygraph.py:54
+msgid "Velocity"
+msgstr ""
+
+#: pytrainer/daygraph.py:56 pytrainer/heartrategraph.py:36
+#: pytrainer/recordgraph.py:140
+msgid "Beats (bpm)"
+msgstr "Puls (slag/min)"
+
#: pytrainer/monthgraph.py:26 pytrainer/monthgraph.py:27
#: pytrainer/monthgraph.py:28 pytrainer/monthgraph.py:29
#: pytrainer/monthgraph.py:30
@@ -2129,8 +2128,8 @@ msgstr "dag"
msgid "Daily Distance"
msgstr "Sträcka per dag"
-#: pytrainer/monthgraph.py:27 pytrainer/totalgraph.py:25
-#: pytrainer/yeargraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/monthgraph.py:27 pytrainer/weekgraph.py:26
+#: pytrainer/yeargraph.py:27 pytrainer/totalgraph.py:25
msgid "Time (hours)"
msgstr "Tid (tim)"
@@ -2138,8 +2137,8 @@ msgstr "Tid (tim)"
msgid "Daily Time"
msgstr "Tid per dag"
-#: pytrainer/monthgraph.py:28 pytrainer/totalgraph.py:26
-#: pytrainer/yeargraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/monthgraph.py:28 pytrainer/weekgraph.py:27
+#: pytrainer/yeargraph.py:28 pytrainer/totalgraph.py:26
msgid "Average Heart Rate (bpm)"
msgstr "Medelpuls (slag/min)"
@@ -2155,45 +2154,17 @@ msgstr "Medelhastighet per dag"
msgid "Daily Calories"
msgstr "Kalorier per dag"
-#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
-#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
-#: pytrainer/totalgraph.py:28
-msgid "year"
-msgstr ""
-
-#: pytrainer/totalgraph.py:24
-#, fuzzy
-msgid "Annual Distance"
-msgstr "Alla distanser"
-
-#: pytrainer/totalgraph.py:25
-#, fuzzy
-msgid "Annual Time"
-msgstr "Tid per dag"
-
-#: pytrainer/totalgraph.py:26
-#, fuzzy
-msgid "Annual Average Heart Rate"
-msgstr "Medelpuls per dag"
-
-#: pytrainer/totalgraph.py:27
-#, fuzzy
-msgid "Annual Average Speed"
-msgstr "Medelhastighet per dag"
-
-#: pytrainer/totalgraph.py:28
-#, fuzzy
-msgid "Annual Calories"
-msgstr "Kalorier per dag"
+#: pytrainer/recordgraph.py:136
+msgid "Speed (Km/h)"
+msgstr "Hastighet (Km/h)"
-#: pytrainer/record.py:56
-msgid "Modify details before importing"
-msgstr ""
+#: pytrainer/recordgraph.py:142
+msgid "Cadence (rpm)"
+msgstr "Kadens (varv/min)"
-#: pytrainer/record.py:486
-#, fuzzy
-msgid "pytrainer can't import data from your gpx file"
-msgstr "pyTrainer kan inte importera från din gpx-fil"
+#: pytrainer/recordgraph.py:144
+msgid "Beats (%)"
+msgstr "Puls (%)"
#: pytrainer/yeargraph.py:26 pytrainer/yeargraph.py:27
#: pytrainer/yeargraph.py:28 pytrainer/yeargraph.py:29
@@ -2221,129 +2192,189 @@ msgstr "Medelhastighet per månad"
msgid "Monthly Calories"
msgstr "Kalorier per månad"
-#: pytrainer/waypoint.py:87
-msgid ""
-"The gpx file seems to be a several days records. Perhaps you will need to "
-"edit your gpx file"
-msgstr ""
-"GPX-filen verkar inehålla data för flera dagar. Du kanske vill editera din "
-"GPX-fil"
-
-#: pytrainer/daygraph.py:54
-msgid "Velocity (Km/h)"
-msgstr ""
+#: pytrainer/profile.py:139
+msgid "Moderate activity"
+msgstr "Mycket lätt träning"
-#: pytrainer/daygraph.py:54
-msgid "Velocity"
-msgstr ""
+#: pytrainer/profile.py:140
+msgid "Weight Control"
+msgstr "Lätt träning"
-#: pytrainer/main.py:470
-msgid "Delete this waypoint?"
-msgstr ""
+#: pytrainer/profile.py:141
+msgid "Aerobic"
+msgstr "Medelintensiv träning"
-#: imports/file_gpxplus.py:41
-msgid "GPS eXchange file"
-msgstr ""
+#: pytrainer/profile.py:142
+msgid "Anaerobic"
+msgstr "Hård träning"
-#: imports/file_kml20.py:47
-msgid "Geodistance kml version 2.0 file"
-msgstr ""
+#: pytrainer/profile.py:143
+msgid "VO2 MAX"
+msgstr "Högintensiv träning"
-#: imports/file_garmintcxv1.py:45
-msgid "Garmin training center database file version 1"
+#: pytrainer/record.py:55
+msgid "Modify details before importing"
msgstr ""
-#: imports/file_gpxplusNokia.py:41
-msgid "Nokia Export - GPS eXchange file"
-msgstr ""
+#: pytrainer/record.py:532
+#, fuzzy
+msgid "pytrainer can't import data from your gpx file"
+msgstr "pyTrainer kan inte importera från din gpx-fil"
-#: imports/tool_gpsbabel.py:37
-msgid "GPSBabel"
+#: pytrainer/totalgraph.py:24 pytrainer/totalgraph.py:25
+#: pytrainer/totalgraph.py:26 pytrainer/totalgraph.py:27
+#: pytrainer/totalgraph.py:28
+msgid "year"
msgstr ""
-#: imports/tool_garmintools.py:37
-msgid "Garmintools"
-msgstr ""
+#: pytrainer/totalgraph.py:24
+#, fuzzy
+msgid "Annual Distance"
+msgstr "Alla distanser"
-#: imports/tool_gant.py:37
-msgid "Gant"
-msgstr ""
+#: pytrainer/totalgraph.py:25
+#, fuzzy
+msgid "Annual Time"
+msgstr "Tid per dag"
-#: imports/file_garmintools.py:44
-msgid "Garmin tools dump file"
-msgstr ""
+#: pytrainer/totalgraph.py:26
+#, fuzzy
+msgid "Annual Average Heart Rate"
+msgstr "Medelpuls per dag"
-#: imports/file_garmintcxv2.py:46
-msgid "Garmin training center database file version 2"
-msgstr ""
+#: pytrainer/totalgraph.py:27
+#, fuzzy
+msgid "Annual Average Speed"
+msgstr "Medelhastighet per dag"
-#: extensions/fixelevation/fixelevation.py:129
-msgid "Elevation Correction Complete"
-msgstr ""
+#: pytrainer/totalgraph.py:28
+#, fuzzy
+msgid "Annual Calories"
+msgstr "Kalorier per dag"
-#: extensions/openstreetmap/openstreetmap.py:82
+#: pytrainer/waypoint.py:88
msgid ""
-"Posting GPX trace to Openstreetmap\n"
-"\n"
-"Please wait this could take several minutes"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:84
-msgid "Openstreetmap Extension Processing"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:102
-msgid "Openstreetmap Extension Upload Complete"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:107
-msgid "Error while uploading file to OSM: "
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:109
-msgid "Openstreetmap Extension Error"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:117
-msgid "Please add any additional information for this upload"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:204
-msgid "Error"
-msgstr ""
-
-#: extensions/openstreetmap/openstreetmap.py:247
-msgid "Error while saving extension configuration"
-msgstr ""
-
-#: extensions/wordpress/wordpress.py:46
-msgid "Posting to Wordpress blog"
-msgstr ""
-
-#: extensions/wordpress/wordpress.py:48
-msgid "Wordpress Extension Processing"
-msgstr ""
-
-#: extensions/wordpress/wordpress.py:144
-msgid "Wordpress Extension Upload Complete"
+"The gpx file seems to be a several days records. Perhaps you will need to "
+"edit your gpx file"
msgstr ""
+"GPX-filen verkar inehålla data för flera dagar. Du kanske vill editera din "
+"GPX-fil"
-#: extensions/stravaupload/stravaupload.py:161
-msgid "Strava Upload"
+#: pytrainer/main.py:500
+msgid "Delete this waypoint?"
msgstr ""
-#: extensions/gpx2garmin/gpx2garmin.py:50
-#, fuzzy
-msgid "gpx2garmin Extension"
-msgstr "Tillägg"
-
-#, fuzzy
-#~ msgid "Last entry"
-#~ msgstr "status-inmatning"
+#~ msgid "Calendar"
+#~ msgstr "Kalender"
+
+#~ msgid ""
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ "Percentage\n"
+#~ "Zone"
+#~ msgstr ""
+#~ "Profil\n"
+#~ "Hastighet\n"
+#~ "Tempo\n"
+#~ "Puls\n"
+#~ "Kadens\n"
+#~ "Procent\n"
+#~ "Pulszone"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Profile\n"
+#~ "Speed\n"
+#~ "Pace\n"
+#~ "Heart Rate\n"
+#~ "Cadence\n"
+#~ msgstr ""
+#~ "Ingen\n"
+#~ "Profil\n"
+#~ "Hastighet\n"
+#~ "Tempo\n"
+#~ "Puls\n"
+#~ "Kadens\n"
#, fuzzy
-#~ msgid "<b>Start screen</b>"
-#~ msgstr "<b>Hjärtfrekvens</b>"
+#~ msgid ""
+#~ "None\n"
+#~ "Speed\n"
+#~ "Heart rate\n"
+#~ "Cadence"
+#~ msgstr ""
+#~ "Ingen\n"
+#~ "Profil\n"
+#~ "Hastighet\n"
+#~ "Tempo\n"
+#~ "Puls\n"
+#~ "Kadens\n"
+
+#~ msgid ""
+#~ "Stage Profile\n"
+#~ "Stage Velocity\n"
+#~ "Stage Profile/velocity"
+#~ msgstr ""
+#~ "Etappprofil\n"
+#~ " EtappEtapphastighet\n"
+#~ "Etappprofil/hastighet"
+
+#~ msgid ""
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Distans\n"
+#~ "Tid\n"
+#~ "Medelpuls\n"
+#~ "Medelhastighet\n"
+#~ "Kalorier"
+
+#~ msgid ""
+#~ "None\n"
+#~ "Distance\n"
+#~ "Time\n"
+#~ "Average Heart Rate\n"
+#~ "Average Speed\n"
+#~ "Calories"
+#~ msgstr ""
+#~ "Ingen\n"
+#~ "Distans\n"
+#~ "Tid\n"
+#~ "Medelpuls\n"
+#~ "Medelhastighet\n"
+#~ "Kalorier"
+
+#~ msgid ""
+#~ "All time\n"
+#~ "Last 4 weeks\n"
+#~ "Last 6 months\n"
+#~ "Last 12 months"
+#~ msgstr ""
+#~ "All tid\n"
+#~ "Senaste 4 veckorna\n"
+#~ "Senaste 6 månaderna\n"
+#~ "Senaste 12 månaderna"
+
+#~ msgid "Miles"
+#~ msgstr "Miles"
+
+#~ msgid "miles"
+#~ msgstr "miles"
+
+#~ msgid "miles/h"
+#~ msgstr "miles/h"
+
+#~ msgid "min/mile"
+#~ msgstr "min/mile"
+
+#~ msgid "feet"
+#~ msgstr "fot"
#~ msgid "Maxiumum Pace"
#~ msgstr "Maxtempo"
diff --git a/pytrainer/__init__.py b/pytrainer/__init__.py
index 611bc2a..c01c368 100644
--- a/pytrainer/__init__.py
+++ b/pytrainer/__init__.py
@@ -1,6 +1,5 @@
-# Based in Django's approach -> http://code.djangoproject.com/svn/django/trunk/django/__init__.py
-VERSION = (1, 10, 1, 'dev')
-#VERSION = (1, 11, 0, 'final')
+# Based on Django's approach -> http://code.djangoproject.com/svn/django/trunk/django/__init__.py
+VERSION = (1, 11, 0, 'final')
def get_version(version=None):
"""Derives a PEP386-compliant version number from VERSION.
diff --git a/pytrainer/activitypool.py b/pytrainer/activitypool.py
deleted file mode 100644
index 570a56b..0000000
--- a/pytrainer/activitypool.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# -*- coding: iso-8859-1 -*-
-
-#Copyright (C) Fiz Vazquez vud1 at sindominio.net
-
-#This program is free software; you can redistribute it and/or
-#modify it under the terms of the GNU General Public License
-#as published by the Free Software Foundation; either version 2
-#of the License, or (at your option) any later version.
-
-#This program is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-import logging
-from lib.activity import Activity
-
-class ActivityPool:
- '''
- Class maintains a pool of activities
- size is set at initialisation
- '''
- def __init__(self, pytrainer_main = None, size = 1):
- logging.debug(">>")
- #It is an error to try to initialise with no reference to pytrainer_main
- if pytrainer_main is None:
- print("Error - must initialise with a reference to the main pytrainer class")
- return
- self.pytrainer_main = pytrainer_main
- self.max_size = size
- self.pool = {}
- self.pool_queue = []
- logging.debug("Initialising ActivityPool to size: %d" % size)
- logging.debug("<<")
-
- def clear_pool(self):
- logging.debug(">>")
- logging.debug("Clearing ActivityPool")
- self.pool = {}
- self.pool_queue = []
- logging.debug("<<")
-
- def remove_activity(self, id):
- sid = str(id)
- if sid in self.pool.keys():
- logging.debug("Found activity in pool")
- self.pool_queue.remove(sid)
- del self.pool[sid]
-
- def get_activity(self, id):
- sid = str(id)
- if sid in self.pool.keys():
- logging.debug("Found activity in pool")
- #Have accessed this activity, place at end of queue
- self.pool_queue.remove(sid)
- self.pool_queue.append(sid)
- else:
- logging.debug("Activity NOT found in pool")
- self.pool[sid] = Activity(pytrainer_main = self.pytrainer_main, id = id)
- self.pool_queue.append(sid)
- if len(self.pool_queue) > self.max_size:
- sid_to_remove = self.pool_queue.pop(0)
- logging.debug("Removing activity: %s" % sid_to_remove)
- del self.pool[sid_to_remove]
- logging.debug("ActivityPool queue length: %d" % len(self.pool_queue))
- logging.debug("ActivityPool queue: %s" % str(self.pool_queue))
- return self.pool[sid]
diff --git a/pytrainer/athlete.py b/pytrainer/athlete.py
index f238361..d50718a 100644
--- a/pytrainer/athlete.py
+++ b/pytrainer/athlete.py
@@ -22,12 +22,14 @@ import dateutil
from pytrainer.lib.ddbb import DDBB
from pytrainer.lib.graphdata import GraphData
+from pytrainer.lib.uc import UC
class Athlete:
def __init__(self, data_path = None, parent = None):
self.parent = parent
self.pytrainer_main = parent
self.data_path = data_path
+ self.uc = UC()
def refresh(self):
logging.debug('>>')
@@ -41,14 +43,6 @@ class Athlete:
self.name = self.pytrainer_main.profile.getValue("pytraining","prf_name")
self.age = self.pytrainer_main.profile.getValue("pytraining","prf_age")
self.height = self.pytrainer_main.profile.getValue("pytraining","prf_height")
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- self.us_system = True
- else:
- self.us_system = False
- if self.us_system:
- self.weight_unit = _("lb")
- else:
- self.weight_unit = _("kg")
logging.debug('<<')
def get_athlete_stats(self):
@@ -66,10 +60,10 @@ class Athlete:
def get_athlete_data(self):
logging.debug('>>')
graphdata = {}
- graphdata['weight'] = GraphData(title="Weight", xlabel="Date", ylabel="Weight (%s)" % (self.weight_unit))
+ graphdata['weight'] = GraphData(title="Weight", xlabel="Date", ylabel="Weight (%s)" % (self.uc.unit_weight))
graphdata['weight'].set_color('#3300FF', '#3300FF')
#graphdata['weight'].graphType = 'date'
- graphdata['bodyfat'] = GraphData(title="Body Fat", xlabel="Date", ylabel="Body Fat (%s)" % (self.weight_unit))
+ graphdata['bodyfat'] = GraphData(title="Body Fat", xlabel="Date", ylabel="Body Fat (%s)" % (self.uc.unit_weight))
graphdata['bodyfat'].set_color('#FF6600', '#FF6600')
#graphdata['bf'].graphType = 'date'
graphdata['restinghr'] = GraphData(title="Resting Heartrate", xlabel="Date", ylabel="Resting Heartrate (bpm)")
diff --git a/pytrainer/core/activity.py b/pytrainer/core/activity.py
new file mode 100644
index 0000000..0f8a2b0
--- /dev/null
+++ b/pytrainer/core/activity.py
@@ -0,0 +1,618 @@
+# -*- coding: iso-8859-1 -*-
+
+#Copyright (C) Fiz Vazquez vud1 at sindominio.net
+
+#This program is free software; you can redistribute it and/or
+#modify it under the terms of the GNU General Public License
+#as published by the Free Software Foundation; either version 2
+#of the License, or (at your option) any later version.
+
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+import logging
+import os
+import dateutil.parser
+from dateutil.tz import tzlocal
+
+from pytrainer.lib.date import second2time
+from pytrainer.lib.gpx import Gpx
+from pytrainer.lib.graphdata import GraphData
+from pytrainer.environment import Environment
+from pytrainer.lib import uc
+
+class ActivityService(object):
+ '''
+ Class maintains a pool of activities
+ size is set at initialisation
+ '''
+ def __init__(self, pytrainer_main=None, size=1):
+ logging.debug(">>")
+ #It is an error to try to initialise with no reference to pytrainer_main
+ if pytrainer_main is None:
+ print("Error - must initialise with a reference to the main pytrainer class")
+ return
+ self.pytrainer_main = pytrainer_main
+ self.max_size = size
+ self.pool = {}
+ self.pool_queue = []
+ logging.debug("Initialising ActivityPool to size: %d" % size)
+ logging.debug("<<")
+
+ def clear_pool(self):
+ logging.debug(">>")
+ logging.debug("Clearing ActivityPool")
+ self.pool = {}
+ self.pool_queue = []
+ logging.debug("<<")
+
+ def remove_activity(self, id):
+ sid = str(id)
+ if sid in self.pool.keys():
+ logging.debug("Found activity in pool")
+ self.pool_queue.remove(sid)
+ del self.pool[sid]
+
+ def get_activity(self, id):
+ sid = str(id)
+ if sid in self.pool.keys():
+ logging.debug("Found activity in pool")
+ #Have accessed this activity, place at end of queue
+ self.pool_queue.remove(sid)
+ self.pool_queue.append(sid)
+ else:
+ logging.debug("Activity NOT found in pool")
+ self.pool[sid] = Activity(pytrainer_main=self.pytrainer_main, id=id)
+ self.pool_queue.append(sid)
+ if len(self.pool_queue) > self.max_size:
+ sid_to_remove = self.pool_queue.pop(0)
+ logging.debug("Removing activity: %s" % sid_to_remove)
+ del self.pool[sid_to_remove]
+ logging.debug("ActivityPool queue length: %d" % len(self.pool_queue))
+ logging.debug("ActivityPool queue: %s" % str(self.pool_queue))
+ return self.pool[sid]
+
+class Activity:
+ '''
+ Class that knows everything about a particular activity
+
+ All values are stored in the class (and DB) in metric and are converted as needed
+
+ tracks - (list) tracklist from gpx
+ tracklist - (list of dict) trackpoint data from gpx
+ laps - (list of dict) lap list
+ us_system - (bool) True: imperial measurement False: metric measurement
+ distance_data - (dict of graphdata classes) contains the graph data with x axis distance
+ time_data - (dict of graphdata classes) contains the graph data with x axis time
+ gpx_file - (string) gpx file name
+ gpx - (Gpx class) actual gpx instance
+ sport_name - (string) sport name
+ sport_id - (string) id for sport in sports table
+ title - (string) title of activity
+ date - (string) date of activity
+ time - (int) activity duration in seconds
+ time_tuple - (tuple) activity duration as hours, min, secs tuple
+ beats - (int) average heartrate for activity
+ maxbeats - (int) maximum heartrate for activity
+ comments - (string) activity comments
+ calories - (int) calories of activity
+ id - (int) id for activity in records table
+ date_time_local - (string) date and time of activity in local timezone
+ date_time_utc - (string) date and time of activity in UTC timezone
+ date_time - (datetime) date and time of activity in local timezone
+ starttime - (string)
+ distance - (float) activity distance
+ average - (float) average speed of activity
+ upositive - (float) height climbed during activity
+ unegative - (float) height decended during activity
+ maxspeed - (float) maximum speed obtained during activity
+ maxpace - (float) maxium pace obtained during activity
+ pace - (float) average pace for activity
+ has_data - (bool) true if instance has data populated
+ x_axis - (string) distance or time, determines what will be graphed on x axis
+ x_limits - (tuple of float) start, end limits of x axis (as determined by matplotlib)
+ y1_limits - (tuple of float) start, end limits of y1 axis (as determined by matplotlib)
+ y2_limits - (tuple of float) start, end limits of y2 axis (as determined by matplotlib)
+ x_limits_u - (tuple of float) start, end limits of x axis (as requested by user)
+ y1_limits_u - (tuple of float) start, end limits of y1 axis (as requested by user)
+ y2_limits_u - (tuple of float) start, end limits of y2 axis (as requested by user)
+ show_laps - (bool) display laps on graphs
+ lap_distance - (graphdata)
+ lap_time - (graphdata)
+ pace_limit - (int) maximum pace that is valid for this activity
+ '''
+ def __init__(self, pytrainer_main=None, id=None):
+ logging.debug(">>")
+ self.environment = Environment()
+ self.uc = uc.UC()
+ self.id = id
+ #It is an error to try to initialise with no id
+ if self.id is None:
+ return
+ #It is an error to try to initialise with no reference to pytrainer_main
+ if pytrainer_main is None:
+ print("Error - must initialise with a reference to the main pytrainer class")
+ return
+ self.pytrainer_main = pytrainer_main
+ self.laps = None
+ self.has_data = False
+ self._distance_data = {}
+ self._time_data = {}
+ self._lap_time = None
+ self._lap_distance = None
+ self.time_pause = 0
+ self.pace_limit = None
+ self._gpx = None
+ self._init_from_db()
+ self.x_axis = "distance"
+ self.x_limits = (None, None)
+ self.y1_limits = (None, None)
+ self.y2_limits = (None, None)
+ self.x_limits_u = (None, None)
+ self.y1_limits_u = (None, None)
+ self.y2_limits_u = (None, None)
+ self.y1_grid = False
+ self.y2_grid = False
+ self.x_grid = False
+ self.show_laps = False
+ logging.debug("<<")
+
+ @property
+ def gpx_file(self):
+ if self.id:
+ filename = "%s/%s.gpx" % (self.environment.gpx_dir, self.id)
+ #It is OK to not have a GPX file for an activity - this just limits us to information in the DB
+ if os.path.isfile(filename):
+ return filename
+ logging.debug("No GPX file found for record id: %s", self.id)
+ return None
+
+ @property
+ def tracks(self):
+ if self.gpx:
+ return self.gpx.getTrackList()
+ else:
+ return None
+
+ @property
+ def tracklist(self):
+ if self.gpx:
+ return self.gpx.trkpoints
+ else:
+ return None
+
+ @property
+ def distance_data(self):
+ if not self._distance_data:
+ self._init_graph_data()
+ return self._distance_data
+
+ @property
+ def time_data(self):
+ if not self._time_data:
+ self._init_graph_data()
+ return self._time_data
+
+ @property
+ def lap_time(self):
+ if not self._lap_time:
+ self._generate_per_lap_graphs()
+ return self._lap_time
+
+ @property
+ def lap_distance(self):
+ if not self._lap_distance:
+ self._generate_per_lap_graphs()
+ return self._lap_distance
+
+ @property
+ def time_tuple(self):
+ return second2time(self.time)
+
+ @property
+ def date_time(self):
+ if self.date_time_local: #Have a local time stored in DB
+ return dateutil.parser.parse(self.date_time_local)
+ else: #No local time in DB
+ #datetime with localtime offset (using value from OS)
+ return dateutil.parser.parse(self.date_time_utc).astimezone(tzlocal())
+
+ @property
+ def starttime(self):
+ return self.date_time.strftime("%X")
+
+ def __str__(self):
+ return '''
+tracks (%s)
+ tracklist (%s)
+ laps (%s)
+ us_system (%s)
+ distance_data (%s)
+ time_data (%s)
+ gpx_file (%s)
+ gpx (%s)
+ sport_name (%s)
+ sport_id (%s)
+ title (%s)
+ date (%s)
+ time (%s)
+ time_tuple (%s)
+ beats (%s)
+ maxbeats (%s)
+ comments (%s)
+ calories (%s)
+ id (%s)
+ date_time_local (%s)
+ date_time_utc (%s)
+ date_time (%s)
+ starttime (%s)
+ distance (%s)
+ average (%s)
+ upositive (%s)
+ unegative (%s)
+ maxspeed (%s)
+ maxpace (%s)
+ pace (%s)
+ has_data (%s)
+ x_axis (%s)
+ x_limits (%s)
+ y1_limits (%s)
+ y2_limits (%s)
+ x_limits_u (%s)
+ y1_limits_u (%s)
+ y2_limits_u (%s)
+ show_laps (%s)
+ lap_distance (%s)
+ lap_time (%s)
+ pace_limit (%s)
+''' % ('self.tracks', self.tracklist, self.laps, self.uc.us,
+ self.distance_data, self.time_data,
+ self.gpx_file, self.gpx, self.sport_name,
+ self.sport_id, self.title, self.date, self.time, self.time_tuple, self.beats,
+ self.maxbeats, self.comments, self.calories, self.id, self.date_time_local,
+ self.date_time_utc, self.date_time, self.starttime, self.distance, self.average,
+ self.upositive, self.unegative, self.maxspeed, self.maxpace, self.pace, self.has_data,
+ self.x_axis, self.x_limits, self.y1_limits, self.y2_limits, self.x_limits_u, self.y1_limits_u,
+ self.y2_limits_u, self.show_laps, self.lap_distance, self.lap_time, self.pace_limit)
+
+ @property
+ def gpx(self):
+ '''
+ Get activity information from the GPX file
+ '''
+ logging.debug(">>")
+ if self._gpx:
+ logging.debug("Return pre-created GPX")
+ return self._gpx
+ elif self.gpx_file:
+ logging.debug("Parse GPX")
+ #Parse GPX file
+ #print "Activity initing GPX.. ",
+ self._gpx = Gpx(filename=self.gpx_file) #TODO change GPX code to do less....
+ logging.info("GPX Distance: %s | distance (trkpts): %s | duration: %s | duration (trkpts): %s" % (self.gpx.total_dist, self.gpx.total_dist_trkpts, self.gpx.total_time, self.gpx.total_time_trkpts))
+ time_diff = self.gpx.total_time_trkpts - self.gpx.total_time
+ acceptable_lapse = 4 # number of seconds that duration calculated using lap and trkpts data can differ
+ if time_diff > acceptable_lapse:
+ self.time_pause = time_diff
+ logging.debug("Identified non active time: %s s" % self.time_pause)
+ return self._gpx
+ else:
+ logging.debug("No GPX file found")
+ return None
+ logging.debug("<<")
+
+ def _init_from_db(self):
+ '''
+ Get activity information from the DB
+ '''
+ logging.debug(">>")
+ #Get base information
+ cols = ("sports.name","id_sports", "date","distance","time","beats","comments","duration",
+ "average","calories","id_record","title","upositive","unegative",
+ "maxspeed","maxpace","pace","maxbeats","date_time_utc","date_time_local", "sports.max_pace")
+ # outer join on sport id to workaround bug where sport reference is null on records from GPX import
+ db_result = self.pytrainer_main.ddbb.select("records left outer join sports on records.sport=sports.id_sports",
+ ", ".join(cols),
+ "id_record=\"%s\" " %self.id)
+ if len(db_result) == 1:
+ row = db_result[0]
+ self.sport_name = row[cols.index('sports.name')]
+ if self.sport_name == None:
+ self.sport_name = ""
+ self.sport_id = row[cols.index('id_sports')]
+ self.pace_limit = row[cols.index('sports.max_pace')]
+ if self.pace_limit == 0 or self.pace_limit == "":
+ self.pace_limit = None
+ self.title = row[cols.index('title')]
+ if self.title is None:
+ self.title = ""
+ self.date = row[cols.index('date')]
+ self.time = self._int(row[cols.index('time')])
+ self.duration = self._int(row[cols.index('duration')])
+ self.beats = self._int(row[cols.index('beats')])
+ self.comments = row[cols.index('comments')]
+ if self.comments is None:
+ self.comments = ""
+ self.calories = self._int(row[cols.index('calories')])
+ self.maxbeats = self._int(row[cols.index('maxbeats')])
+ self.date_time_local = row[cols.index('date_time_local')]
+ self.date_time_utc = row[cols.index('date_time_utc')]
+ self.distance = self._float(row[cols.index('distance')])
+ if not self.distance and self.gpx:
+ self.distance = self.gpx.total_dist
+ self.average = self._float(row[cols.index('average')])
+ self.upositive = self._float(row[cols.index('upositive')])
+ self.unegative = self._float(row[cols.index('unegative')])
+ self.maxspeed = self._float(row[cols.index('maxspeed')])
+ self.maxpace = self._float(row[cols.index('maxpace')])
+ self.pace = self._float(row[cols.index('pace')])
+ self.has_data = True
+ else:
+ raise Exception("Error - multiple results from DB for id: %s" % self.id)
+ #Get lap information
+ self.laps = self.pytrainer_main.ddbb.select_dict("laps",
+ ("id_lap", "record", "elapsed_time", "distance", "start_lat", "start_lon", "end_lat", "end_lon", "calories", "lap_number", "intensity", "avg_hr", "max_hr", "max_speed", "laptrigger", "comments"),
+ "record=\"%s\"" % self.id)
+ logging.debug("<<")
+
+ def _generate_per_lap_graphs(self):
+ '''Build lap based graphs...'''
+ logging.debug(">>")
+ if self.laps is None:
+ logging.debug("No laps to generate graphs from")
+ logging.debug("<<")
+ return
+ #Lap columns
+ self._lap_distance = GraphData()
+ self._lap_distance.set_color('#CCFF00', '#CCFF00')
+ self._lap_distance.graphType = "vspan"
+ self._lap_time = GraphData()
+ self._lap_time.set_color('#CCFF00', '#CCFF00')
+ self._lap_time.graphType = "vspan"
+ #Pace
+ title = _("Pace by Lap")
+ xlabel = "%s (%s)" % (_('Distance'), self.uc.unit_distance)
+ ylabel = "%s (%s)" % (_('Pace'), self.uc.unit_pace)
+ self.distance_data['pace_lap'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self.distance_data['pace_lap'].set_color('#99CCFF', '#99CCFF')
+ self.distance_data['pace_lap'].graphType = "bar"
+ xlabel=_("Time (seconds)")
+ self.time_data['pace_lap'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self.time_data['pace_lap'].set_color('#99CCFF', '#99CCFF')
+ self.time_data['pace_lap'].graphType = "bar"
+ #Speed
+ title = _("Speed by Lap")
+ xlabel = "%s (%s)" % (_('Distance'), self.uc.unit_distance)
+ ylabel = "%s (%s)" % (_('Speed'), self.uc.unit_speed)
+ self.distance_data['speed_lap'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self.distance_data['speed_lap'].set_color('#336633', '#336633')
+ self.distance_data['speed_lap'].graphType = "bar"
+ xlabel = _("Time (seconds)")
+ self.time_data['speed_lap'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self.time_data['speed_lap'].set_color('#336633', '#336633')
+ self.time_data['speed_lap'].graphType = "bar"
+ for lap in self.laps:
+ time = float(lap['elapsed_time'].decode('utf-8')) # time in sql is a unicode string
+ dist = lap['distance']/1000 #distance in km
+ try:
+ pace = time/(60*dist) #min/km
+ except ZeroDivisionError:
+ pace = 0.0
+ try:
+ avg_speed = dist/(time/3600) # km/hr
+ except:
+ avg_speed = 0.0
+ if self.pace_limit is not None and pace > self.pace_limit:
+ logging.debug("Pace (%s) exceeds limit (%s). Setting to 0" % (str(pace), str(self.pace_limit)))
+ pace = 0.0
+ logging.debug("Time: %f, Dist: %f, Pace: %f, Speed: %f" % (time, dist, pace, avg_speed))
+ self._lap_time.addBars(x=time, y=10)
+ self._lap_distance.addBars(x=self.uc.distance(dist), y=10)
+ self.distance_data['pace_lap'].addBars(x=self.uc.distance(dist), y=pacekm2miles(pace))
+ self.time_data['pace_lap'].addBars(x=time, y=self.uc.speed(pace))
+ self.distance_data['speed_lap'].addBars(x=self.uc.distance(dist), y=self.uc.speed(avg_speed))
+ self.time_data['speed_lap'].addBars(x=time, y=self.uc.speed(avg_speed))
+ logging.debug("<<")
+
+ def _init_graph_data(self):
+ logging.debug(">>")
+ if self.tracklist is None:
+ logging.debug("No tracklist in activity")
+ logging.debug("<<")
+ return
+ #Profile
+ title = _("Elevation")
+ xlabel = "%s (%s)" % (_('Distance'), self.uc.unit_distance)
+ ylabel = "%s (%s)" % (_('Elevation'), self.uc.unit_height)
+ self._distance_data['elevation'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self._distance_data['elevation'].set_color('#ff0000', '#ff0000')
+ self._distance_data['elevation'].show_on_y1 = True #Make graph show elevation by default
+ xlabel = _("Time (seconds)")
+ self._time_data['elevation'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
+ self._time_data['elevation'].set_color('#ff0000', '#ff0000')
+ self._time_data['elevation'].show_on_y1 = True #Make graph show elevation by default
+ #Corrected Elevation...
+ title = _("Corrected Elevation")
+ xlabel = "%s (%s)" % (_('Distance'), self.uc.unit_distance)
+ ylabel = "%s (%s)" % (_('Corrected Elevation'), self.uc.unit_height)
+ self._distance_data['cor_elevation'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self._distance_data['cor_elevation'].set_color('#993333', '#993333')
+ xlabel=_("Time (seconds)")
+ self._time_data['cor_elevation'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
+ self._time_data['cor_elevation'].set_color('#993333', '#993333')
+ #Speed
+ title = _("Speed")
+ xlabel = "%s (%s)" % (_('Distance'), self.uc.unit_distance)
+ ylabel = "%s (%s)" % (_('Speed'), self.uc.unit_speed)
+ self._distance_data['speed'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self._distance_data['speed'].set_color('#000000', '#000000')
+ xlabel = _("Time (seconds)")
+ self._time_data['speed'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
+ self._time_data['speed'].set_color('#000000', '#000000')
+ #Pace
+ title = _("Pace")
+ xlabel = "%s (%s)" % (_('Distance'), self.uc.unit_distance)
+ ylabel = "%s (%s)" % (_('Pace'), self.uc.unit_pace)
+ self._distance_data['pace'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self._distance_data['pace'].set_color('#0000ff', '#0000ff')
+ xlabel = _("Time (seconds)")
+ self._time_data['pace'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
+ self._time_data['pace'].set_color('#0000ff', '#0000ff')
+ #Heartrate
+ title = _("Heart Rate")
+ xlabel = "%s (%s)" % (_('Distance'), self.uc.unit_distance)
+ ylabel = "%s (%s)" % (_('Heart Rate'), _('bpm'))
+ self._distance_data['hr'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self._distance_data['hr'].set_color('#00ff00', '#00ff00')
+ xlabel = _("Time (seconds)")
+ self._time_data['hr'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
+ self._time_data['hr'].set_color('#00ff00', '#00ff00')
+ #Heartrate as %
+ maxhr = self.pytrainer_main.profile.getMaxHR()
+ title = _("Heart Rate (% of max)")
+ xlabel = "%s (%s)" % (_('Distance'), self.uc.unit_distance)
+ ylabel = "%s (%s)" % (_('Heart Rate'), _('%'))
+ self._distance_data['hr_p'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self._distance_data['hr_p'].set_color('#00ff00', '#00ff00')
+ xlabel = _("Time (seconds)")
+ self._time_data['hr_p'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self._time_data['hr_p'].set_color('#00ff00', '#00ff00')
+ #Cadence
+ title = _("Cadence")
+ xlabel = "%s (%s)" % (_('Distance'), self.uc.unit_distance)
+ ylabel = "%s (%s)" % (_('Cadence'), _('rpm'))
+ self._distance_data['cadence'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self._distance_data['cadence'].set_color('#cc00ff', '#cc00ff')
+ xlabel = _("Time (seconds)")
+ self._time_data['cadence'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self._time_data['cadence'].set_color('#cc00ff', '#cc00ff')
+ for track in self.tracklist:
+ try:
+ pace = 60/track['velocity']
+ if self.pace_limit is not None and pace > self.pace_limit:
+ logging.debug("Pace (%s) exceeds limit (%s). Setting to 0" % (str(pace), str(self.pace_limit)))
+ pace = 0 #TODO this should be None when we move to newgraph...
+ except Exception as e:
+ #print type(e), e
+ pace = 0
+ try:
+ hr_p = float(track['hr'])/maxhr*100
+ except:
+ hr_p = 0
+ self._distance_data['elevation'].addPoints(x=self.uc.distance(track['elapsed_distance']),
+ y=self.uc.height(track['ele']))
+ self._distance_data['cor_elevation'].addPoints(x=self.uc.distance(track['elapsed_distance']),
+ y=self.uc.height(track['correctedElevation']))
+ self._distance_data['speed'].addPoints(x=self.uc.distance(track['elapsed_distance']),
+ y=self.uc.speed(track['velocity']))
+ self._distance_data['pace'].addPoints(x=self.uc.distance(track['elapsed_distance']),
+ y=self.uc.distance(pace))
+ self._distance_data['hr'].addPoints(x=self.uc.distance(track['elapsed_distance']),
+ y=track['hr'])
+ self._distance_data['hr_p'].addPoints(x=self.uc.distance(track['elapsed_distance']),
+ y=hr_p)
+ self._distance_data['cadence'].addPoints(x=self.uc.distance(track['elapsed_distance']),
+ y=track['cadence'])
+ self._time_data['elevation'].addPoints(x=track['time_elapsed'],
+ y=self.uc.height(track['ele']))
+ self._time_data['cor_elevation'].addPoints(x=track['time_elapsed'],
+ y=self.uc.height(track['correctedElevation']))
+ self._time_data['speed'].addPoints(x=track['time_elapsed'],
+ y=self.uc.speed(track['velocity']))
+ self._time_data['pace'].addPoints(x=track['time_elapsed'],
+ y=self.uc.distance(pace))
+ self._time_data['hr'].addPoints(x=track['time_elapsed'], y=track['hr'])
+ self._time_data['hr_p'].addPoints(x=track['time_elapsed'], y=hr_p)
+ self._time_data['cadence'].addPoints(x=track['time_elapsed'], y=track['cadence'])
+ #Remove data with no values
+ for item in self._distance_data.keys():
+ if len(self._distance_data[item]) == 0:
+ logging.debug( "No values for %s. Removing...." % item )
+ del self._distance_data[item]
+ for item in self._time_data.keys():
+ if len(self._time_data[item]) == 0:
+ logging.debug( "No values for %s. Removing...." % item )
+ del self._time_data[item]
+ logging.debug("<<")
+ #Add Heartrate zones graphs
+ if 'hr' in self._distance_data:
+ zones = self.pytrainer_main.profile.getZones()
+ title = _("Heart Rate zone")
+ xlabel = "%s (%s)" % (_('Distance'), self.uc.unit_distance)
+ ylabel = "%s (%s)" % (_('Heart Rate'), _('bpm'))
+ self._distance_data['hr_z'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
+ self._distance_data['hr_z'].graphType = "hspan"
+ self._distance_data['hr_z'].set_color(None, None)
+ xlabel = _("Time (seconds)")
+ self._time_data['hr_z'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
+ self._time_data['hr_z'].set_color(None, None)
+ for zone in zones:
+ self._distance_data['hr_z'].addPoints(x=zone[0], y=zone[1], label=zone[3], color=zone[2])
+ self._time_data['hr_z'].addPoints(x=zone[0], y=zone[1], label=zone[3], color=zone[2])
+
+ def _float(self, value):
+ try:
+ result = float(value)
+ except:
+ result = 0.0
+ return result
+
+ def _int(self, value):
+ try:
+ result = int(value)
+ except:
+ result = 0
+ return result
+
+ def get_value_f(self, param, format=None):
+ ''' Function to return a value formated as a string
+ - takes into account US/metric
+ - also appends units if required
+ '''
+ value = self.get_value(param)
+ if not value:
+ #Return blank string if value is None or 0
+ return ""
+ if format is not None:
+ result = format % value
+ else:
+ result = str(value)
+ return result
+
+ def get_value(self, param):
+ ''' Function to get the value of various params in this activity instance
+ Automatically returns values converted to imperial if needed
+ '''
+ if param == 'distance':
+ return self.uc.distance(self.distance)
+ elif param == 'average':
+ return self.uc.speed(self.average)
+ elif param == 'upositive':
+ return self.uc.height(self.upositive)
+ elif param == 'unegative':
+ return self.uc.height(self.unegative)
+ elif param == 'maxspeed':
+ return self.uc.speed(self.maxspeed)
+ elif param == 'maxpace':
+ return uc.float2pace(self.uc.pace(self.maxpace))
+ elif param == 'pace':
+ return uc.float2pace(self.uc.pace(self.pace))
+ elif param == 'calories':
+ return self.calories
+ elif param == 'time':
+ if not self.time:
+ return ""
+ _hour ,_min, _sec = second2time(self.time)
+ if _hour == 0:
+ return "%02d:%02d" % (_min, _sec)
+ else:
+ return "%0d:%02d:%02d" % (_hour, _min, _sec)
+ else:
+ print "Unable to provide value for unknown parameter (%s) for activity" % param
+ return None
diff --git a/pytrainer/core/equipment.py b/pytrainer/core/equipment.py
index 5cee492..2c239d6 100644
--- a/pytrainer/core/equipment.py
+++ b/pytrainer/core/equipment.py
@@ -213,5 +213,4 @@ class EquipmentService(object):
"sum(distance)",
"record_equipment.equipment_id = {0}".format(equipment.id))
usage = result[0][0]
- return 0 if usage == None else usage
-
+ return (0 if usage == None else usage) + equipment.prior_usage
diff --git a/pytrainer/environment.py b/pytrainer/environment.py
index 14a248a..f7ae136 100644
--- a/pytrainer/environment.py
+++ b/pytrainer/environment.py
@@ -17,31 +17,62 @@
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import os
-import logging
+from pytrainer.platform import get_platform
+from pytrainer.lib.singleton import Singleton
-class Environment(object):
+class Environment(Singleton):
"""Describes the location of the program's configuration directories and files."""
- def __init__(self, platform, conf_dir):
+ def __init__(self, conf_dir=None, data_path=None):
"""Initialise an environment.
Arguments:
- platform -- the current system platform.
conf_dir -- the directory where program configuration should be stored. If None, then the default for the platform is used.
"""
- self.conf_dir = conf_dir if conf_dir is not None else platform.get_default_conf_dir()
- self.conf_file = self.conf_dir + "/conf.xml"
- self.log_file = self.conf_dir + "/log.out"
- self.temp_dir = self.conf_dir + "/tmp"
- self.gpx_dir = self.conf_dir + "/gpx"
- self.extension_dir = self.conf_dir + "/extensions"
- self.plugin_dir = self.conf_dir + "/plugins"
-
+ if not hasattr(self, 'conf_dir'):
+ if conf_dir:
+ self.conf_dir = conf_dir
+ else:
+ self.conf_dir = get_platform().get_default_conf_dir()
+
+ if not hasattr(self, 'data_path'):
+ if data_path:
+ self.data_path = data_path
+ else:
+ self.data_path = get_platform().get_default_data_path()
+
+ @property
+ def conf_file(self):
+ return os.path.join(self.conf_dir, "conf.xml")
+
+ @property
+ def log_file(self):
+ return os.path.join(self.conf_dir, "log.out")
+
+ @property
+ def temp_dir(self):
+ return os.path.join(self.conf_dir, "tmp")
+
+ @property
+ def gpx_dir(self):
+ return os.path.join(self.conf_dir, "gpx")
+
+ @property
+ def extension_dir(self):
+ return os.path.join(self.conf_dir, "extensions")
+
+ @property
+ def plugin_dir(self):
+ return os.path.join(self.conf_dir, "plugins")
+
+ @property
+ def glade_dir(self):
+ return os.path.join(self.data_path, "glade")
+
def clear_temp_dir(self):
"""Remove all files from the tmp directory."""
- logging.debug("clearing tmp directory %s" % self.temp_dir)
if not os.path.isdir(self.temp_dir):
return
else:
diff --git a/pytrainer/extensions/googlemaps.py b/pytrainer/extensions/googlemaps.py
index fbdfc41..0f1bdd3 100644
--- a/pytrainer/extensions/googlemaps.py
+++ b/pytrainer/extensions/googlemaps.py
@@ -25,6 +25,7 @@ import traceback
import pytrainer.lib.points as Points
from pytrainer.lib.fileUtils import fileUtils
+from pytrainer.lib.uc import UC
class Googlemaps:
def __init__(self, data_path = None, waypoint = None, pytrainer_main=None):
@@ -33,6 +34,7 @@ class Googlemaps:
self.waypoint=waypoint
self.pytrainer_main = pytrainer_main
self.htmlfile = "%s/googlemaps.html" % (self.pytrainer_main.profile.tmpdir)
+ self.uc = UC()
logging.debug("<<")
def colorLine(self, polyline, average, variance):
@@ -129,7 +131,7 @@ class Googlemaps:
timeMin = (float(activity.time) / 3600.0 - timeHours) * 60
time = "%d%s %02d%s" % (timeHours, _("h"), timeMin, _("min"))
startinfo = "<div class='info_content'>%s: %s</div>" % (activity.sport_name, activity.title)
- finishinfo = "<div class='info_content'>%s: %s<br>%s: %s%s</div>" % (_("Time"), time, _("Distance"), activity.distance, activity.distance_unit)
+ finishinfo = "<div class='info_content'>%s: %s<br>%s: %s%s</div>" % (_("Time"), time, _("Distance"), activity.distance, self.uc.unit_distance)
startinfo = startinfo.encode('ascii', 'xmlcharrefreplace') #Encode for html
finishinfo = finishinfo.encode('ascii', 'xmlcharrefreplace') #Encode for html
self.createHtml_api3(polyline, minlat, minlon, maxlat, maxlon, startinfo, finishinfo, laps, linetype)
diff --git a/pytrainer/extensions/osm.py b/pytrainer/extensions/osm.py
index d1322b7..bb558e6 100644
--- a/pytrainer/extensions/osm.py
+++ b/pytrainer/extensions/osm.py
@@ -13,6 +13,7 @@ from pytrainer.lib.gpx import Gpx
import pytrainer.lib.points as Points
from pytrainer.lib.fileUtils import fileUtils
from pytrainer.record import Record
+from pytrainer.lib.uc import UC
class Osm:
# Default URLS
@@ -28,6 +29,7 @@ class Osm:
self.pytrainer_main = pytrainer_main
self.tmpdir = (self.pytrainer_main.profile.tmpdir)
self.htmlfile = "%s/osm.html" % (self.tmpdir)
+ self.uc = UC()
logging.debug("<<")
def download(self,url,localfile):
@@ -102,7 +104,7 @@ class Osm:
time = "%d%s %02d%s" % (timeHours, _("h"), timeMin, _("min"))
startinfo = "<div class='info_content'>%s: %s</div>" % (activity.sport_name, activity.title)
finishinfo = "<div class='info_content'>%s: %s<br>%s: %s%s</div>" % (_("Time"), \
- time, _("Distance"), activity.distance, activity.distance_unit)
+ time, _("Distance"), activity.distance, self.uc.unit_distance)
startinfo = startinfo.encode('ascii', 'xmlcharrefreplace') #Encode for html
finishinfo = finishinfo.encode('ascii', 'xmlcharrefreplace') #Encode for html
diff --git a/pytrainer/gui/SimpleGladeApp.py b/pytrainer/gui/SimpleGladeApp.py
index 10781db..60dbb05 100644
--- a/pytrainer/gui/SimpleGladeApp.py
+++ b/pytrainer/gui/SimpleGladeApp.py
@@ -17,111 +17,92 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
-try:
- import os
- import sys
- #import gnome
- import gtk
- import gtk.glade
-except ImportError:
- print "Error importing pygtk2 and pygtk2-libglade"
- sys.exit(1)
-
-class SimpleGladeApp(dict):
- def __init__(self, glade_filename, main_widget_name="", domain=""):
- gtk.glade.set_custom_handler(self.custom_handler)
- if os.path.isfile(glade_filename):
- self.glade_path = glade_filename
- else:
- glade_dir = os.path.split( sys.argv[0] )[0]
- self.glade_path = os.path.join(glade_dir, glade_filename)
- self.glade = gtk.glade.XML(self.glade_path, main_widget_name, domain)
- if main_widget_name:
- self.main_widget = self.glade.get_widget(main_widget_name)
- else:
- self.main_widget = None
- self.signal_autoconnect()
- self.new()
-
- def signal_autoconnect(self):
- signals = {}
- for attr_name in dir(self):
- attr = getattr(self, attr_name)
- if callable(attr):
- signals[attr_name] = attr
- self.glade.signal_autoconnect(signals)
-
- def custom_handler(self,
- glade, function_name, widget_name,
- str1, str2, int1, int2):
- if hasattr(self, function_name):
- handler = getattr(self, function_name)
- return handler(str1, str2, int1, int2)
-
- def __getattr__(self, data_name):
- if data_name in self:
- data = self[data_name]
- return data
- else:
- widget = self.glade.get_widget(data_name)
- if widget != None:
- self[data_name] = widget
- return widget
- else:
- raise AttributeError, data_name
-
- def __setattr__(self, name, value):
- self[name] = value
-
- def new(self):
- pass
-
- def on_keyboard_interrupt(self):
- pass
-
- def gtk_widget_show(self, widget, *args):
- widget.show()
-
- def gtk_widget_hide(self, widget, *args):
- widget.hide()
-
- def gtk_widget_grab_focus(self, widget, *args):
- widget.grab_focus()
-
- def gtk_widget_destroy(self, widget, *args):
- widget.destroy()
-
- def gtk_window_activate_default(self, widget, *args):
- widget.activate_default()
-
- def gtk_true(self, *args):
- return gtk.TRUE
-
- def gtk_false(self, *args):
- return gtk.FALSE
-
- def gtk_main_quit(self, *args):
- gtk.main_quit()
-
- def main(self):
- gtk.main()
-
- def quit(self, widget=None):
- gtk.main_quit()
-
- def run(self):
- try:
- self.main()
- except KeyboardInterrupt:
- self.on_keyboard_interrupt()
-
- def create_treeview(self,treeview,column_names):
- i=0
- for column_index, column_name in enumerate(column_names):
- column = gtk.TreeViewColumn(column_name, gtk.CellRendererText(), text=column_index)
- column.set_resizable(True)
- if i==0:
- column.set_visible(False)
- column.set_sort_column_id(i)
- treeview.append_column(column)
+import os
+import sys
+import gtk
+from pytrainer.environment import Environment
+
+class SimpleBuilderApp(dict):
+ def __init__(self, ui_filename):
+ self._builder = gtk.Builder()
+ env = Environment()
+ file_path = os.path.join(env.glade_dir, ui_filename)
+ self._builder.add_from_file(file_path)
+ self._builder.connect_signals(self)
+ self.new()
+
+ def signal_autoconnect(self):
+ signals = {}
+ for attr_name in dir(self):
+ attr = getattr(self, attr_name)
+ if callable(attr):
+ signals[attr_name] = attr
+ self._builder.connect_signals(signals)
+
+ def __getattr__(self, data_name):
+ if data_name in self:
+ data = self[data_name]
+ return data
+ else:
+ widget = self._builder.get_object(data_name)
+ if widget != None:
+ self[data_name] = widget
+ return widget
+ else:
+ raise AttributeError, data_name
+
+ def __setattr__(self, name, value):
+ self[name] = value
+
+ def new(self):
+ pass
+
+ def on_keyboard_interrupt(self):
+ pass
+
+ def gtk_widget_show(self, widget, *args):
+ widget.show()
+
+ def gtk_widget_hide(self, widget, *args):
+ widget.hide()
+
+ def gtk_widget_grab_focus(self, widget, *args):
+ widget.grab_focus()
+
+ def gtk_widget_destroy(self, widget, *args):
+ widget.destroy()
+
+ def gtk_window_activate_default(self, widget, *args):
+ widget.activate_default()
+
+ def gtk_true(self, *args):
+ return gtk.TRUE
+
+ def gtk_false(self, *args):
+ return gtk.FALSE
+
+ def gtk_main_quit(self, *args):
+ gtk.main_quit()
+
+ def main(self):
+ gtk.main()
+
+ def quit(self, widget=None):
+ gtk.main_quit()
+
+ def run(self):
+ try:
+ self.main()
+ except KeyboardInterrupt:
+ self.on_keyboard_interrupt()
+
+ def create_treeview(self,treeview,column_names):
+ i=0
+ for column_index, column_name in enumerate(column_names):
+ column = gtk.TreeViewColumn(column_name, gtk.CellRendererText(), text=column_index)
+ column.set_resizable(True)
+ if i==0:
+ column.set_visible(False)
+ column.set_sort_column_id(i)
+ treeview.append_column(column)
diff --git a/pytrainer/gui/aboutdialog.py b/pytrainer/gui/aboutdialog.py
index 8333197..5ddd91a 100644
--- a/pytrainer/gui/aboutdialog.py
+++ b/pytrainer/gui/aboutdialog.py
@@ -32,7 +32,7 @@ class About:
self.version = version
def run(self):
- authors = ["Fiz Vázquez <vud1 at sindominio.net>\nDavid García Granda <dgranda at gmail.com>\nJohn Blance <john.blance at gmail.com>\nArnd Zapletal <a.zapletal at gmail.com>\nNathan Jones <nathan at ncjones.com>\n\n-Package maintainers:\n\nRedHat/Fedora: Douglas E. Warner <silfreed at silfreed.net>\nDebian: Noèl Köthe <noel at debian.org>, Christian Perrier <bubulle at debian.org>\nUbuntu: Kevin Dwyer <kevin at pheared.net>, Alessio Treglia <quadrispro at ubuntu.com>"]
+ authors = ["Fiz Vázquez <vud1 at sindominio.net>\nDavid García Granda <dgranda at gmail.com>\nJohn Blance <john.blance at gmail.com>\nArnd Zapletal <a.zapletal at gmail.com>\nNathan Jones <nathan at ncjones.com>\nArto Jantunen <viiru at iki.fi>\n\n-Package maintainers:\n\nRedHat/Fedora: Douglas E. Warner <silfreed at silfreed.net>\nDebian: Noèl Köthe <noel at debian.org>, Christian Perrier <bubulle at debian.org>\nUbuntu: Kevin Dwyer <kevin at pheared.net>, Alessio Treglia <quadrispro at ubuntu.com>"]
translator_credits = "Euskara: Jabier Santamaria <mendikote at gmail.com>\nCatalà: Eloi Crespillo Itchart <eloi at ikuszen.com>\nČesky: Luboš Pokorny <sp.pok at seznam.cz>\nFrançais: Dj <dj at djremixtheblog.be>, Pierre Gaigé <pgaige at free.fr>, Christian Perrier <bubulle at debian.org>\nNorsk: Havard Davidsen <havard.davidsen at gmail.com>\nPolski: Seweryn Kokot <skokot at po.opole.pl>\nDeutsch: Aleks <aleks at schnecklecker.de>, Noèl Köthe <noel at debian.org>, Erik Pfannenstein <debianignatz at gmx.de>, Andr [...]
license = "pytrainer - The free sport tracking center\nCopyright (C) 2005-09 Fiz Vázquez\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY o [...]
about_dialog = gtk.AboutDialog()
diff --git a/pytrainer/gui/dialogs.py b/pytrainer/gui/dialogs.py
index 326f989..f2e13d5 100644
--- a/pytrainer/gui/dialogs.py
+++ b/pytrainer/gui/dialogs.py
@@ -20,29 +20,80 @@ import os
import pygtk
pygtk.require('2.0')
import gtk
+import logging
class fileChooserDialog():
- def __init__(self, title = "Choose a file", multiple = False):
- self.inputfiles = None
- dialog = gtk.FileChooserDialog(title, None, gtk.FILE_CHOOSER_ACTION_OPEN,(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
- dialog.set_default_response(gtk.RESPONSE_OK)
- dialog.set_select_multiple(multiple)
- response = dialog.run()
- if response == gtk.RESPONSE_OK:
- self.inputfiles = dialog.get_filenames()
- elif response == gtk.RESPONSE_CANCEL:
- self.inputfiles = None
- dialog.destroy()
-
- def getFiles(self):
- return self.inputfiles
+ def __init__(self, title = "Choose a file", multiple = False):
+ logging.warning("Deprecated fileChooserDialog class called")
+ self.inputfiles = open_file_chooser_dialog(title=title, multiple=multiple)
+
+ def getFiles(self):
+ return self.inputfiles
class guiFlush():
- def __init__(self):
- dialog = gtk.Dialog(title=None, parent=None, flags=0, buttons=None)
- dialog.show()
- dialog.destroy()
+ def __init__(self):
+ dialog = gtk.Dialog(title=None, parent=None, flags=0, buttons=None)
+ dialog.show()
+ dialog.destroy()
+def open_file_chooser_dialog(title="Choose a file", multiple=False):
+ dialog = gtk.FileChooserDialog(title, None, gtk.FILE_CHOOSER_ACTION_OPEN,(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
+ dialog.set_default_response(gtk.RESPONSE_OK)
+ dialog.set_select_multiple(multiple)
+ response = dialog.run()
+ result = None
+ if response == gtk.RESPONSE_OK:
+ result = dialog.get_filenames()
+ dialog.destroy()
+ return result
+def save_file_chooser_dialog(title="Choose a file", pattern="*.csv"):
+ dialog = gtk.FileChooserDialog(title, None, gtk.FILE_CHOOSER_ACTION_SAVE,
+ (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
+ gtk.STOCK_SAVE, gtk.RESPONSE_OK))
+ dialog.set_default_response(gtk.RESPONSE_OK)
+ dialog.set_current_name(pattern)
+ response = dialog.run()
+ result = None
+ if response == gtk.RESPONSE_OK:
+ result = dialog.get_filename()
+ dialog.destroy()
+ return result
+def warning_dialog(text="", title="Warning", cancel=False):
+ if cancel:
+ dialog = gtk.MessageDialog(type=gtk.MESSAGE_QUESTION,
+ buttons=gtk.BUTTONS_OK_CANCEL,
+ message_format=text,
+ flags=gtk.DIALOG_MODAL)
+ else:
+ dialog = gtk.MessageDialog(type=gtk.MESSAGE_WARNING,
+ buttons=gtk.BUTTONS_OK,
+ message_format=text,
+ flags=gtk.DIALOG_MODAL)
+ dialog.set_title(title)
+ result = dialog.run()
+ dialog.destroy()
+ return result
+def calendar_dialog(title="Calendar", date=None):
+ dialog = gtk.Dialog(title=title, flags=gtk.DIALOG_MODAL)
+ dialog.add_buttons(gtk.STOCK_OK, gtk.RESPONSE_OK,
+ gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
+ calendar = gtk.Calendar()
+ if date:
+ try:
+ year, month, day = date.split("-")
+ calendar.select_month(int(month)-1, int(year))
+ calendar.select_day(int(day))
+ except:
+ pass
+ dialog.vbox.pack_start(calendar, True, True, 0)
+ calendar.show()
+ result = dialog.run()
+ dialog.destroy()
+ if result == gtk.RESPONSE_OK:
+ date = calendar.get_date()
+ return "%0.4d-%0.2d-%0.2d" % (date[0], date[1] + 1, date[2])
+ elif result == gtk.RESPONSE_CANCEL:
+ return None
diff --git a/pytrainer/gui/dialogselecttrack.py b/pytrainer/gui/dialogselecttrack.py
index a8a2d12..a87b979 100644
--- a/pytrainer/gui/dialogselecttrack.py
+++ b/pytrainer/gui/dialogselecttrack.py
@@ -18,20 +18,18 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-from SimpleGladeApp import SimpleGladeApp
+from SimpleGladeApp import SimpleBuilderApp
import gtk
import gobject
import logging
-class DialogSelectTrack(SimpleGladeApp):
+class DialogSelectTrack(SimpleBuilderApp):
def __init__(self, data_path = None, tracks = None, okmethod = None, gpx = None):
logging.debug(">>")
- self.data_path = data_path
self.okmethod = okmethod
self.tracks = tracks
self.gpx = gpx
- root="selecttrackdialog"
- SimpleGladeApp.__init__(self, data_path+"glade/selecttrackdialog.glade", root, None)
+ SimpleBuilderApp.__init__(self, "selecttrackdialog.ui")
logging.debug("<<")
def new(self):
diff --git a/pytrainer/gui/drawArea.py b/pytrainer/gui/drawArea.py
index 221b847..b980cc4 100644
--- a/pytrainer/gui/drawArea.py
+++ b/pytrainer/gui/drawArea.py
@@ -17,7 +17,7 @@
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import matplotlib
-matplotlib.use('GTK')
+matplotlib.use('GTKAgg')
from matplotlib.figure import Figure
from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvasGTK
from matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as NavigationToolbar
diff --git a/pytrainer/gui/drawGraph.py b/pytrainer/gui/drawGraph.py
index 4e42287..36496fc 100644
--- a/pytrainer/gui/drawGraph.py
+++ b/pytrainer/gui/drawGraph.py
@@ -24,12 +24,14 @@ from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanva
import matplotlib.pyplot as plt
#import pylab
import logging
+from pytrainer.lib.uc import UC
class DrawGraph:
def __init__(self, parent = None, pytrainer_main = None):
logging.debug('>>')
self.parent = parent
self.pytrainer_main = pytrainer_main
+ self.uc = UC()
#self.NEARLY_ZERO = 0.0000000000000000000001
self.ax1 = None
self.ax2 = None
@@ -188,9 +190,9 @@ class DrawGraph:
if activity.x_axis == "distance":
if activity.title is None or activity.title == "":
- _title = "%s %s of %s on %s" % (str(activity.get_value_f('distance', "%0.2f")), activity.distance_unit, activity.sport_name, activity.date)
+ _title = "%s %s of %s on %s" % (str(activity.get_value_f('distance', "%0.2f")), self.uc.unit_distance, activity.sport_name, activity.date)
else:
- _title = "%s: %s %s of %s on %s" % (activity.title, str(activity.get_value_f('distance', "%0.2f")), activity.distance_unit, activity.sport_name, activity.date)
+ _title = "%s: %s %s of %s on %s" % (activity.title, str(activity.get_value_f('distance', "%0.2f")), self.uc.unit_distance, activity.sport_name, activity.date)
#Loop through data items and graph the selected ones
for item in activity.distance_data:
diff --git a/pytrainer/gui/equipment.py b/pytrainer/gui/equipment.py
index 0054ebb..0a0d5c4 100644
--- a/pytrainer/gui/equipment.py
+++ b/pytrainer/gui/equipment.py
@@ -81,7 +81,7 @@ class EquipmentUi(gtk.HBox):
gtk.HBox.__init__(self)
self._equipment_store = EquipmentStore(equipment_service)
self._builder = gtk.Builder()
- self._builder.add_from_file(glade_conf_dir + "/equipment.glade")
+ self._builder.add_from_file(glade_conf_dir + "/equipment.ui")
self._init_tree_view()
self._init_signals()
self.add(self._get_notebook())
diff --git a/pytrainer/gui/filechooser.py b/pytrainer/gui/filechooser.py
deleted file mode 100644
index 55d3cc8..0000000
--- a/pytrainer/gui/filechooser.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# -*- coding: iso-8859-1 -*-
-
-#Copyright (C) Fiz Vazquez vud1 at sindominio.net
-# Jakinbidea & Grupo Ikusnet Developer
-# vud1 at grupoikusnet.com
-
-#This program is free software; you can redistribute it and/or
-#modify it under the terms of the GNU General Public License
-#as published by the Free Software Foundation; either version 2
-#of the License, or (at your option) any later version.
-
-#This program is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-from SimpleGladeApp import SimpleGladeApp
-import gtk
-import logging
-
-class FileChooser(SimpleGladeApp):
- def __init__(self,data_path = None, parent = None, method = None, action = None):
- logging.debug('>>')
- self.data_path = data_path
- self.filename = None
- self.parent = parent
- self.method = method
- root="filechooserdialog"
- SimpleGladeApp.__init__(self, data_path+"glade/filechooserdialog.glade", root, None)
- if (action == "open"):
- self.filechooserdialog.set_action(gtk.FILE_CHOOSER_ACTION_OPEN)
- filter = gtk.FileFilter()
- filter.set_name("gpx files")
- filter.add_pattern("*.gpx")
- self.filechooserdialog.set_filter(filter)
- else:
- self.button14.set_label(_("Save"))
- self.filechooserdialog.set_action(gtk.FILE_CHOOSER_ACTION_SAVE)
- self.filechooserdialog.set_current_name("*.csv")
- logging.debug('<<')
-
- def on_accept_clicked(self,widget):
- logging.debug('>>')
- try:
- self.filename = self.filechooserdialog.get_filename()
- logging.debug("Filename chosen: %s" % self.filename)
- except AttributeError:
- if self.filename is None:
- logging.debug("No valid filename has been chosen. Exiting")
- self.quit()
- return
- logging.debug("Parent: %s | Method: %s" %(self.parent, self.method))
- parentmethod = getattr(self.parent,self.method)
- parentmethod()
- logging.debug("Closing current window")
- self.closewindow()
- logging.debug('<<')
-
- def on_cancel_clicked(self,widget):
- logging.debug(">>")
- self.closewindow()
- logging.debug('<<')
-
- def closewindow(self):
- if self.filechooserdialog is not None:
- self.filechooserdialog.hide()
- else:
- logging.debug('GTK Dialog no longer exists, nothing to do')
diff --git a/pytrainer/gui/popupmenu.py b/pytrainer/gui/popupmenu.py
index aafecfd..16ab069 100644
--- a/pytrainer/gui/popupmenu.py
+++ b/pytrainer/gui/popupmenu.py
@@ -1,6 +1,7 @@
# -*- coding: iso-8859-1 -*-
#Copyright (C) Fiz Vazquez vud1 at sindominio.net
+#Copyright (C) Arto Jantunen <viiru at iki.fi>
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
@@ -16,35 +17,43 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-from SimpleGladeApp import SimpleGladeApp
+import gtk
-class PopupMenu(SimpleGladeApp):
+class PopupMenu(gtk.Menu):
def __init__(self, data_path = None, parent = None):
- self.parent = parent
- glade_path="glade/pytrainer.glade"
- root = "popup"
- domain = None
- SimpleGladeApp.__init__(self, data_path+glade_path, root, domain)
+ super(gtk.Menu, self).__init__()
+ self.windowmain = parent
+ edit_record = gtk.ImageMenuItem(gtk.STOCK_EDIT)
+ edit_record.set_label(_("Edit Record"))
+ edit_record.connect("activate", self.on_editrecord_activate)
+ self.attach(edit_record, 0, 1, 0, 1)
+ show_graph = gtk.ImageMenuItem(gtk.STOCK_FIND)
+ show_graph.set_label(_("Show graph in classic view"))
+ show_graph.connect("activate", self.on_showclassic_activate)
+ self.attach(show_graph, 0, 1, 1, 2)
+ self.attach(gtk.SeparatorMenuItem(), 0, 1, 2, 3)
+ remove_record = gtk.ImageMenuItem(gtk.STOCK_DELETE)
+ remove_record.connect("activate", self.on_remove_activate)
+ self.attach(remove_record, 0, 1, 3, 4)
def show(self,id_record,event_button, time, date=None):
self.id_record = id_record
self.date = date
self.iter = iter
- self.popup.popup( None, None, None, event_button, time)
+ self.show_all()
+ self.popup(None, None, None, event_button, time)
def on_editrecord_activate(self,widget):
- self.parent.parent.editRecord(self.id_record, view=self.parent.selected_view)
+ self.windowmain.parent.editRecord(self.id_record, view=self.windowmain.selected_view)
def on_showclassic_activate(self,widget):
#Set date in classic view
if self.date is not None:
- self.parent.parent.date.setDate(self.date)
- self.parent.classicview_item.set_active(True)
- #self.parent.on_calendar_selected(None)
- self.parent.notebook.set_current_page(0)
- #self.parent.parent.refreshGraphView("record")
- self.parent.recordview.set_current_page(0)
- self.parent.parent.refreshRecordGraphView("info", id_record=self.id_record)
+ self.windowmain.parent.date.setDate(self.date)
+ self.windowmain.classicview_item.set_active(True)
+ self.windowmain.notebook.set_current_page(0)
+ self.windowmain.recordview.set_current_page(0)
+ self.windowmain.parent.refreshRecordGraphView("info", id_record=self.id_record)
def on_remove_activate(self,widget):
- self.parent.parent.removeRecord(self.id_record, view=self.parent.selected_view)
+ self.windowmain.parent.removeRecord(self.id_record, view=self.windowmain.selected_view)
diff --git a/pytrainer/gui/warning.py b/pytrainer/gui/warning.py
index c77e701..5b361dc 100644
--- a/pytrainer/gui/warning.py
+++ b/pytrainer/gui/warning.py
@@ -16,53 +16,52 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-from SimpleGladeApp import SimpleGladeApp
+from pytrainer.gui.dialogs import warning_dialog
+import gtk
+import logging
-class Warning(SimpleGladeApp):
- def __init__(self, data_path = None, okmethod = None, okparams = None, cancelmethod = None, cancelparams = None):
- self.okmethod = okmethod
- self.cancelmethod = cancelmethod
- self.okparams = okparams
- self.cancelparams = cancelparams
- glade_path="glade/warning.glade"
- self.path = data_path+glade_path
- root = "warning"
- domain = None
- SimpleGladeApp.__init__(self, self.path, root, domain)
- if okmethod == None:
- self.cancelbutton1.hide()
+class Warning(object):
+ def __init__(self, data_path = None, okmethod = None, okparams = None, cancelmethod = None, cancelparams = None):
+ logging.warning("Deprecated Warning class called")
+ self.okmethod = okmethod
+ self.cancelmethod = cancelmethod
+ self.okparams = okparams
+ self.cancelparams = cancelparams
+ self.text = ""
+ self.title = "Warning"
- def set_title(self, title):
- self.warning.set_title(title)
+ def set_title(self, title):
+ self.title = title
- def set_text(self, msg):
- self.warningText.set_text(msg)
-
- def on_accept_clicked(self,widget):
- if self.okparams != None:
- num = len(self.okparams)
- if num==0:
- self.okmethod()
- if num==1:
- self.okmethod(self.okparams[0])
- if num==2:
- self.okmethod(self.okparams[0],self.okparams[1])
- self.close_window()
-
- def on_cancel_clicked(self,widget):
- self.warning.hide()
- if self.cancelparams != None:
- num = len(self.cancelparams)
- if num==0:
- self.cancelmethod()
- if num==1:
- self.cancelmethod(self.cancelparams[0])
- if num==2:
- self.cancelmethod(self.cancelparams[0], self.cancelparams[1])
- self.close_window()
+ def set_text(self, msg):
+ self.text = msg
- def close_window(self):
- self.warning.hide()
- #self.warning = None
- self.quit()
-
+ def on_accept_clicked(self):
+ if self.okparams != None:
+ num = len(self.okparams)
+ if num==0:
+ self.okmethod()
+ if num==1:
+ self.okmethod(self.okparams[0])
+ if num==2:
+ self.okmethod(self.okparams[0],self.okparams[1])
+
+ def on_cancel_clicked(self):
+ if self.cancelparams != None:
+ num = len(self.cancelparams)
+ if num==0:
+ self.cancelmethod()
+ if num==1:
+ self.cancelmethod(self.cancelparams[0])
+ if num==2:
+ self.cancelmethod(self.cancelparams[0], self.cancelparams[1])
+
+ def run(self):
+ if self.okmethod:
+ response = warning_dialog(text=self.text, title=self.title, cancel=True)
+ else:
+ response = warning_dialog(text=self.text, title=self.title, cancel=False)
+ if response == gtk.RESPONSE_OK:
+ self.on_accept_clicked()
+ elif response == gtk.RESPONSE_CANCEL:
+ self.on_cancel_clicked()
diff --git a/pytrainer/gui/windowcalendar.py b/pytrainer/gui/windowcalendar.py
index 38e9c2a..ca00166 100644
--- a/pytrainer/gui/windowcalendar.py
+++ b/pytrainer/gui/windowcalendar.py
@@ -16,36 +16,16 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-from SimpleGladeApp import SimpleGladeApp
import logging
+from pytrainer.gui.dialogs import calendar_dialog
-class WindowCalendar(SimpleGladeApp):
+class WindowCalendar(object):
def __init__(self, data_path = None, parent = None, date = None):
- logging.debug(">>")
+ logging.warning("Deprecated WindowCalendar class called")
self.parent = parent
- glade_path="glade/calendar.glade"
- root = "calendardialog"
- domain = None
- SimpleGladeApp.__init__(self, data_path+glade_path, root, domain)
- if date is not None:
- try:
- year, month, day = date.split("-")
- self.calendar.select_month( int(month)-1, int(year) )
- self.calendar.select_day( int(day) )
- except:
- pass
- logging.debug("<<")
-
- def on_accept_clicked(self,widget):
- date = self.calendar.get_date()
- date = "%0.4d-%0.2d-%0.2d" %(date[0],date[1]+1,date[2])
- self.parent.setDate(date)
- self.close_window()
+ self.date = date
- def on_cancel_clicked(self,widget):
- self.close_window()
-
- def close_window(self):
- self.calendardialog.hide()
- self.calendardialog = None
- self.quit()
+ def run(self):
+ date = calendar_dialog(date=self.date)
+ if date:
+ self.parent.setDate(date)
diff --git a/pytrainer/gui/windowextensions.py b/pytrainer/gui/windowextensions.py
index 9d52896..b5fc80b 100644
--- a/pytrainer/gui/windowextensions.py
+++ b/pytrainer/gui/windowextensions.py
@@ -16,18 +16,15 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-from SimpleGladeApp import SimpleGladeApp
+from SimpleGladeApp import SimpleBuilderApp
import gtk
import gobject
import os
-class WindowExtensions(SimpleGladeApp):
+class WindowExtensions(SimpleBuilderApp):
def __init__(self, data_path = None, parent=None):
- glade_path="glade/extensions.glade"
- root = "extensions"
- domain = None
self.parent = parent
- SimpleGladeApp.__init__(self, data_path+glade_path, root, domain)
+ SimpleBuilderApp.__init__(self, "extensions.ui")
def new(self):
column_names=["id","name"]
diff --git a/pytrainer/gui/windowimportdata.py b/pytrainer/gui/windowimportdata.py
index 47fa553..a111353 100644
--- a/pytrainer/gui/windowimportdata.py
+++ b/pytrainer/gui/windowimportdata.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-from SimpleGladeApp import SimpleGladeApp
+from SimpleGladeApp import SimpleBuilderApp
import gtk
import gobject
import os, glob, sys
@@ -14,15 +14,12 @@ import locale
from pytrainer.plugins import Plugins
from pytrainer.gui.dialogs import fileChooserDialog
-from pytrainer.lib.date import Date
+from pytrainer.lib.date import getDateTime
-class WindowImportdata(SimpleGladeApp):
+class WindowImportdata(SimpleBuilderApp):
def __init__(self, sport_service, data_path = None, parent=None, config=None, pytrainer_main=None):
self._sport_service = sport_service
self.data_path = data_path
- self.glade_path=data_path+"glade/importdata.glade"
- self.root = "win_importdata"
- self.domain = None
self.parent = parent
self.pytrainer_main = pytrainer_main
self.configuration = config
@@ -30,7 +27,7 @@ class WindowImportdata(SimpleGladeApp):
self.files_store = None # gtk.ListStore containing gtk.TreeModelRow, see build_files_tree_view
self.processClasses = []
self.plugins = Plugins(data_path, self.parent.parent)
- SimpleGladeApp.__init__(self, self.glade_path, self.root, self.domain)
+ SimpleBuilderApp.__init__(self, "importdata.ui")
def new(self):
logging.debug(">>")
@@ -871,7 +868,7 @@ class WindowImportdata(SimpleGladeApp):
continue
data = {}
#Determine dates
- _date = Date().getDateTime(row[dateCol-1])
+ _date = getDateTime(row[dateCol-1])
#year, month, day = date.split("-")
date = _date[1].strftime("%Y-%m-%d")
zuluDateTime = _date[0].strftime("%Y-%m-%dT%H:%M:%SZ")
diff --git a/pytrainer/gui/windowmain.py b/pytrainer/gui/windowmain.py
index d42586c..bd56a33 100644
--- a/pytrainer/gui/windowmain.py
+++ b/pytrainer/gui/windowmain.py
@@ -18,37 +18,29 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-import gobject
-import sys
+import os
import logging
-import datetime
import matplotlib
+import gobject
+import gtk
import dateutil.parser
-from dateutil.tz import * # for tzutc()
-from SimpleGladeApp import *
+from SimpleGladeApp import SimpleBuilderApp
from popupmenu import PopupMenu
from aboutdialog import About
import pytrainer.record
-from pytrainer.lib.date import Date
+from pytrainer.lib.date import Date, second2time
from pytrainer.lib.xmlUtils import XMLParser
#from pytrainer.lib.gpx import Gpx
-from pytrainer.extensions.googlemaps import Googlemaps
-from pytrainer.extensions.osm import Osm
-from pytrainer.lib.unitsconversor import *
from pytrainer.recordgraph import RecordGraph
-from pytrainer.daygraph import DayGraph
from pytrainer.weekgraph import WeekGraph
from pytrainer.monthgraph import MonthGraph
from pytrainer.yeargraph import YearGraph
from pytrainer.totalgraph import TotalGraph
from pytrainer.heartrategraph import HeartRateGraph
-from pytrainer.extensions.mapviewer import MapViewer
-from pytrainer.extensions.waypointeditor import WaypointEditor
-from pytrainer.core.equipment import EquipmentService
from pytrainer.gui.drawGraph import DrawGraph
from pytrainer.gui.windowcalendar import WindowCalendar
@@ -56,7 +48,7 @@ from pytrainer.lib.listview import ListSearch
from pytrainer.lib.uc import UC
-class Main(SimpleGladeApp):
+class Main(SimpleBuilderApp):
def __init__(self, sport_service, data_path = None, parent = None, version = None, gpxDir = None):
self._sport_service = sport_service
def url_hook(dialog, url):
@@ -67,14 +59,11 @@ class Main(SimpleGladeApp):
self.parent = parent
self.pytrainer_main = parent
self.data_path = data_path
- glade_path="glade/pytrainer.glade"
- root = "window1"
- domain = None
-
- SimpleGladeApp.__init__(self, self.data_path+glade_path, root, domain)
-
self.uc = UC()
+ SimpleBuilderApp.__init__(self, "pytrainer.ui")
+
self.popup = PopupMenu(data_path,self)
+
self.block = False
self.activeSport = None
self.gpxDir = gpxDir
@@ -91,6 +80,9 @@ class Main(SimpleGladeApp):
self.listsearch = ListSearch(sport_service, self, self.pytrainer_main)
self.aboutwindow = None
+ self.mapviewer = None
+ self.mapviewer_fs = None
+ self.waypointeditor = None
def new(self):
self.menublocking = 0
@@ -103,11 +95,7 @@ class Main(SimpleGladeApp):
pass
self.record_list = []
#create the columns for the listdayrecord
- if self.pytrainer_main.profile.prf_us_system:
- distance_unit = _("Miles")
- else:
- distance_unit = _("Km")
- columns = [{'name':_("id"), 'visible':False},{'name':_("Start"), }, {'name':_("Sport")},{'name':distance_unit}]
+ columns = [{'name':_("id"), 'visible':False},{'name':_("Start"), }, {'name':_("Sport")},{'name':self.uc.unit_distance}]
self.create_treeview(self.recordTreeView,columns)
#create the columns for the listarea
# different codings for mean see eg http://de.wikipedia.org/wiki/%C3%98#Kodierung
@@ -215,11 +203,12 @@ class Main(SimpleGladeApp):
return result
def setup(self):
+ logging.debug(">>")
self.createGraphs()
- self.createMap(MapViewer,self.pytrainer_main.waypoint)
- self.createWaypointEditor(WaypointEditor,self.pytrainer_main.waypoint, parent=self.pytrainer_main)
+ self.createMap()
page = self.notebook.get_current_page()
self.on_page_change(None,None,page)
+ logging.debug("<<")
def _createXmlListView(self,file):
menufile = XMLParser(file)
@@ -271,6 +260,7 @@ class Main(SimpleGladeApp):
self.parent.runExtension(extension,id)
def createGraphs(self):
+ logging.debug(">>")
self.drawarearecord = RecordGraph(self.record_graph_vbox, self.window1, self.record_combovalue, self.record_combovalue2, self.btnShowLaps, self.tableConfigY1, pytrainer_main=self.pytrainer_main)
self.drawareaheartrate = HeartRateGraph(self.heartrate_vbox, self.window1, self.heartrate_vbox2, pytrainer_main=self.pytrainer_main)
self.day_vbox.hide()
@@ -279,22 +269,35 @@ class Main(SimpleGladeApp):
self.drawareamonth = MonthGraph(sports, self.month_vbox, self.window1, self.month_combovalue,self.month_combovalue2, self.pytrainer_main)
self.drawareayear = YearGraph(sports, self.year_vbox, self.window1, self.year_combovalue,self.year_combovalue2, self.pytrainer_main)
self.drawareatotal = TotalGraph(sports, self.total_vbox, self.window1, self.total_combovalue,self.total_combovalue2, self.pytrainer_main)
+ logging.debug("<<")
- def createMap(self,MapViewer,waypoint):
- self.waypoint = waypoint
- if not getattr(self, 'mapviewer', None):
- self.mapviewer = MapViewer(self.data_path, pytrainer_main=self.parent, box=self.map_vbox)
- self.mapviewer_fs = MapViewer(self.data_path, pytrainer_main=self.parent, box=self.map_vbox_old)
- #self.googlemaps = Googlemaps(self.data_path, self.map_vbox,waypoint, pytrainer_main=self.parent)
- #self.osm = Osm(self.data_path, self.map_vbox,waypoint, pytrainer_main=self.parent)
- #self.googlemaps_old = Googlemaps(self.data_path, self.map_vbox_old,waypoint, pytrainer_main=self.parent)
+ def createMap(self):
+ logging.debug(">>")
+ if not self.mapviewer and not self.mapviewer_fs and not self.waypointeditor:
+ try:
+ from pytrainer.extensions.mapviewer import MapViewer
+ from pytrainer.extensions.googlemaps import Googlemaps
+ from pytrainer.extensions.osm import Osm
+ from pytrainer.extensions.waypointeditor import WaypointEditor
+ self.mapviewer = MapViewer(self.data_path, pytrainer_main=self.parent, box=self.map_vbox)
+ self.mapviewer_fs = MapViewer(self.data_path, pytrainer_main=self.parent, box=self.map_vbox_old)
+ self.waypointeditor = WaypointEditor(self.data_path, self.waypointvbox,
+ self.pytrainer_main.waypoint,
+ parent=self.pytrainer_main)
+ except ImportError:
+ logging.error("Webkit not found, map functionality not available")
+ for container in self.map_vbox, self.map_vbox_old, self.waypointvbox:
+ message = gtk.Label(_("Webkit not found, map functionality not available"))
+ message.set_selectable(True)
+ container.foreach(lambda widget:container.remove(widget))
+ container.add(message)
+ container.show_all()
+ logging.debug("<<")
def updateSportList(self,listSport):
logging.debug(">>")
liststore = self.sportlist.get_model()
- if self.sportlist.get_active() is not 0:
- self.sportlist.set_active(0) #Set first item active if it isnt
- firstEntry = self.sportlist.get_active_text()
+ firstEntry = _("All Sports")
liststore.clear() #Delete all items
#Re-add "All Sports"
liststore.append([firstEntry])
@@ -307,7 +310,7 @@ class Main(SimpleGladeApp):
def render_duration(self, column, cell, model, iter):
orig = cell.get_property('text')
if not ':' in orig:
- h,m,s = self.parent.date.second2time(int(orig))
+ h,m,s = second2time(int(orig))
new = '%d:%02d:%02d' % (h,m,s)
else:
new = orig
@@ -385,13 +388,13 @@ class Main(SimpleGladeApp):
logging.debug("<<")
return
#Set the units for the activity results, e.g. km, km/h etc
- self.r_distance_unit.set_text(activity.distance_unit)
- self.r_speed_unit.set_text(activity.speed_unit)
- self.r_maxspeed_unit.set_text(activity.speed_unit)
- self.r_pace_unit.set_text(activity.pace_unit)
- self.r_maxpace_unit.set_text(activity.pace_unit)
- self.r_ascent_unit.set_text(activity.height_unit)
- self.r_descent_unit.set_text(activity.height_unit)
+ self.r_distance_unit.set_text(self.uc.unit_distance)
+ self.r_speed_unit.set_text(self.uc.unit_speed)
+ self.r_maxspeed_unit.set_text(self.uc.unit_speed)
+ self.r_pace_unit.set_text(self.uc.unit_pace)
+ self.r_maxpace_unit.set_text(self.uc.unit_pace)
+ self.r_ascent_unit.set_text(self.uc.unit_height)
+ self.r_descent_unit.set_text(self.uc.unit_height)
if activity.has_data:
self.recordview.set_sensitive(1)
@@ -416,8 +419,8 @@ class Main(SimpleGladeApp):
self.record_duration.set_text(activity.get_value_f('time', '%s'))
self.record_calories.set_text(activity.get_value_f('calories', "%0.0f"))
self.record_title.set_text(activity.title)
- hrun,mrun,srun = self.pytrainer_main.date.second2time(activity.time)
- hpause,mpause,spause = self.pytrainer_main.date.second2time(activity.time_pause)
+ hrun,mrun,srun = second2time(activity.time)
+ hpause,mpause,spause = second2time(activity.time_pause)
self.record_runrest.set_text("%02d:%02d:%02d / %02d:%02d:%02d" %(hrun,mrun,srun,hpause,mpause,spause))
buffer = self.record_comments.get_buffer()
start,end = buffer.get_bounds()
@@ -448,8 +451,7 @@ class Main(SimpleGladeApp):
t = lap['elapsed_time']
m = lap['distance']
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- m = km2miles(m)
+ m = self.uc.speed(m)
s = m / float(t) * 3.6
max_speed = lap['max_speed'] * 3.6
@@ -862,14 +864,11 @@ class Main(SimpleGladeApp):
import numpy
speeds = [r['average'] for r in records]
- if self.pytrainer_main.profile.prf_us_system:
- self.label_ranking_range.set_text("%.2f - %.2f %s" % (km2miles(activity.distance * (1-percentage)), km2miles(activity.distance * (1+percentage)), activity.distance_unit))
- else:
- self.label_ranking_range.set_text("%.2f - %.2f %s" % (activity.distance * (1-percentage), activity.distance * (1+percentage), activity.distance_unit))
+ self.label_ranking_range.set_text("%.2f - %.2f %s" % (self.uc.distance(activity.distance * (1-percentage)), self.uc.distance(activity.distance * (1+percentage)), self.uc.unit_distance))
self.label_ranking_rank.set_text("%s/%s" % (count, len(records)))
- self.label_ranking_avg.set_text("%.2f %s" % (km2miles(numpy.average(speeds)) if self.pytrainer_main.profile.prf_us_system else numpy.average(speeds), activity.speed_unit))
- self.label_ranking_speed.set_text("%.2f %s" % (km2miles(activity.average) if self.pytrainer_main.profile.prf_us_system else activity.average, activity.speed_unit))
- self.label_ranking_stddev.set_text("%.4f" % (km2miles(numpy.std(speeds)) if self.pytrainer_main.profile.prf_us_system else numpy.std(speeds)))
+ self.label_ranking_avg.set_text("%.2f %s" % (self.uc.speed(numpy.average(speeds)), self.uc.unit_speed))
+ self.label_ranking_speed.set_text("%.2f %s" % (self.uc.speed(activity.average), self.uc.unit_speed))
+ self.label_ranking_stddev.set_text("%.4f" % (self.uc.speed(numpy.std(speeds))))
self.label_ranking_dev.set_text("%+.2fσ" % ((activity.average - numpy.average(speeds)) / numpy.std(speeds)))
rank_store = gtk.ListStore(
@@ -899,7 +898,7 @@ class Main(SimpleGladeApp):
0, i,
1, rank,
2, r['date'],
- 3, km2miles(r['distance']) if self.pytrainer_main.profile.prf_us_system else r['distance'],
+ 3, self.uc.distance(r['distance']),
4, str(r['time']),
5, r['average'],
6, r['pace'],
@@ -915,18 +914,11 @@ class Main(SimpleGladeApp):
def actualize_dayview(self,record_list=None, activity_list=None):
logging.debug(">>")
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- self.d_distance_unit.set_text(_("miles"))
- self.d_speed_unit.set_text(_("miles/h"))
- self.d_maxspeed_unit.set_text(_("miles/h"))
- self.d_pace_unit.set_text(_("min/mile"))
- self.d_maxpace_unit.set_text(_("min/mile"))
- else:
- self.d_distance_unit.set_text(_("km"))
- self.d_speed_unit.set_text(_("km/h"))
- self.d_maxspeed_unit.set_text(_("km/h"))
- self.d_pace_unit.set_text(_("min/km"))
- self.d_maxpace_unit.set_text(_("min/km"))
+ self.d_distance_unit.set_text(self.uc.unit_distance)
+ self.d_speed_unit.set_text(self.uc.unit_speed)
+ self.d_maxspeed_unit.set_text(self.uc.unit_speed)
+ self.d_pace_unit.set_text(self.uc.unit_pace)
+ self.d_maxpace_unit.set_text(self.uc.unit_pace)
if len(record_list)>0:
tbeats = 0
@@ -955,9 +947,8 @@ class Main(SimpleGladeApp):
if record[10] > maxbeats:
maxbeats = self.parseFloat(record[10])
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- distance = km2miles(distance)
- maxspeed = km2miles(maxspeed)
+ distance = self.uc.distance(distance)
+ maxspeed = self.uc.speed(maxspeed)
if tbeats > 0 and timeinseconds > 0:
tbeats = tbeats/(timeinseconds/60/60)
@@ -970,7 +961,7 @@ class Main(SimpleGladeApp):
self.dayview.set_sensitive(1)
self.day_distance.set_text("%0.2f" %distance)
- hour,min,sec=self.parent.date.second2time(timeinseconds)
+ hour,min,sec = second2time(timeinseconds)
self.day_hour.set_text("%d" %hour)
self.day_minute.set_text("%02d" %min)
self.day_second.set_text("%02d" %sec)
@@ -1005,26 +996,27 @@ class Main(SimpleGladeApp):
def actualize_map(self,activity, full_screen=False):
logging.debug(">>")
- #Check which type of map viewer to use
- if self.radiobuttonOSM.get_active():
- #Use OSM to draw map
- logging.debug("Using OSM to draw map....")
- htmlfile = Osm(data_path=self.data_path, waypoint=self.waypoint, pytrainer_main=self.parent).drawMap(activity, self.comboMapLineType.get_active())
- elif self.radiobuttonGMap.get_active():
- #Use Google to draw map
- logging.debug("Using Google to draw map")
- htmlfile = Googlemaps(data_path=self.data_path, waypoint=self.waypoint, pytrainer_main=self.parent).drawMap(activity, self.comboMapLineType.get_active())
- else:
- #Unknown map type...
- logging.error("Unknown map viewer requested")
- htmlfile = self.mapviewer.createErrorHtml()
- logging.debug("Displaying htmlfile: %s" % htmlfile)
- if full_screen:
- logging.debug("Displaying in full screen mode")
- self.mapviewer_fs.display_map(htmlfile=htmlfile)
- else:
- logging.debug("Displaying in embedded mode")
- self.mapviewer.display_map(htmlfile=htmlfile)
+ if self.mapviewer and self.mapviewer_fs:
+ #Check which type of map viewer to use
+ if self.radiobuttonOSM.get_active():
+ #Use OSM to draw map
+ logging.debug("Using OSM to draw map....")
+ htmlfile = Osm(data_path=self.data_path, waypoint=self.pytrainer_main.waypoint, pytrainer_main=self.parent).drawMap(activity, self.comboMapLineType.get_active())
+ elif self.radiobuttonGMap.get_active():
+ #Use Google to draw map
+ logging.debug("Using Google to draw map")
+ htmlfile = Googlemaps(data_path=self.data_path, waypoint=self.pytrainer_main.waypoint, pytrainer_main=self.parent).drawMap(activity, self.comboMapLineType.get_active())
+ else:
+ #Unknown map type...
+ logging.error("Unknown map viewer requested")
+ htmlfile = self.mapviewer.createErrorHtml()
+ logging.debug("Displaying htmlfile: %s" % htmlfile)
+ if full_screen:
+ logging.debug("Displaying in full screen mode")
+ self.mapviewer_fs.display_map(htmlfile=htmlfile)
+ else:
+ logging.debug("Displaying in embedded mode")
+ self.mapviewer.display_map(htmlfile=htmlfile)
logging.debug("<<")
def actualize_weekview(self, record_list, date_range):
@@ -1041,18 +1033,12 @@ class Main(SimpleGladeApp):
maxbeats = 0
totalascent = 0
totaldescent = 0
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- self.w_distance_unit.set_text(_("miles"))
- self.w_speed_unit.set_text(_("miles/h"))
- self.w_maxspeed_unit.set_text(_("miles/h"))
- self.w_pace_unit.set_text(_("min/mile"))
- self.w_maxpace_unit.set_text(_("min/mile"))
- else:
- self.w_distance_unit.set_text(_("km"))
- self.w_speed_unit.set_text(_("km/h"))
- self.w_maxspeed_unit.set_text(_("km/h"))
- self.w_pace_unit.set_text(_("min/km"))
- self.w_maxpace_unit.set_text(_("min/km"))
+
+ self.w_distance_unit.set_text(self.uc.unit_distance)
+ self.w_speed_unit.set_text(self.uc.unit_speed)
+ self.w_maxspeed_unit.set_text(self.uc.unit_speed)
+ self.w_pace_unit.set_text(self.uc.unit_pace)
+ self.w_maxpace_unit.set_text(self.uc.unit_pace)
if num_records>0:
for record in record_list:
@@ -1071,9 +1057,8 @@ class Main(SimpleGladeApp):
if record[8] > maxbeats:
maxbeats = self.parseFloat(record[8])
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- km = km2miles(km)
- maxspeed = km2miles(maxspeed)
+ km = self.uc.distance(km)
+ maxspeed = self.uc.speed(maxspeed)
if time_in_min > 0:
tbeats = tbeats/time_in_min
@@ -1092,7 +1077,7 @@ class Main(SimpleGladeApp):
pace = "%d:%02d" %((3600/average)/60,(3600/average)%60)
self.weeka_distance.set_text("%0.2f" %km)
- hour,min,sec = self.parent.date.second2time(time)
+ hour,min,sec = second2time(time)
self.weeka_hour.set_text("%d" %hour)
self.weeka_minute.set_text("%02d" %min)
self.weeka_second.set_text("%02d" %sec)
@@ -1123,18 +1108,11 @@ class Main(SimpleGladeApp):
maxbeats = 0
totalascent = 0
totaldescent = 0
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- self.m_distance_unit.set_text(_("miles"))
- self.m_speed_unit.set_text(_("miles/h"))
- self.m_maxspeed_unit.set_text(_("miles/h"))
- self.m_pace_unit.set_text(_("min/mile"))
- self.m_maxpace_unit.set_text(_("min/mile"))
- else:
- self.m_distance_unit.set_text(_("km"))
- self.m_speed_unit.set_text(_("km/h"))
- self.m_maxspeed_unit.set_text(_("km/h"))
- self.m_pace_unit.set_text(_("min/km"))
- self.m_maxpace_unit.set_text(_("min/km"))
+ self.m_distance_unit.set_text(self.uc.unit_distance)
+ self.m_speed_unit.set_text(self.uc.unit_speed)
+ self.m_maxspeed_unit.set_text(self.uc.unit_speed)
+ self.m_pace_unit.set_text(self.uc.unit_pace)
+ self.m_maxpace_unit.set_text(self.uc.unit_pace)
if num_records>0:
for record in record_list:
@@ -1153,9 +1131,8 @@ class Main(SimpleGladeApp):
if record[8] > maxbeats:
maxbeats = self.parseFloat(record[8])
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- km = km2miles(km)
- maxspeed = km2miles(maxspeed)
+ km = self.uc.distance(km)
+ maxspeed = self.uc.speed(maxspeed)
if time_in_min > 0:
tbeats = tbeats/time_in_min
@@ -1174,7 +1151,7 @@ class Main(SimpleGladeApp):
pace = "%d:%02d" %((3600/average)/60,float(3600/average)%60)
self.montha_distance.set_text("%0.2f" %km)
- hour,min,sec = self.parent.date.second2time(time)
+ hour,min,sec = second2time(time)
self.montha_hour.set_text("%d" %hour)
self.montha_minute.set_text("%02d" %min)
self.montha_second.set_text("%02d" %sec)
@@ -1209,18 +1186,11 @@ class Main(SimpleGladeApp):
maxbeats = 0
totalascent = 0
totaldescent = 0
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- self.y_distance_unit.set_text(_("miles"))
- self.y_speed_unit.set_text(_("miles/h"))
- self.y_maxspeed_unit.set_text(_("miles/h"))
- self.y_pace_unit.set_text(_("min/mile"))
- self.y_maxpace_unit.set_text(_("min/mile"))
- else:
- self.y_distance_unit.set_text(_("km"))
- self.y_speed_unit.set_text(_("km/h"))
- self.y_maxspeed_unit.set_text(_("km/h"))
- self.y_pace_unit.set_text(_("min/km"))
- self.y_maxpace_unit.set_text(_("min/km"))
+ self.y_distance_unit.set_text(self.uc.unit_distance)
+ self.y_speed_unit.set_text(self.uc.unit_speed)
+ self.y_maxspeed_unit.set_text(self.uc.unit_speed)
+ self.y_pace_unit.set_text(self.uc.unit_pace)
+ self.y_maxpace_unit.set_text(self.uc.unit_pace)
if num_records>0:
for record in record_list:
km += self.parseFloat(record[1])
@@ -1238,9 +1208,8 @@ class Main(SimpleGladeApp):
if record[8] > maxbeats:
maxbeats = self.parseFloat(record[8])
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- km = km2miles(km)
- maxspeed = km2miles(maxspeed)
+ km = self.uc.distance(km)
+ maxspeed = self.uc.speed(maxspeed)
if time_in_min > 0:
tbeats = tbeats/time_in_min
@@ -1259,7 +1228,7 @@ class Main(SimpleGladeApp):
pace = "%d:%02d" %((3600/average)/60,(3600/average)%60)
self.yeara_distance.set_text("%0.2f" %km)
- hour,min,sec = self.parent.date.second2time(time)
+ hour,min,sec = second2time(time)
self.yeara_hour.set_text("%d" %hour)
self.yeara_minute.set_text("%02d" %min)
self.yeara_second.set_text("%02d" %sec)
@@ -1371,7 +1340,6 @@ class Main(SimpleGladeApp):
#date,distance,average,title,sports.name,id_record,time,beats,caloriesi
#Laas columnas son:
#column_names=[_("id"),_("Title"),_("Date"),_("Distance"),_("Sport"),_("Time"),_("Beats"),_("Average"),("Calories")]
- date = Date()
store = gtk.ListStore(
gobject.TYPE_INT,
gobject.TYPE_STRING,
@@ -1385,7 +1353,7 @@ class Main(SimpleGladeApp):
object)
for i in record_list:
try:
- hour,min,sec = date.second2time(int(i[6]))
+ hour,min,sec = second2time(int(i[6]))
except (ValueError, TypeError):
hour,min,sec = (0,0,0)
_time = "%2d:%02d:%02d" %(hour,min,sec)
@@ -1476,7 +1444,7 @@ class Main(SimpleGladeApp):
self.waypoint_name.set_text(str(record_list[default_id][6]))
self.waypoint_description.set_text(str(record_list[default_id][4]))
self.set_waypoint_type(str(record_list[default_id][7]))
- if redrawmap == 1:
+ if redrawmap == 1 and self.waypointeditor:
self.waypointeditor.createHtml(default_waypoint)
self.waypointeditor.drawMap()
logging.debug("<<")
@@ -1593,9 +1561,6 @@ class Main(SimpleGladeApp):
menuItems[numcolumn-1].set_active(visible)
self.menublocking = 1
- def createWaypointEditor(self,WaypointEditor,waypoint, parent=None):
- self.waypointeditor = WaypointEditor(self.data_path, self.waypointvbox,waypoint,parent)
-
def zoom_graph(self, y1limits=None, y1color=None, y1_linewidth=1):
logging.debug(">>")
logging.debug("Reseting graph Y axis with ylimits: %s" % str(y1limits) )
@@ -1916,8 +1881,9 @@ class Main(SimpleGladeApp):
logging.debug("--")
self.parent.refreshGraphView(self.selected_view)
- def on_calendar_selected(self,widget):
- logging.debug("--")
+ def on_calendar_selected(self, widget):
+ logging.debug(">>")
+ logging.debug("Block (%s) | Selected view: %s" % (self.block, self.selected_view))
if self.block:
self.block = False
else:
@@ -1926,6 +1892,7 @@ class Main(SimpleGladeApp):
self.parent.refreshRecordGraphView("info")
self.parent.refreshListRecords()
self.parent.refreshGraphView(self.selected_view)
+ logging.debug("<<")
def on_calendar_changemonth(self,widget):
logging.debug("--")
@@ -2062,10 +2029,7 @@ class Main(SimpleGladeApp):
localTime = dateutil.parser.parse(dateTime).strftime("%H:%M")
else:
localTime = ""
- if self.pytrainer_main.profile.prf_us_system:
- dist = km2miles(i[2])
- else:
- dist = i[2]
+ dist = self.uc.distance(i[2])
distance = "%0.2f" % (float(dist) )
store.set (
iter,
@@ -2078,10 +2042,7 @@ class Main(SimpleGladeApp):
for lap in laps:
#"id_lap, record, elapsed_time, distance, start_lat, start_lon, end_lat, end_lon, calories, lap_number",
lapNumber = "%s %02d" % ( _("lap"), int(lap[9])+1 )
- if self.pytrainer_main.profile.prf_us_system:
- dist = km2miles(lap[3])
- else:
- dist = lap[3]
+ dist = self.uc.distance(lap[3])
distance = "%0.2f" % (float(dist) / 1000.0)
timeHours = int(float(lap[2]) / 3600)
timeMin = int((float(lap[2]) / 3600.0 - timeHours) * 60)
diff --git a/pytrainer/gui/windowplugins.py b/pytrainer/gui/windowplugins.py
index c8ee4d7..facc79b 100644
--- a/pytrainer/gui/windowplugins.py
+++ b/pytrainer/gui/windowplugins.py
@@ -16,18 +16,15 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-from SimpleGladeApp import SimpleGladeApp
+from SimpleGladeApp import SimpleBuilderApp
import gtk
import gobject
import os
-class WindowPlugins(SimpleGladeApp):
+class WindowPlugins(SimpleBuilderApp):
def __init__(self, data_path = None, parent=None):
- glade_path="glade/plugins.glade"
- root = "plugins"
- domain = None
self.parent = parent
- SimpleGladeApp.__init__(self, data_path+glade_path, root, domain)
+ SimpleBuilderApp.__init__(self, "plugins.ui")
def new(self):
column_names=["id","name"]
self.create_treeview(self.pluginsTreeview,column_names)
diff --git a/pytrainer/gui/windowprofile.py b/pytrainer/gui/windowprofile.py
index 514a759..817f32a 100644
--- a/pytrainer/gui/windowprofile.py
+++ b/pytrainer/gui/windowprofile.py
@@ -17,7 +17,7 @@
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
from __future__ import division
-from SimpleGladeApp import SimpleGladeApp
+from SimpleGladeApp import SimpleBuilderApp
from windowcalendar import WindowCalendar
from pytrainer.core.equipment import EquipmentService
from pytrainer.gui.equipment import EquipmentUi
@@ -29,20 +29,18 @@ import pytrainer
import pytrainer.util.color
from pytrainer.gui.color import ColorConverter
-class WindowProfile(SimpleGladeApp):
+class WindowProfile(SimpleBuilderApp):
def __init__(self, sport_service, data_path = None, parent=None, pytrainer_main=None):
- glade_path="glade/profile.glade"
- root = "newprofile"
- domain = None
self.parent = parent
self.pytrainer_main = pytrainer_main
self.data_path = data_path
- SimpleGladeApp.__init__(self, data_path+glade_path, root, domain)
+ SimpleBuilderApp.__init__(self, "profile.ui")
self.conf_options = parent.profile_options
self.stored_color = pytrainer.util.color.Color(0)
self._sport_service = sport_service
def new(self):
+ logging.debug(">>")
self.gender_options = {
0:_("Male"),
1:_("Female")
@@ -80,55 +78,76 @@ class WindowProfile(SimpleGladeApp):
#initialise equipment tab:
equipment_service = EquipmentService(self.pytrainer_main.ddbb)
equipment_ui = EquipmentUi(self.data_path + "/glade", equipment_service)
- self.equipment_container.add(equipment_ui)
+ self.equipment_container.add(equipment_ui)
+ logging.debug("<<")
def present(self):
self.newprofile.present()
- def setValues(self,list_options):
+ def setValues(self, list_options):
+ logging.debug(">>")
+ # Need to think if it does make sense to use pprint -> compatibility issues
+ #print list_options
for i in self.conf_options.keys():
if not list_options.has_key(i):
- print 'no list options for: ' + i
+ logging.info('No list options for %s' %s)
continue
if i == "default_viewer":
if list_options[i] == "1":
- logging.debug("Setting defult map viewer to OSM")
+ logging.info("Setting default map viewer to OSM")
self.radiobuttonDefaultOSM.set_active(1)
else:
- logging.debug("Setting defult map viewer to Google")
+ logging.info("Setting default map viewer to Google")
self.radiobuttonDefaultGMap.set_active(1)
+ elif i == "prf_startscreen":
+ if list_options[i] == "current_day":
+ self.radioButtonStartScreenCurrentDay.set_active(1)
+ else:
+ self.radioButtonStartScreenLastEntry.set_active(1)
+ logging.info("Setting start screen to display %s" % list_options[i])
else:
try:
var = getattr(self,i)
except AttributeError as e:
continue
if i == "prf_hrzones_karvonen" or i == "prf_us_system":
- if list_options[i]=="True":
+ if list_options[i] == "True":
+ logging.info("Setting %s to true" %i)
var.set_active(True)
-
elif i == "prf_gender":
for j in self.gender_options:
- if self.gender_options[j]==list_options[i]:
+ if self.gender_options[j] == list_options[i]:
+ logging.info("Setting gender to %s" % self.gender_options[j])
var.set_active(j)
elif i == "prf_ddbb":
for j in self.ddbb_type:
- if self.ddbb_type[j]==list_options[i]:
+ if self.ddbb_type[j] == list_options[i]:
+ logging.info("Setting %s as database engine" % self.ddbb_type[j])
var.set_active(j)
if j==0:
self._ddbb_value_deactive()
else:
self._ddbb_value_active()
else:
+ logging.info("Setting %s to %s" % (i,list_options[i]))
var.set_text(list_options[i])
+ logging.debug("<<")
def saveOptions(self):
+ logging.debug(">>")
list_options = {}
+ print self.conf_options
for i in self.conf_options.keys():
if i == "default_viewer":
if self.radiobuttonDefaultOSM.get_active():
list_options[i] = "1"
else:
list_options[i] = "0"
+ elif i == "prf_startscreen":
+ ss_selected = "current_day"
+ if self.radioButtonStartScreenLastEntry.get_active():
+ ss_selected = "last_entry"
+ list_options[i] = ss_selected
else:
try:
var = getattr(self,i)
@@ -143,7 +162,11 @@ class WindowProfile(SimpleGladeApp):
list_options[i] = var.get_active_text()
else:
list_options[i] = var.get_text()
+ logging.info("Saving %s as %s" % (i, list_options[i]))
+ logging.info("Updating profile...")
self.parent.setProfile(list_options)
+ self.parent.saveProfile()
+ logging.debug("<<")
def on_calendar_clicked(self,widget):
calendardialog = WindowCalendar(self.data_path,self)
@@ -298,7 +321,7 @@ class WindowProfile(SimpleGladeApp):
md.destroy()
return
self._sport_service.store_sport(sport)
- self.parent.actualize_mainsportlist()
+ self.pytrainer_main.refreshMainSportList()
self.on_switch_page(None,None,2)
self.hidesportsteps()
self.buttonbox.set_sensitive(1)
@@ -317,7 +340,7 @@ class WindowProfile(SimpleGladeApp):
sport_name = self.sportnamedel.get_text()
sport = self._sport_service.get_sport_by_name(sport_name)
self._sport_service.remove_sport(sport)
- self.parent.actualize_mainsportlist()
+ self.pytrainer_main.refreshMainSportList()
self.on_switch_page(None,None,2)
self.hidesportsteps()
self.buttonbox.set_sensitive(1)
@@ -372,7 +395,7 @@ class WindowProfile(SimpleGladeApp):
sport.max_pace = self._trim_to_null(self.editmaxpace.get_text())
sport.color = self.stored_color
self._sport_service.store_sport(sport)
- self.parent.actualize_mainsportlist()
+ self.pytrainer_main.refreshMainSportList()
self.on_switch_page(None,None,2)
self.hidesportsteps()
self.buttonbox.set_sensitive(1)
diff --git a/pytrainer/gui/windowrecord.py b/pytrainer/gui/windowrecord.py
index 54aafee..e5f0554 100644
--- a/pytrainer/gui/windowrecord.py
+++ b/pytrainer/gui/windowrecord.py
@@ -21,35 +21,28 @@ import os
import logging
import traceback
import gtk, gobject
-from SimpleGladeApp import SimpleGladeApp
+from SimpleGladeApp import SimpleBuilderApp
from windowcalendar import WindowCalendar
-from filechooser import FileChooser
-from pytrainer.lib.date import Date
-from pytrainer.lib.unitsconversor import *
-import pytrainer.record
+from pytrainer.lib.date import getLocalTZ, time2second
import dateutil.parser
-from dateutil.tz import * # for tzutc()
+from dateutil.tz import tzutc
from pytrainer.lib.uc import UC
-class WindowRecord(SimpleGladeApp):
+class WindowRecord(SimpleBuilderApp):
def __init__(self, equipment_service, data_path = None, listSport = None, parent = None, date = None, title=None, distance=None, time=None, upositive=None, unegative=None, bpm=None, calories=None, comment=None, windowTitle=None, equipment=[]):
logging.debug(">>")
self.parent = parent
self.pytrainer_main = parent.pytrainer_main
- #self.us = self.pytrainer_main.profile.prf_us_system #DEPRECATED
self.uc = UC()
logging.debug("Using US system: "+ str(self.uc.us))
self.data_path = data_path
- glade_path="glade/newrecord.glade"
- root = "newrecord"
- domain = None
self.mode = "newrecord"
self.id_record = ""
self.store = None
self.active_row = None
self.activity_data = []
- SimpleGladeApp.__init__(self, data_path+glade_path, root, domain)
+ SimpleBuilderApp.__init__(self, "newrecord.ui")
self.conf_options = [
"rcd_date",
"rcd_sport",
@@ -283,7 +276,7 @@ class WindowRecord(SimpleGladeApp):
# Added to change start time, only activities without GPX+ source file - dgranda 2011/06/10
record_time = self.rcd_starttime.get_text()
record_date = self.rcd_date.get_text()
- localtz = Date().getLocalTZ()
+ localtz = getLocalTZ()
date = dateutil.parser.parse(record_date+" "+record_time+" "+localtz)
local_date = str(date)
utc_date = date.astimezone(tzutc()).strftime("%Y-%m-%dT%H:%M:%SZ")
@@ -300,7 +293,7 @@ class WindowRecord(SimpleGladeApp):
#Manual entry, calculate time info
record_time = self.rcd_starttime.get_text()
record_date = self.rcd_date.get_text()
- localtz = Date().getLocalTZ()
+ localtz = getLocalTZ()
date = dateutil.parser.parse(record_date+" "+record_time+" "+localtz)
local_date = str(date)
utc_date = date.astimezone(tzutc()).strftime("%Y-%m-%dT%H:%M:%SZ")
@@ -352,7 +345,7 @@ class WindowRecord(SimpleGladeApp):
logging.debug("activity is None")
logging.debug("<<")
return
- self.id_record = activity.id_record
+ self.id_record = activity.id
(h, m, s) = activity.time_tuple
self.rcd_hour.set_value(h)
self.rcd_min.set_value(m)
@@ -518,7 +511,7 @@ class WindowRecord(SimpleGladeApp):
gpx_file = self.activity_data[row]["rcd_gpxfile"]
self.setValue("rcd_gpxfile", gpx_file, "%s")
#set duration
- time = Date().time2second(self.activity_data[row]["rcd_time"]) #TODO Fix to use timeinseconds!!
+ time = time2second(self.activity_data[row]["rcd_time"]) #TODO Fix to use timeinseconds!!
self.setTime(time) #TODO Fix to use timeinseconds!!
#Set distance
self.setValue("rcd_distance",self.activity_data[row]["rcd_distance"], "%s")
@@ -549,7 +542,7 @@ class WindowRecord(SimpleGladeApp):
#Get some info from gpx file
self.update_activity_data(row, gpx_file, sport)
self.setValue("rcd_distance",self.activity_data[row]["rcd_distance"], "%s")
- time = Date().time2second(self.activity_data[row]["rcd_time"])
+ time = time2second(self.activity_data[row]["rcd_time"])
self.setTime(time)
self.setValue("rcd_date", self.activity_data[row]["rcd_date"], "%s")
self.setValue("rcd_starttime", self.activity_data[row]["rcd_starttime"], "%s")
@@ -738,8 +731,6 @@ class WindowRecord(SimpleGladeApp):
def on_selectfile_clicked(self,widget):
logging.debug(">>")
- #self.filechooser = FileChooser(self.data_path,self,"set_gpxfile","open")
- #self.filechooser.run()
from pytrainer.gui.dialogs import fileChooserDialog
selectedFile = fileChooserDialog(title="Choose a Google Earth file (.kml) to import", multiple=False).getFiles()
if selectedFile is not None:
@@ -748,8 +739,6 @@ class WindowRecord(SimpleGladeApp):
def set_gpxfile(self):
logging.debug(">>")
- #namefile = self.filechooser.filename
- #self.rcd_gpxfile.set_text(namefile)
logging.debug("<<")
def on_calculatevalues_clicked(self,widget):
diff --git a/pytrainer/lib/activity.py b/pytrainer/lib/activity.py
deleted file mode 100644
index bfdbc09..0000000
--- a/pytrainer/lib/activity.py
+++ /dev/null
@@ -1,687 +0,0 @@
-# -*- coding: iso-8859-1 -*-
-
-#Copyright (C) Fiz Vazquez vud1 at sindominio.net
-
-#This program is free software; you can redistribute it and/or
-#modify it under the terms of the GNU General Public License
-#as published by the Free Software Foundation; either version 2
-#of the License, or (at your option) any later version.
-
-#This program is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-import logging
-import os
-from lxml import etree
-import dateutil.parser
-from dateutil.tz import * # for tzutc()
-
-from pytrainer.lib.date import Date
-from pytrainer.lib.gpx import Gpx
-from pytrainer.lib.graphdata import GraphData
-from pytrainer.lib.unitsconversor import *
-
-class Activity:
- '''
- Class that knows everything about a particular activity
-
- All values are stored in the class (and DB) in metric and are converted as needed
-
- tracks - (list) tracklist from gpx
- tracklist - (list of dict) trackpoint data from gpx
- laps - (list of dict) lap list
- tree - (ElementTree) parsed xml of gpx file
- us_system - (bool) True: imperial measurement False: metric measurement
- distance_unit - (string) unit to use for distance
- speed_unit - (string) unit to use for speed
- distance_data - (dict of graphdata classes) contains the graph data with x axis distance
- time_data - (dict of graphdata classes) contains the graph data with x axis time
- height_unit - (string) unit to use for height
- pace_unit - (string) unit to use for pace
- gpx_file - (string) gpx file name
- gpx - (Gpx class) actual gpx instance
- sport_name - (string) sport name
- sport_id - (string) id for sport in sports table
- title - (string) title of activity
- date - (string) date of activity
- time - (int) activity duration in seconds
- time_tuple - (tuple) activity duration as hours, min, secs tuple
- beats - (int) average heartrate for activity
- maxbeats - (int) maximum heartrate for activity
- comments - (string) activity comments
- calories - (int) calories of activity
- id_record - (string) id for activity in records table
- date_time_local - (string) date and time of activity in local timezone
- date_time_utc - (string) date and time of activity in UTC timezone
- date_time - (datetime) date and time of activity in local timezone
- starttime - (string)
- distance - (float) activity distance
- average - (float) average speed of activity
- upositive - (float) height climbed during activity
- unegative - (float) height decended during activity
- maxspeed - (float) maximum speed obtained during activity
- maxpace - (float) maxium pace obtained during activity
- pace - (float) average pace for activity
- has_data - (bool) true if instance has data populated
- x_axis - (string) distance or time, determines what will be graphed on x axis
- x_limits - (tuple of float) start, end limits of x axis (as determined by matplotlib)
- y1_limits - (tuple of float) start, end limits of y1 axis (as determined by matplotlib)
- y2_limits - (tuple of float) start, end limits of y2 axis (as determined by matplotlib)
- x_limits_u - (tuple of float) start, end limits of x axis (as requested by user)
- y1_limits_u - (tuple of float) start, end limits of y1 axis (as requested by user)
- y2_limits_u - (tuple of float) start, end limits of y2 axis (as requested by user)
- show_laps - (bool) display laps on graphs
- lap_distance - (graphdata)
- lap_time - (graphdata)
- pace_limit - (int) maximum pace that is valid for this activity
- '''
- def __init__(self, pytrainer_main = None, id = None):
- logging.debug(">>")
- self.id = id
- #It is an error to try to initialise with no id
- if self.id is None:
- return
- #It is an error to try to initialise with no reference to pytrainer_main
- if pytrainer_main is None:
- print("Error - must initialise with a reference to the main pytrainer class")
- return
- self.pytrainer_main = pytrainer_main
- self.tracks = None
- self.tracklist = None
- self.laps = None
- self.tree = None
- self.has_data = False
- self.distance_data = {}
- self.time_data = {}
- self.time_pause = 0
- self.pace_limit = None
- self.starttime = None
- self.gpx_distance = None
- #self.upositive = 0
- #self.unegative = 0
- if self.pytrainer_main.profile.getValue("pytraining","prf_us_system") == "True":
- self.us_system = True
- else:
- self.us_system = False
- self._set_units()
- self.gpx_file = "%s/%s.gpx" % (self.pytrainer_main.profile.gpxdir, id)
- #It is OK to not have a GPX file for an activity - this just limits us to information in the DB
- if not os.path.isfile(self.gpx_file):
- self.gpx_file = None
- logging.debug("No GPX file found for record id: %s" % id)
- if self.gpx_file is not None:
- self._init_from_gpx_file()
- self._init_from_db()
- self._init_graph_data()
- self._generate_per_lap_graphs()
- self.x_axis = "distance"
- self.x_limits = (None, None)
- self.y1_limits = (None, None)
- self.y2_limits = (None, None)
- self.x_limits_u = (None, None)
- self.y1_limits_u = (None, None)
- self.y2_limits_u = (None, None)
- self.y1_grid = False
- self.y2_grid = False
- self.x_grid = False
- self.show_laps = False
- logging.debug("<<")
-
- def __str__(self):
- return '''
- tracks (%s)
- tracklist (%s)
- laps (%s)
- tree (%s)
- us_system (%s)
- distance_unit (%s)
- speed_unit (%s)
- distance_data (%s)
- time_data (%s)
- height_unit (%s)
- pace_unit (%s)
- gpx_file (%s)
- gpx (%s)
- sport_name (%s)
- sport_id (%s)
- title (%s)
- date (%s)
- time (%s)
- time_tuple (%s)
- beats (%s)
- maxbeats (%s)
- comments (%s)
- calories (%s)
- id_record (%s)
- date_time_local (%s)
- date_time_utc (%s)
- date_time (%s)
- starttime (%s)
- distance (%s)
- average (%s)
- upositive (%s)
- unegative (%s)
- maxspeed (%s)
- maxpace (%s)
- pace (%s)
- has_data (%s)
- x_axis (%s)
- x_limits (%s)
- y1_limits (%s)
- y2_limits (%s)
- x_limits_u (%s)
- y1_limits_u (%s)
- y2_limits_u (%s)
- show_laps (%s)
- lap_distance (%s)
- lap_time (%s)
- pace_limit (%s)
- ''' % ('self.tracks', self.tracklist, self.laps, self.tree, self.us_system,
- self.distance_unit, self.speed_unit, self.distance_data, self.time_data,
- self.height_unit, self.pace_unit, self.gpx_file, self.gpx, self.sport_name,
- self.sport_id, self.title, self.date, self.time, self.time_tuple, self.beats,
- self.maxbeats, self.comments, self.calories, self.id_record, self.date_time_local,
- self.date_time_utc, self.date_time, self.starttime, self.distance, self.average,
- self.upositive, self.unegative, self.maxspeed, self.maxpace, self.pace, self.has_data,
- self.x_axis, self.x_limits, self.y1_limits, self.y2_limits, self.x_limits_u, self.y1_limits_u,
- self.y2_limits_u, self.show_laps, self.lap_distance, self.lap_time, self.pace_limit)
-
- def _set_units(self):
- if self.us_system:
- self.distance_unit = _("miles")
- self.speed_unit = _("miles/h")
- self.pace_unit = _("min/mile")
- self.height_unit = _("feet")
- else:
- self.distance_unit = _("km")
- self.speed_unit = _("km/h")
- self.pace_unit = _("min/km")
- self.height_unit = _("m")
- self.units = { 'distance': self.distance_unit, 'average': self.speed_unit, 'upositive': self.height_unit, 'unegative': self.height_unit, 'maxspeed': self.speed_unit, 'pace': self.pace_unit, 'maxpace': self.pace_unit }
-
- def _init_from_gpx_file(self):
- '''
- Get activity information from the GPX file
- '''
- logging.debug(">>")
- #Parse GPX file
- #print "Activity initing GPX.. ",
- self.gpx = Gpx(filename = self.gpx_file) #TODO change GPX code to do less....
- self.tree = self.gpx.tree
- self.tracks = self.gpx.getTrackList() #TODO fix - this should removed and replaced with self.tracklist functionality
- self.tracklist = self.gpx.trkpoints
- self.gpx_distance = self.gpx.total_dist
- logging.info("GPX Distance: %s | distance (trkpts): %s | duration: %s | duration (trkpts): %s" % (self.gpx_distance, self.gpx.total_dist_trkpts, self.gpx.total_time, self.gpx.total_time_trkpts))
- time_diff = self.gpx.total_time_trkpts - self.gpx.total_time
- acceptable_lapse = 4 # number of seconds that duration calculated using lap and trkpts data can differ
- if time_diff > acceptable_lapse:
- self.time_pause = time_diff
- logging.debug("Identified non active time: %s s" % self.time_pause)
- logging.debug("<<")
-
- def _init_from_db(self):
- '''
- Get activity information from the DB
- '''
- logging.debug(">>")
- #Get base information
- cols = ("sports.name","id_sports", "date","distance","time","beats","comments",
- "average","calories","id_record","title","upositive","unegative",
- "maxspeed","maxpace","pace","maxbeats","date_time_utc","date_time_local", "sports.max_pace")
- # outer join on sport id to workaround bug where sport reference is null on records from GPX import
- db_result = self.pytrainer_main.ddbb.select("records left outer join sports on records.sport=sports.id_sports",
- ", ".join(cols),
- "id_record=\"%s\" " %self.id)
- if len(db_result) == 1:
- row = db_result[0]
- self.sport_name = row[cols.index('sports.name')]
- if self.sport_name == None:
- self.sport_name = ""
- self.sport_id = row[cols.index('id_sports')]
- self.pace_limit = row[cols.index('sports.max_pace')]
- if self.pace_limit == 0 or self.pace_limit == "":
- self.pace_limit = None
- self.title = row[cols.index('title')]
- if self.title is None:
- self.title = ""
- self.date = row[cols.index('date')]
- self.time = self._int(row[cols.index('time')])
- self.time_tuple = Date().second2time(self.time)
- self.beats = self._int(row[cols.index('beats')])
- self.comments = row[cols.index('comments')]
- if self.comments is None:
- self.comments = ""
- self.calories = self._int(row[cols.index('calories')])
- self.id_record = row[cols.index('id_record')]
- self.maxbeats = self._int(row[cols.index('maxbeats')])
- #Sort time....
- # ... use local time if available otherwise use date_time_utc and create a local datetime...
- self.date_time_local = row[cols.index('date_time_local')]
- self.date_time_utc = row[cols.index('date_time_utc')]
- if self.date_time_local is not None: #Have a local time stored in DB
- self.date_time = dateutil.parser.parse(self.date_time_local)
- self.starttime = self.date_time.strftime("%X")
- else: #No local time in DB
- tmpDateTime = dateutil.parser.parse(self.date_time_utc)
- self.date_time = tmpDateTime.astimezone(tzlocal()) #datetime with localtime offset (using value from OS)
- self.starttime = self.date_time.strftime("%X")
- #Sort data that changes for the US etc
- #if self.us_system:
- # self.distance = km2miles(self._float(row[cols.index('distance')]))
- # self.average = km2miles(self._float(row[cols.index('average')]))
- # self.upositive = m2feet(self._float(row[cols.index('upositive')]))
- # self.unegative = m2feet(self._float(row[cols.index('unegative')]))
- # self.maxspeed = km2miles(self._float(row[cols.index('maxspeed')]))
- # self.maxpace = pacekm2miles(self._float(row[cols.index('maxpace')]))
- # self.pace = pacekm2miles(self._float(row[cols.index('pace')]))
- #else:
- self.distance = self._float(row[cols.index('distance')])
- if not self.distance:
- self.distance = self.gpx_distance
- self.average = self._float(row[cols.index('average')])
- self.upositive = self._float(row[cols.index('upositive')])
- self.unegative = self._float(row[cols.index('unegative')])
- self.maxspeed = self._float(row[cols.index('maxspeed')])
- self.maxpace = self._float(row[cols.index('maxpace')])
- self.pace = self._float(row[cols.index('pace')])
- self.has_data = True
- else:
- raise Exception( "Error - multiple results from DB for id: %s" % self.id )
- #Get lap information
- laps = self.pytrainer_main.ddbb.select_dict("laps",
- ("id_lap", "record", "elapsed_time", "distance", "start_lat", "start_lon", "end_lat", "end_lon", "calories", "lap_number", "intensity", "avg_hr", "max_hr", "max_speed", "laptrigger", "comments"),
- "record=\"%s\"" % self.id)
- if laps is None or laps == [] or len(laps) < 1: #No laps found
- logging.debug("No laps in DB for record %d" % self.id)
- if self.gpx_file is not None:
- laps = self._get_laps_from_gpx()
- self.laps = laps
- logging.debug("<<")
-
- def _generate_per_lap_graphs(self):
- '''Build lap based graphs...'''
- logging.debug(">>")
- if self.laps is None:
- logging.debug("No laps to generate graphs from")
- logging.debug("<<")
- return
- #Lap columns
- self.lap_distance = GraphData()
- self.lap_distance.set_color('#CCFF00', '#CCFF00')
- self.lap_distance.graphType = "vspan"
- self.lap_time = GraphData()
- self.lap_time.set_color('#CCFF00', '#CCFF00')
- self.lap_time.graphType = "vspan"
- #Pace
- title=_("Pace by Lap")
- xlabel="%s (%s)" % (_('Distance'), self.distance_unit)
- ylabel="%s (%s)" % (_('Pace'), self.pace_unit)
- self.distance_data['pace_lap'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.distance_data['pace_lap'].set_color('#99CCFF', '#99CCFF')
- self.distance_data['pace_lap'].graphType = "bar"
- xlabel=_("Time (seconds)")
- self.time_data['pace_lap'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.time_data['pace_lap'].set_color('#99CCFF', '#99CCFF')
- self.time_data['pace_lap'].graphType = "bar"
- #Speed
- title=_("Speed by Lap")
- xlabel="%s (%s)" % (_('Distance'), self.distance_unit)
- ylabel="%s (%s)" % (_('Speed'), self.speed_unit)
- self.distance_data['speed_lap'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.distance_data['speed_lap'].set_color('#336633', '#336633')
- self.distance_data['speed_lap'].graphType = "bar"
- xlabel=_("Time (seconds)")
- self.time_data['speed_lap'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.time_data['speed_lap'].set_color('#336633', '#336633')
- self.time_data['speed_lap'].graphType = "bar"
- for lap in self.laps:
- time = float( lap['elapsed_time'].decode('utf-8') ) # time in sql is a unicode string
- dist = lap['distance']/1000 #distance in km
- try:
- pace = time/(60*dist) #min/km
- except ZeroDivisionError:
- pace = 0.0
- try:
- avg_speed = dist/(time/3600) # km/hr
- except:
- avg_speed = 0.0
- if self.pace_limit is not None and pace > self.pace_limit:
- logging.debug("Pace (%s) exceeds limit (%s). Setting to 0" % (str(pace), str(self.pace_limit)))
- pace = 0.0
- logging.debug("Time: %f, Dist: %f, Pace: %f, Speed: %f" % (time, dist, pace, avg_speed) )
- self.lap_time.addBars(x=time, y=10)
- if self.us_system:
- self.lap_distance.addBars(x=km2miles(dist), y=10)
- self.distance_data['pace_lap'].addBars(x=km2miles(dist), y=pacekm2miles(pace))
- self.time_data['pace_lap'].addBars(x=time, y=pacekm2miles(pace))
- self.distance_data['speed_lap'].addBars(x=km2miles(dist), y=km2miles(avg_speed))
- self.time_data['speed_lap'].addBars(x=time, y=km2miles(avg_speed))
- else:
- self.lap_distance.addBars(x=dist, y=10)
- self.distance_data['pace_lap'].addBars(x=dist, y=pace)
- self.time_data['pace_lap'].addBars(x=time, y=pace)
- self.distance_data['speed_lap'].addBars(x=dist, y=avg_speed)
- self.time_data['speed_lap'].addBars(x=time, y=avg_speed)
- logging.debug("<<")
-
- def _get_laps_from_gpx(self):
- logging.debug(">>")
- laps = []
- gpxLaps = self.gpx.getLaps()
- for lap in gpxLaps:
- lap_number = gpxLaps.index(lap)
- tmp_lap = {}
- tmp_lap['record'] = self.id
- tmp_lap['lap_number'] = lap_number
- tmp_lap['elapsed_time'] = lap[0]
- tmp_lap['distance'] = lap[4]
- tmp_lap['start_lat'] = lap[5]
- tmp_lap['start_lon'] = lap[6]
- tmp_lap['end_lat'] = lap[1]
- tmp_lap['end_lon'] = lap[2]
- tmp_lap['calories'] = lap[3]
- laps.append(tmp_lap)
- if laps is not None:
- for lap in laps:
- lap_keys = ", ".join(map(str, lap.keys()))
- lap_values = lap.values()
- self.pytrainer_main.record.insertLaps(lap_keys,lap.values())
- logging.debug("<<")
- return laps
-
- def _init_graph_data(self):
- logging.debug(">>")
- if self.tracklist is None:
- logging.debug("No tracklist in activity")
- logging.debug("<<")
- return
- #Profile
- title=_("Elevation")
- xlabel="%s (%s)" % (_('Distance'), self.distance_unit)
- ylabel="%s (%s)" % (_('Elevation'), self.height_unit)
- self.distance_data['elevation'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.distance_data['elevation'].set_color('#ff0000', '#ff0000')
- self.distance_data['elevation'].show_on_y1 = True #Make graph show elevation by default
- xlabel=_("Time (seconds)")
- self.time_data['elevation'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
- self.time_data['elevation'].set_color('#ff0000', '#ff0000')
- self.time_data['elevation'].show_on_y1 = True #Make graph show elevation by default
- #Corrected Elevation...
- title=_("Corrected Elevation")
- xlabel="%s (%s)" % (_('Distance'), self.distance_unit)
- ylabel="%s (%s)" % (_('Corrected Elevation'), self.height_unit)
- self.distance_data['cor_elevation'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.distance_data['cor_elevation'].set_color('#993333', '#993333')
- xlabel=_("Time (seconds)")
- self.time_data['cor_elevation'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
- self.time_data['cor_elevation'].set_color('#993333', '#993333')
- #Speed
- title=_("Speed")
- xlabel="%s (%s)" % (_('Distance'), self.distance_unit)
- ylabel="%s (%s)" % (_('Speed'), self.speed_unit)
- self.distance_data['speed'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.distance_data['speed'].set_color('#000000', '#000000')
- xlabel=_("Time (seconds)")
- self.time_data['speed'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
- self.time_data['speed'].set_color('#000000', '#000000')
- #Pace
- title=_("Pace")
- xlabel="%s (%s)" % (_('Distance'), self.distance_unit)
- ylabel="%s (%s)" % (_('Pace'), self.pace_unit)
- self.distance_data['pace'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.distance_data['pace'].set_color('#0000ff', '#0000ff')
- xlabel=_("Time (seconds)")
- self.time_data['pace'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
- self.time_data['pace'].set_color('#0000ff', '#0000ff')
- #Heartrate
- title=_("Heart Rate")
- xlabel="%s (%s)" % (_('Distance'), self.distance_unit)
- ylabel="%s (%s)" % (_('Heart Rate'), _('bpm'))
- self.distance_data['hr'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.distance_data['hr'].set_color('#00ff00', '#00ff00')
- xlabel=_("Time (seconds)")
- self.time_data['hr'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
- self.time_data['hr'].set_color('#00ff00', '#00ff00')
- #Heartrate as %
- maxhr = self.pytrainer_main.profile.getMaxHR()
- title=_("Heart Rate (% of max)")
- xlabel="%s (%s)" % (_('Distance'), self.distance_unit)
- ylabel="%s (%s)" % (_('Heart Rate'), _('%'))
- self.distance_data['hr_p'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.distance_data['hr_p'].set_color('#00ff00', '#00ff00')
- xlabel=_("Time (seconds)")
- self.time_data['hr_p'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
- self.time_data['hr_p'].set_color('#00ff00', '#00ff00')
- #Cadence
- title=_("Cadence")
- xlabel="%s (%s)" % (_('Distance'), self.distance_unit)
- ylabel="%s (%s)" % (_('Cadence'), _('rpm'))
- self.distance_data['cadence'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.distance_data['cadence'].set_color('#cc00ff', '#cc00ff')
- xlabel=_("Time (seconds)")
- self.time_data['cadence'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
- self.time_data['cadence'].set_color('#cc00ff', '#cc00ff')
- for track in self.tracklist:
- try:
- pace = 60/track['velocity']
- if self.pace_limit is not None and pace > self.pace_limit:
- logging.debug("Pace (%s) exceeds limit (%s). Setting to 0" % (str(pace), str(self.pace_limit)))
- pace = 0 #TODO this should be None when we move to newgraph...
- except Exception as e:
- #print type(e), e
- pace = 0
- try:
- hr_p = float(track['hr'])/maxhr*100
- except:
- hr_p = 0
- if self.us_system:
- self.distance_data['elevation'].addPoints(x=km2miles(track['elapsed_distance']), y=m2feet(track['ele']))
- self.distance_data['cor_elevation'].addPoints(x=km2miles(track['elapsed_distance']), y=m2feet(track['correctedElevation']))
- self.distance_data['speed'].addPoints(x=km2miles(track['elapsed_distance']), y=km2miles(track['velocity']))
- self.distance_data['pace'].addPoints(x=km2miles(track['elapsed_distance']), y=pacekm2miles(pace))
- self.distance_data['hr'].addPoints(x=km2miles(track['elapsed_distance']), y=track['hr'])
- self.distance_data['hr_p'].addPoints(x=km2miles(track['elapsed_distance']), y=hr_p)
- self.distance_data['cadence'].addPoints(x=km2miles(track['elapsed_distance']), y=track['cadence'])
- self.time_data['elevation'].addPoints(x=track['time_elapsed'], y=m2feet(track['ele']))
- self.time_data['cor_elevation'].addPoints(x=track['time_elapsed'], y=m2feet(track['correctedElevation']))
- self.time_data['speed'].addPoints(x=track['time_elapsed'], y=km2miles(track['velocity']))
- self.time_data['pace'].addPoints(x=track['time_elapsed'], y=pacekm2miles(pace))
- else:
- self.distance_data['elevation'].addPoints(x=track['elapsed_distance'], y=track['ele'])
- self.distance_data['cor_elevation'].addPoints(x=track['elapsed_distance'], y=track['correctedElevation'])
- self.distance_data['speed'].addPoints(x=track['elapsed_distance'], y=track['velocity'])
- self.distance_data['pace'].addPoints(x=track['elapsed_distance'], y=pace)
- self.distance_data['hr'].addPoints(x=track['elapsed_distance'], y=track['hr'])
- self.distance_data['hr_p'].addPoints(x=track['elapsed_distance'], y=hr_p)
- self.distance_data['cadence'].addPoints(x=track['elapsed_distance'], y=track['cadence'])
- self.time_data['elevation'].addPoints(x=track['time_elapsed'], y=track['ele'])
- self.time_data['cor_elevation'].addPoints(x=track['time_elapsed'], y=track['correctedElevation'])
- self.time_data['speed'].addPoints(x=track['time_elapsed'], y=track['velocity'])
- self.time_data['pace'].addPoints(x=track['time_elapsed'], y=pace)
- self.time_data['hr'].addPoints(x=track['time_elapsed'], y=track['hr'])
- self.time_data['hr_p'].addPoints(x=track['time_elapsed'], y=hr_p)
- self.time_data['cadence'].addPoints(x=track['time_elapsed'], y=track['cadence'])
- #Remove data with no values
- for item in self.distance_data.keys():
- if len(self.distance_data[item]) == 0:
- logging.debug( "No values for %s. Removing...." % item )
- del self.distance_data[item]
- for item in self.time_data.keys():
- if len(self.time_data[item]) == 0:
- logging.debug( "No values for %s. Removing...." % item )
- del self.time_data[item]
- logging.debug("<<")
- #Add Heartrate zones graphs
- if 'hr' in self.distance_data:
- zones = self.pytrainer_main.profile.getZones()
- title=_("Heart Rate zone")
- xlabel="%s (%s)" % (_('Distance'), self.distance_unit)
- ylabel="%s (%s)" % (_('Heart Rate'), _('bpm'))
- self.distance_data['hr_z'] = GraphData(title=title, xlabel=xlabel, ylabel=ylabel)
- self.distance_data['hr_z'].graphType = "hspan"
- self.distance_data['hr_z'].set_color(None, None)
- xlabel=_("Time (seconds)")
- self.time_data['hr_z'] = GraphData(title=title,xlabel=xlabel, ylabel=ylabel)
- self.time_data['hr_z'].set_color(None, None)
- for zone in zones:
- self.distance_data['hr_z'].addPoints(x=zone[0], y=zone[1], label=zone[3], color=zone[2])
- self.time_data['hr_z'].addPoints(x=zone[0], y=zone[1], label=zone[3], color=zone[2])
-
- def _float(self, value):
- try:
- result = float(value)
- except:
- result = 0.0
- return result
-
- def _int(self, value):
- try:
- result = int(value)
- except:
- result = 0
- return result
-
- def get_value_f(self, param, format=None, with_units=False):
- ''' Function to return a value formated as a string
- - takes into account US/metric
- - also appends units if required
- '''
- value = self.get_value(param)
- if not value:
- #Return blank string if value is None or 0
- return ""
- if format is not None:
- result = format % value
- else:
- result = str(value)
- if with_units:
- if param in self.units:
- result += self.units[param]
- #print "activity: 509", result
- return result
-
- def get_value(self, param):
- ''' Function to get the value of various params in this activity instance
- Automatically returns values converted to imperial if needed
- '''
- if param == 'distance':
- if self.us_system:
- return km2miles(self.distance)
- else:
- return self.distance
- elif param == 'average':
- if self.us_system:
- return km2miles(self.average)
- else:
- return self.average
- elif param == 'upositive':
- if self.us_system:
- return m2feet(self.upositive)
- else:
- return self.upositive
- elif param == 'unegative':
- if self.us_system:
- return m2feet(self.unegative)
- else:
- return self.unegative
- elif param == 'maxspeed':
- if self.us_system:
- return km2miles(self.maxspeed)
- else:
- return self.maxspeed
- elif param == 'maxpace':
- if self.us_system:
- return self.pace_from_float(pacekm2miles(self.maxpace))
- else:
- return self.pace_from_float(self.maxpace)
- elif param == 'pace':
- if self.us_system:
- return self.pace_from_float(pacekm2miles(self.pace))
- else:
- return self.pace_from_float(self.pace)
- elif param == 'calories':
- return self.calories
- elif param == 'time':
- if not self.time:
- return ""
- _hour,_min,_sec=self.pytrainer_main.date.second2time(self.time)
- if _hour == 0:
- return "%02d:%02d" % (_min, _sec)
- else:
- return "%0d:%02d:%02d" % (_hour, _min, _sec)
- else:
- print "Unable to provide value for unknown parameter (%s) for activity" % param
- return None
-
- def set_value(self, param, value):
- ''' Function to set the value of various params in this activity instance
- Automatically converts from imperial if using them
- '''
- _value = _float(value)
- if param == 'distance':
- if self.us_system:
- self.distance = miles2mk(_value)
- else:
- self.distance = _value
- elif param == 'average':
- if self.us_system:
- self.average = miles2mk(_value)
- else:
- self.average = _value
- elif param == 'upositive':
- if self.us_system:
- self.upositive = feet2m(_value)
- else:
- self.upositive = _value
- elif param == 'unegative':
- if self.us_system:
- self.unegative = feet2m(_value)
- else:
- self.unegative = _value
- elif param == 'maxspeed':
- if self.us_system:
- self.maxspeed = miles2mk(_value)
- else:
- self.maxspeed = _value
- elif param == 'maxpace':
- if self.us_system:
- _maxpace = pacemiles2mk(_value)
- else:
- _maxpace = _value
- self.maxpace = self.pace_to_float(_maxpace)
- elif param == 'pace':
- if self.us_system:
- _pace = pacemiles2mk(_value)
- else:
- _pace = _value
- self.pace = self.pace_to_float(_pace)
- else:
- print "Unable to set value (%s) for unknown parameter (%s) for activity" % (str(value), param)
-
-
- def pace_to_float(self, value):
- '''Take a mm:ss or mm.ss and return float'''
- value = value.replace(':', '.')
- try:
- value = float(value)
- except ValueError:
- value = None
- return value
-
- def pace_from_float(self, value):
- '''Helper to generate mm:ss from float representation mm.ss (or mm,ss?)'''
- #Check that value supplied is a float
- if not value:
- return ""
- try:
- _value = "%0.2f" % float(value)
- except ValueError:
- _value = str(value)
- return _value.replace('.',':')
-
diff --git a/pytrainer/lib/date.py b/pytrainer/lib/date.py
index eedc0da..145395d 100644
--- a/pytrainer/lib/date.py
+++ b/pytrainer/lib/date.py
@@ -22,34 +22,64 @@ import time
import datetime
import calendar
import dateutil.parser
-from dateutil.tz import * # for tzutc()
+from dateutil.tz import tzutc, tzlocal
import logging
+def second2time(seconds):
+ if not seconds:
+ return 0,0,0
+ hours = seconds // (60*60)
+ seconds %= (60*60)
+ minutes = seconds // 60
+ seconds %= 60
+ return hours,minutes,seconds
+
+def time2second(time):
+ hour,min,sec = time
+ return int(sec)+(int(min)*60)+(int(hour)*3600)
+
+def getLocalTZ():
+ ''' Returns string representation of local timezone'''
+ return datetime.datetime.now(tzlocal()).tzname()
+
+def time2string(date):
+ return "%0.4d-%0.2d-%0.2d" %(int(date[0]),int(date[1]),int(date[2]))
+
+def getNameMonth(date):
+ day, daysInMonth = calendar.monthrange(date.year, date.month)
+ monthName = calendar.month_name[date.month]
+ return monthName, daysInMonth
+
+def unixtime2date(unixtime):
+ tm = time.gmtime(unixtime)
+ year = tm[0]
+ month = tm[1]
+ day = tm[2]
+ return "%0.4d-%0.2d-%0.2d" %(year,month,day)
+
+def getDateTime(time_):
+ # Time can be in multiple formats
+ # - zulu 2009-12-15T09:00Z
+ # - local ISO8601 2009-12-15T10:00+01:00
+ try:
+ dateTime = dateutil.parser.parse(time_)
+ except ValueError as e:
+ logging.debug("Unable to parse %s as a date time" % time_)
+ logging.debug(str(e))
+ return (None, None)
+ timezone = dateTime.tzinfo
+ if timezone is None: #got a naive time, so assume is local time
+ local_dateTime = dateTime.replace(tzinfo=tzlocal())
+ elif timezone == tzutc(): #got a zulu time
+ local_dateTime = dateTime.astimezone(tzlocal()) #datetime with localtime offset (from OS)
+ else:
+ local_dateTime = dateTime #use datetime as supplied
+ utc_dateTime = local_dateTime.astimezone(tzutc()) #datetime with 00:00 offset
+ return (utc_dateTime,local_dateTime)
+
class Date:
def __init__(self, calendar=None):
self.calendar = calendar
-
- def second2time(self,seconds):
- if not seconds:
- return 0,0,0
- #time_in_hour = seconds/3600.0
- #hour = int(time_in_hour)
- #min = int((time_in_hour-hour)*60)
- #sec = (((time_in_hour-hour)*60)-min)*60
- #sec = seconds-(hour*3600)-(min*60)
- hours = seconds // (60*60)
- seconds %= (60*60)
- minutes = seconds // 60
- seconds %= 60
- return hours,minutes,seconds
-
- def time2second(self,time):
- hour,min,sec = time
- return int(sec)+(int(min)*60)+(int(hour)*3600)
-
- def getLocalTZ(self):
- ''' Returns string representation of local timezone'''
- return datetime.datetime.now(tzlocal()).tzname()
def getDate(self):
#hack for the gtk calendar widget
@@ -63,47 +93,3 @@ class Date:
year,month,day = newdate.split("-")
self.calendar.select_month(int(month)-1,int(year))
self.calendar.select_day(int(day))
-
- def time2string(self,date):
- return "%0.4d-%0.2d-%0.2d" %(int(date[0]),int(date[1]),int(date[2]))
-
-
- def getNameMonth(self, date):
- day, daysInMonth = calendar.monthrange(date.year, date.month)
- monthName = calendar.month_name[date.month]
- return monthName, daysInMonth
-
- def unixtime2date(self,unixtime):
- print unixtime
- tm = time.gmtime(unixtime)
- year = tm[0]
- month = tm[1]
- day = tm[2]
- return "%0.4d-%0.2d-%0.2d" %(year,month,day)
-
- def getDateTime(self, time_):
- # Time can be in multiple formats
- # - zulu 2009-12-15T09:00Z
- # - local ISO8601 2009-12-15T10:00+01:00
- try:
- dateTime = dateutil.parser.parse(time_)
- except ValueError as e:
- print "Unable to parse '%s' as a date time" % time_
- print e
- logging.debug("Unable to parse %s as a date time" % time_)
- logging.debug(str(e))
- return (None, None)
- timezone = dateTime.tzinfo
- if timezone is None: #got a naive time, so assume is local time
- #print 'Naive time'
- local_dateTime = dateTime.replace(tzinfo=tzlocal())
- elif timezone == tzutc(): #got a zulu time
- #print 'zulu time'
- local_dateTime = dateTime.astimezone(tzlocal()) #datetime with localtime offset (from OS)
- else:
- #print 'local time'
- local_dateTime = dateTime #use datetime as supplied
- utc_dateTime = local_dateTime.astimezone(tzutc()) #datetime with 00:00 offset
- #print utc_dateTime, local_dateTime
- return (utc_dateTime,local_dateTime)
-
diff --git a/pytrainer/lib/ddbb.py b/pytrainer/lib/ddbb.py
index 36c02d1..ab8a954 100644
--- a/pytrainer/lib/ddbb.py
+++ b/pytrainer/lib/ddbb.py
@@ -108,8 +108,7 @@ tablesDefaultData = { "sports": [
class DDBB:
- def __init__(self, configuration, pytrainer_main=None):
- self.pytrainer_main = pytrainer_main
+ def __init__(self, configuration):
self.configuration = configuration
self.ddbb_type = self.configuration.getValue("pytraining","prf_ddbb")
if self.ddbb_type == "mysql": #TODO no longer supported?
@@ -117,9 +116,6 @@ class DDBB:
else:
from sqliteUtils import Sql
- self.confdir = self.configuration.confdir
- self.ddbb_path = "%s/pytrainer.ddbb" %self.confdir
-
ddbb_host = self.configuration.getValue("pytraining","prf_ddbbhost")
ddbb = self.configuration.getValue("pytraining","prf_ddbbname")
ddbb_user = self.configuration.getValue("pytraining","prf_ddbbuser")
@@ -292,12 +288,12 @@ class DDBB:
ret_val = self.ddbbObject.freeExec(sql)
return ret_val[0][0]
- def create_tables(self):
+ def create_tables(self, add_default=True):
"""Initialise the database schema from an empty database."""
logging.info("Creating database tables")
for entry in tablesList:
self.ddbbObject.createTableDefault(entry, tablesList[entry])
- if entry in tablesDefaultData:
+ if add_default and entry in tablesDefaultData:
logging.debug("Adding default data to %s" % entry)
for data_dict in tablesDefaultData[entry]:
self.insert_dict(entry, data_dict)
diff --git a/pytrainer/lib/gpx.py b/pytrainer/lib/gpx.py
index 986f7c2..cf735ed 100644
--- a/pytrainer/lib/gpx.py
+++ b/pytrainer/lib/gpx.py
@@ -26,7 +26,7 @@ import time
from datetime import datetime
import logging
from lxml import etree
-from pytrainer.lib.date import Date
+from pytrainer.lib.date import getDateTime
# use of namespaces is mandatory if defined
mainNS = string.Template(".//{http://www.topografix.com/GPX/1/1}$tag")
@@ -76,7 +76,6 @@ class Gpx:
self.hr_average = 0
self.date = ""
self.start_time = ""
- #self.Date = Date()
self.calories= 0
self.tree = None
if filename != None:
@@ -131,7 +130,7 @@ class Gpx:
if timeResult is not None:
time_ = timeResult.text # check timezone
logging.debug("TimeResult: %s" %time_)
- mk_time = self.getDateTime(time_)[0]
+ mk_time = getDateTime(time_)[0]
time_ = mk_time.strftime("%Y-%m-%d")
else:
time_ = _("No Data")
@@ -139,9 +138,6 @@ class Gpx:
tracks.append((name,time_))
return tracks
- def getDateTime(self, time_):
- return Date().getDateTime(time_)
-
def getUnevenness(self):
return self.upositive,self.unegative
@@ -279,7 +275,7 @@ class Gpx:
logging.info("time tag is blank")
self.date = None
else:
- mk_time = self.getDateTime(date_)[1] #Local Date
+ mk_time = getDateTime(date_)[1] #Local Date
self.date = mk_time.strftime("%Y-%m-%d")
self.start_time = mk_time.strftime("%H:%M:%S")
waiting_points = []
@@ -317,7 +313,7 @@ class Gpx:
timeResult = trkpoint.find(timeTag)
if timeResult is not None:
date_ = timeResult.text
- mk_time = self.getDateTime(date_)[0]
+ mk_time = getDateTime(date_)[0]
time_ = time.mktime(mk_time.timetuple()) #Convert date to seconds
if i == 0:
time_elapsed = 0
@@ -516,7 +512,7 @@ class Gpx:
if date_time is None:
print "Problems when retrieving start time from "+gpxFile+". Please check data integrity"
return 0
- dateTime = self.getDateTime(date_time.text)
+ dateTime = getDateTime(date_time.text)
zuluDateTime = dateTime[0].strftime("%Y-%m-%dT%H:%M:%SZ")
localDateTime = dateTime[1]
logging.debug(gpxFile+" | "+ date_time.text +" | " + zuluDateTime + " | " + str(localDateTime))
diff --git a/pytrainer/lib/localization.py b/pytrainer/lib/localization.py
new file mode 100644
index 0000000..f319385
--- /dev/null
+++ b/pytrainer/lib/localization.py
@@ -0,0 +1,24 @@
+#Copyright (C) Fiz Vazquez vud1 at sindominio.net
+#Copyright (C) Arto Jantunen <viiru at iki.fi>
+
+#This program is free software; you can redistribute it and/or
+#modify it under the terms of the GNU General Public License
+#as published by the Free Software Foundation; either version 2
+#of the License, or (at your option) any later version.
+
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+import locale
+import gettext
+
+def initialize_gettext(gettext_path):
+ locale.bindtextdomain("pytrainer", gettext_path)
+ locale.textdomain("pytrainer")
+ gettext.install("pytrainer", gettext_path, unicode=1)
diff --git a/pytrainer/lib/sqliteUtils.py b/pytrainer/lib/sqliteUtils.py
index 7623c0b..5aff2bb 100644
--- a/pytrainer/lib/sqliteUtils.py
+++ b/pytrainer/lib/sqliteUtils.py
@@ -31,11 +31,16 @@ except ImportError:
class Sql:
def __init__(self,host=None, ddbb = None, user = None, password = None, configuration = None):
self.db = None
- confdir = configuration.confdir
- self.ddbb = "%s/pytrainer.ddbb" %confdir
+ if ddbb == 'memory':
+ self.ddbb = ':memory:'
+ self.url = 'sqlite://'
+ else:
+ confdir = configuration.confdir
+ self.ddbb = "%s/pytrainer.ddbb" %confdir
+ self.url = "sqlite:///" + self.ddbb
def get_connection_url(self):
- return "sqlite:///" + self.ddbb
+ return self.url
def connect(self):
#si devolvemos 1 ha ido todo con exito
@@ -106,11 +111,11 @@ class Sql:
if value == None:
return "null"
elif type(value) in [str, unicode]:
- return "\"" + value + "\""
+ return "'%s'" % value
elif type(value) == datetime.datetime:
- return value.strftime("\"%Y-%m-%d %H:%M:%S%z\"")
+ return value.strftime("'%Y-%m-%d %H:%M:%S%z'")
elif type(value) == datetime.date:
- return value.strftime("\"%Y-%m-%d\"")
+ return value.strftime("'%Y-%m-%d'")
else:
return str(value)
logging.debug('<<')
@@ -153,10 +158,7 @@ class Sql:
sql = "%s where %s" % (sql, condition)
if mod is not None:
sql = "%s %s" % (sql, mod)
- '''if condition != None:
- sql = "select %s from %s where %s" %(cells,table,condition)
- else:
- sql = "select %s from %s " %(cells,table)'''
+ logging.debug('SQL sentence: %s' % sql)
cur.execute(sql)
retorno = []
for row in cur:
diff --git a/pytrainer/lib/test_gpx.py b/pytrainer/lib/test_gpx.py
deleted file mode 100755
index b613b4b..0000000
--- a/pytrainer/lib/test_gpx.py
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env python
-
-#Copyright (C) Kevin Dwyer kevin at pheared.net
-
-#This program is free software; you can redistribute it and/or
-#modify it under the terms of the GNU General Public License
-#as published by the Free Software Foundation; either version 2
-#of the License, or (at your option) any later version.
-
-#This program is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Need to set this stuff up so that the translation functions work. Seems like
-# the module that needs translation ought to have some way of setting this up.
-import gettext, gtk.glade
-DIR = "../../locale"
-gettext.bindtextdomain("pytrainer", DIR)
-gtk.glade.bindtextdomain("pytrainer", DIR)
-gtk.glade.textdomain("pytrainer")
-gettext.textdomain("pytrainer")
-gettext.install("pytrainer",DIR,unicode=1)
-
-import unittest
-import gpx
-import os
-
-class GpxTest(unittest.TestCase):
- def setUp(self):
- self.tmp_files = []
-
- def tearDown(self):
- for file_name in self.tmp_files:
- try:
- os.remove(file_name)
- except:
- pass
-
- def test_missing_tracks(self):
- trkdata = """<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
-<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
-</gpx>
-"""
-
- # Write a GPX file with no tracks
- file_name = "test-missing.gpx"
- tmpf = file(file_name,'w')
- tmpf.write(trkdata)
- tmpf.close()
- self.tmp_files.append(file_name)
-
- try:
- g = gpx.Gpx(filename=file_name)
- except IndexError:
- self.fail("Gpx parser crashed on file without tracks")
-
- def test_missing_name(self):
- trkdata = """<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
-<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
-<trk></trk>
-</gpx>
-"""
-
- # Write a GPX file with a nameless track
- file_name = "test-noname.gpx"
- tmpf = file(file_name,'w')
- tmpf.write(trkdata)
- tmpf.close()
- self.tmp_files.append(file_name)
-
- try:
- g = gpx.Gpx(filename=file_name)
- except IndexError:
- self.fail("Gpx parser crashed on file with a nameless track")
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pytrainer/lib/uc.py b/pytrainer/lib/uc.py
index b5ea63e..18e76b8 100644
--- a/pytrainer/lib/uc.py
+++ b/pytrainer/lib/uc.py
@@ -16,15 +16,6 @@
from pytrainer.lib.singleton import Singleton
-""" Units of physical quantities [metric, imperial] """
-uc_units = {'distance' : [_('km'),_('mi')] , 'speed' : [_('km/h'), _('mph')],
- 'pace' : [_('min/km'),_('min/mi')], 'height' : [_('m'), _('ft')],
- 'weight': [_('kg'), _('lb')]}
-
-""" Conversion factors from metric to imperial, units as in uc_units """
-uc_factors = {'distance' : 0.621371192, 'speed': 0.621371192, 'pace':1.609344,
- 'height': 3.2808399, 'weight': 2.204624}
-
def pace2float(pace_str):
if pace_str.count(':') != 1:
return 0.0
@@ -56,6 +47,16 @@ class UC(Singleton):
us = False; user system is metric
us = True ; user system is imperial
"""
+
+ """ Units of physical quantities [metric, imperial] """
+ uc_units = {'distance' : [_('km'),_('mi')] , 'speed' : [_('km/h'), _('mph')],
+ 'pace' : [_('min/km'),_('min/mi')], 'height' : [_('m'), _('ft')],
+ 'weight': [_('kg'), _('lb')]}
+
+ """ Conversion factors from metric to imperial, units as in uc_units """
+ uc_factors = {'distance' : 0.621371192, 'speed': 0.621371192, 'pace':1.609344,
+ 'height': 3.2808399, 'weight': 2.204624}
+
def __init__(self):
if not hasattr(self, 'us'):
self.us = False
@@ -72,9 +73,9 @@ class UC(Singleton):
def get_unit(self, quantity):
if self.us:
- return uc_units[quantity][1]
+ return self.uc_units[quantity][1]
else:
- return uc_units[quantity][0]
+ return self.uc_units[quantity][0]
unit_distance = property(lambda self: self.get_unit('distance') )
unit_speed = property( lambda self: self.get_unit('speed') )
@@ -89,7 +90,7 @@ class UC(Singleton):
except (ValueError, TypeError):
return None
if self.us:
- return _val * uc_factors[quantity]
+ return _val * self.uc_factors[quantity]
else:
return _val
@@ -100,7 +101,7 @@ class UC(Singleton):
except (ValueError, TypeError):
return None
if self.us:
- return _val / uc_factors[quantity]
+ return _val / self.uc_factors[quantity]
else:
return _val
diff --git a/pytrainer/lib/unitsconversor.py b/pytrainer/lib/unitsconversor.py
deleted file mode 100644
index 07bb9ce..0000000
--- a/pytrainer/lib/unitsconversor.py
+++ /dev/null
@@ -1,184 +0,0 @@
-# -*- coding: iso-8859-1 -*-
-
-#Copyright (C) Fiz Vazquez vud1 at sindominio.net
-
-#This program is free software; you can redistribute it and/or
-#modify it under the terms of the GNU General Public License
-#as published by the Free Software Foundation; either version 2
-#of the License, or (at your option) any later version.
-
-#This program is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-'''def _set_units(self):
- if self.us_system:
- self.distance_unit = _("miles")
- self.speed_unit = _("miles/h")
- self.pace_unit = _("min/mile")
- self.height_unit = _("feet")
- else:
- self.distance_unit = _("km")
- self.speed_unit = _("km/h")
- self.pace_unit = _("min/km")
- self.height_unit = _("m")
- self.units = { 'distance': self.distance_unit, 'average': self.speed_unit, 'upositive': self.height_unit, 'unegative': self.height_unit, 'maxspeed': self.speed_unit, 'pace': self.pace_unit, 'maxpace': self.pace_unit }'''
-
-def km2miles(kilometers):
- try:
- km = float(kilometers)
- return km*0.621371192
- except Exception as e:
- return 0.0
-
-def miles2mk(miles):
- try:
- m = float(miles)
- return m/0.621371192
- except Exception as e:
- return 0.0
-
-def pacekm2miles(kilometers):
- try:
- km = float(kilometers)
- return km/0.621371192
- except Exception as e:
- return 0.0
-
-def pacemiles2mk(miles):
- try:
- m = float(miles)
- return m*0.621371192
- except Exception as e:
- return 0.0
-
-def m2feet(meter):
- try:
- m = float(meter)
- return m*3.2808399
- except Exception as e:
- return 0.0
-
-def feet2m(feet):
- try:
- m = float(feet)
- return m/3.2808399
- except Exception as e:
- return 0.0
-
-def kg2pound(kg):
- try:
- m = float(kg)
- return m*2.20462262
- except Exception as e:
- return 0.0
-
-def pound2kg(pound):
- try:
- m = float(pound)
- return m/2.20462262
- except Exception as e:
- return 0.0
-
-def myset_text(gtkentry, quantity, value, **kwargs):
- _us = False
- _round = False
- _value = value
-
- if kwargs.has_key('us'):
- if kwargs['us'] == True:
- _us = True
- if kwargs.has_key('units'):
- if kwargs['units']:
- _units = True
- if kwargs.has_key('round'):
- _round = True
- _round_digits = kwargs['round']
-
- print 'set_text via myset_text()'
- print quantity, _value
- # quantity=physical quantitiy like 'distance' or 'speed'
- # here we should call the universal 'conversion prepare for output' filter
- # need the same for get_text
- try:
- _value = filter_inout(quantity, _value, 'out', us=_us, round=_round_digits)
- _value = str(_value)
- except:
- _value = ''
- gtkentry.set_text(_value)
-
-def myget_text(gtkentry, quantity, **kwargs):
- _us = False
- _round = False
- _value = gtkentry.get_text()
-
- if kwargs.has_key('us'):
- if kwargs['us'] == True:
- _us = True
- if kwargs.has_key('units'):
- if kwargs['units']:
- _units = True
- if kwargs.has_key('round'):
- _round = True
- _round_digits = kwargs['round']
-
- _value = float(_value)
- _value = filter_inout(quantity, _value, 'in', us=_us)
- return float(_value)
-
-def filter_inout(param, values, direction,**kwargs):
- """ """
- units = {'distance' : ['km','mi'] , 'speed' : ['km/h', 'mph'],
- 'pace' : ['min/km','min/mi'], 'height' : ['m', 'ft']}
-
- if direction == 'out': #all comes from metric
- myexp = 1
- else:
- myexp = -1
- if not type(values) == list:
- _list = False
- values_return = [values]
- else:
- _list = True
- values_return = values
- _units = False
- _round = False
- _round_digits = 99
- #print kwargs
- _us = False
- if kwargs.has_key('us'):
- if kwargs['us'] == True:
- _us = True
- if kwargs.has_key('units'):
- if kwargs['units']:
- _units = True
- if kwargs.has_key('round'):
- _round = True
- _round_digits = kwargs['round']
-
- if _us: #if us:
- if param in ['distance', 'speed']:
- values_return = [x * (0.6213711**myexp) for x in values_return]
- elif param in ['pace']:
- values_return = [x * (1.609344**myexp) for x in values_return]
- elif param in ['height']:
- values_return = [x * (3.2808399**myexp) for x in values_return]
-
- if _round:
- values_return = [round(x, _round_digits) for x in values_return]
-
- if _units:
- if _us:
- values_return = [str(x) + ' ' + units[param][1] for x in values_return]
- else:
- values_return = [str(x) + ' ' + units[param][0] for x in values_return]
-
- if not _list:
- return values_return[0]
- else:
- return values_return
diff --git a/pytrainer/main.py b/pytrainer/main.py
index 6d7048b..ebe33ea 100644
--- a/pytrainer/main.py
+++ b/pytrainer/main.py
@@ -17,23 +17,13 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-import locale
import sys
import os
-import pygtk
-import gobject
-pygtk.require('2.0')
-import gtk
-import gtk.glade
from optparse import OptionParser
import logging
import logging.handlers
import traceback
-from datetime import datetime
-from os import path
-
-from pytrainer import platform
from pytrainer.util.date import DateRange
from upgrade.data import initialize_data
from environment import Environment
@@ -49,55 +39,78 @@ from stats import Stats
from gui.windowmain import Main
from gui.warning import Warning
-from lib.date import Date
-from activitypool import ActivityPool
+from lib.date import Date, getNameMonth
+from pytrainer.core.activity import ActivityService
from lib.ddbb import DDBB
from lib.uc import UC
class pyTrainer:
def __init__(self,filename = None, data_path = None):
- # Based in Django's approach -> http://code.djangoproject.com/svn/django/trunk/django/__init__.py
+ # Based on Django's approach -> http://code.djangoproject.com/svn/django/trunk/django/__init__.py
self.version = __import__('pytrainer').get_version()
#Process command line options
self.startup_options = self.get_options()
#Setup logging
- self.environment = Environment(platform.get_platform(), self.startup_options.conf_dir)
+ self.environment = Environment(self.startup_options.conf_dir, data_path)
self.environment.create_directories()
+ self.environment.clear_temp_dir()
self.set_logging(self.startup_options.log_level, self.startup_options.log_type)
logging.debug('>>')
- logging.debug("pytrainer version %s" % (self.version))
+ logging.info("pytrainer version %s" % (self.version))
self.data_path = data_path
- self.date = Date()
- self.ddbb = None
+
# Checking profile
logging.debug('Checking configuration and profile...')
- self.profile = Profile(self.environment, self.data_path,self)
+ self.profile = Profile()
+ # Write the default config to disk
+ self.profile.saveProfile()
self.uc = UC()
- self.windowmain = None
- self.ddbb = DDBB(self.profile, self)
+ self.profilewindow = None
+ self.ddbb = DDBB(self.profile)
logging.debug('connecting to DDBB')
self.ddbb.connect()
-
+
+ logging.info('Checking if some upgrade action is needed...')
initialize_data(self.ddbb, self.environment.conf_dir)
-
+
+ # Loading shared services
+ logging.debug('Loading sport service...')
self._sport_service = SportService(self.ddbb)
+ logging.debug('Loading record service...')
self.record = Record(self._sport_service, data_path, self)
- self.athlete = Athlete(data_path,self)
+ logging.debug('Loading athlete service...')
+ self.athlete = Athlete(data_path, self)
+ logging.debug('Loading stats service...')
self.stats = Stats(self._sport_service, self)
+ logging.debug('Initializing activity pool...')
pool_size = self.profile.getIntValue("pytraining","activitypool_size", default=1)
- self.activitypool = ActivityPool(self, size=pool_size)
- #preparamos la ventana principal
+ self.activitypool = ActivityService(self, size=pool_size)
+
+ #Loading main window
+ self.windowmain = None
+ logging.debug('Loading main window...')
self.windowmain = Main(self._sport_service, data_path,self,self.version, gpxDir=self.profile.gpxdir)
- self.date = Date(self.windowmain.calendar)
+
+ # Select initial date depending on user's preference
+ self.selectInitialDate()
+
+ logging.debug('Loading waypoint service...')
self.waypoint = Waypoint(data_path,self)
+ logging.debug('Loading extension service...')
self.extension = Extension(data_path, self)
+ logging.debug('Loading plugins service...')
self.plugins = Plugins(data_path, self)
self.importdata = Importdata(self._sport_service, data_path, self, self.profile)
+ logging.debug('Loading plugins...')
self.loadPlugins()
+ logging.debug('Loading extensions...')
self.loadExtensions()
+ logging.debug('Setting values for graphs, maps and waypoint editor...')
self.windowmain.setup()
self.windowmain.on_calendar_selected(None)
+ logging.debug('Refreshing sport list... is this needed?')
self.refreshMainSportList()
+ logging.debug('Launching main window...')
self.windowmain.run()
logging.debug('<<')
@@ -112,10 +125,12 @@ class pyTrainer:
For more help on valid options try:
%prog -h '''
parser = OptionParser(usage=usage)
- parser.set_defaults(log_level=logging.ERROR, validate=False, equip=False, newgraph=True, conf_dir=None, log_type="file")
+ parser.set_defaults(log_level=logging.WARNING, validate=False, equip=False, newgraph=True, conf_dir=None, log_type="file")
parser.add_option("-d", "--debug", action="store_const", const=logging.DEBUG, dest="log_level", help="enable logging at debug level")
parser.add_option("-i", "--info", action="store_const", const=logging.INFO, dest="log_level", help="enable logging at info level")
parser.add_option("-w", "--warn", action="store_const", const=logging.WARNING, dest="log_level", help="enable logging at warning level")
+ parser.add_option("--error", action="store_const", const=logging.ERROR,
+ dest="log_level", help="enable logging at error level")
parser.add_option("--valid", action="store_true", dest="validate", help="enable validation of files imported by plugins (details at info or debug logging level) - note plugin must support validation")
parser.add_option("--oldgraph", action="store_false", dest="newgraph", help="Turn off new graphing approach")
parser.add_option("--newgraph", action="store_true", dest="newgraph", help="Deprecated Option: Turn on new graphing approach")
@@ -148,6 +163,24 @@ class pyTrainer:
logging.shutdown()
sys.exit() # Any nonzero value is considered "abnormal termination" by shells and the like
+ def selectInitialDate(self):
+ logging.debug('>>')
+ # self.windowmain.calendar comes from SimpleGladeApp initialisation, not really sure how... :?
+ self.date = Date(self.windowmain.calendar)
+ if self.profile.getValue("pytraining","prf_startscreen") == "last_entry":
+ logging.info("User selection is to display last entry in start screen")
+ last_entry_date = self.record.getLastRecordDateString()
+ try:
+ logging.info("Last activity found on %s" %last_entry_date)
+ self.date.setDate(last_entry_date)
+ except:
+ logging.error("No data available regarding last activity date. Default date will be today")
+ logging.debug("Traceback: %s" % traceback.format_exc())
+ else:
+ logging.info("User selection is to display current day in start screen")
+ logging.debug('Setting date to %s' % self.date.getDate().strftime("%Y-%m-%d"))
+ logging.debug('<<')
+
def loadPlugins(self):
logging.debug('>>')
activeplugins = self.plugins.getActivePlugins()
@@ -162,7 +195,7 @@ class pyTrainer:
txtbutton = self.plugins.loadPlugin(plugin)
self.windowmain.addImportPlugin(txtbutton)
else:
- logging.debug('From version 1.10 on file import plugins are managed via File -> Import. Not displaying plugin ' + plugin_name)
+ logging.debug('From version 1.10 on, file import plugins are managed via File -> Import. Not displaying plugin ' + plugin_name)
logging.debug('<<')
def loadExtensions(self):
@@ -254,7 +287,7 @@ class pyTrainer:
sport = self.windowmain.activeSport
sport_id = self.record.getSportId(sport)
record_list = self.record.getrecordPeriod(date_range, sport_id)
- nameMonth, daysInMonth = self.date.getNameMonth(date_selected)
+ nameMonth, daysInMonth = getNameMonth(date_selected)
self.windowmain.actualize_monthview(record_list, nameMonth)
self.windowmain.actualize_monthgraph(record_list, daysInMonth)
elif view=="year":
@@ -486,7 +519,19 @@ class pyTrainer:
def editProfile(self):
logging.debug('>>')
- self.profile.editProfile(self._sport_service)
+ from gui.windowprofile import WindowProfile
+ self.profile.refreshConfiguration()
+ if self.profilewindow is None:
+ self.profilewindow = WindowProfile(self._sport_service, self.data_path, self.profile, pytrainer_main=self)
+ logging.debug("setting data values")
+ self.profilewindow.setValues(self.profile.configuration)
+ self.profilewindow.run()
+ self.profilewindow = None
+ else:
+ self.profilewindow.setValues(self.profile.configuration)
+ self.profilewindow.present()
+ self.profile.refreshConfiguration()
+
self.activitypool.clear_pool()
self.windowmain.setup()
logging.debug('<<')
diff --git a/pytrainer/platform.py b/pytrainer/platform.py
index a127e8c..ee21df3 100644
--- a/pytrainer/platform.py
+++ b/pytrainer/platform.py
@@ -35,14 +35,20 @@ class _Platform(object):
"""Get the path to the default configuration directory for the platform."""
return self._home_dir + "/" + self._conf_dir_name
+ def get_default_data_path(self):
+ """Get the path to the default data directory for the platform."""
+ return self._data_path
+
class _Linux(_Platform):
def __init__(self):
self._home_dir = os.environ['HOME']
self._conf_dir_name = ".pytrainer"
+ self._data_path = "/usr/share/pytrainer/"
class _Windows(_Platform):
def __init__(self):
self._home_dir = os.environ['USERPROFILE']
self._conf_dir_name = "pytrainer"
+ self._data_path = os.getcwd() + os.sep
diff --git a/pytrainer/profile.py b/pytrainer/profile.py
index f927785..fea3791 100644
--- a/pytrainer/profile.py
+++ b/pytrainer/profile.py
@@ -22,27 +22,17 @@ import logging
from StringIO import StringIO
from lxml import etree
-from lib.ddbb import DDBB
+from environment import Environment
+from pytrainer.lib.singleton import Singleton
from lib.uc import UC
-class Profile:
- def __init__(self, environment, data_path = None, parent = None):
+class Profile(Singleton):
+ def __init__(self):
logging.debug(">>")
- self.environment = environment
- self.pytrainer_main = parent
- self.data_path = data_path
- self.xml_tree = None
- self.tmpdir = environment.temp_dir
- self.confdir = environment.conf_dir
- self.conffile = environment.conf_file
- self.gpxdir = environment.gpx_dir
- self.extensiondir = environment.extension_dir
- self.plugindir = environment.plugin_dir
+ # The first two variables are singletons themselves, profile_options
+ # doesn't change, only xml_tree needs to be protected by has_attr.
+ self.environment = Environment()
self.uc = UC()
- self.profilewindow = None
-
- environment.clear_temp_dir()
-
#Profile Options and Defaults
self.profile_options = {
"prf_name":"default",
@@ -65,13 +55,48 @@ class Profile:
"default_viewer":"0",
"window_size":"800, 640",
"activitypool_size": "10",
+ "prf_startscreen":"current_day",
}
- #Parse pytrainer configuration file
- self.config_file = environment.conf_file
+ if not hasattr(self, 'xml_tree'):
+ self.xml_tree = None
+ #Parse pytrainer configuration file
+ self.refreshConfiguration()
+
+ logging.debug("<<")
+
+ @property
+ def data_path(self):
+ return self.environment.data_path
+
+ @property
+ def tmpdir(self):
+ return self.environment.temp_dir
+
+ @property
+ def confdir(self):
+ return self.environment.conf_dir
+
+ @property
+ def config_file(self):
+ return self.environment.conf_file
+
+ @property
+ def gpxdir(self):
+ return self.environment.gpx_dir
+
+ @property
+ def extensiondir(self):
+ return self.environment.extension_dir
+
+ @property
+ def plugindir(self):
+ return self.environment.plugin_dir
+
+ def refreshConfiguration(self):
+ logging.debug(">>")
self.configuration = self._parse_config_file(self.config_file)
- logging.debug("Configuration retrieved: "+str(self.configuration))
- #self.pytrainer_main.ddbb = DDBB(self, pytrainer_main=self.pytrainer_main)
+ logging.debug("Configuration retrieved: %s", str(self.configuration))
self.uc.set_us(self.prf_us_system)
self._setZones()
logging.debug("<<")
@@ -126,12 +151,6 @@ class Profile:
def getZones(self):
return self.zone5,self.zone4,self.zone3,self.zone2,self.zone1
- def getConfFile(self):
- if not os.path.isfile(self.conffile):
- return False
- else:
- return self.conffile
-
def _parse_config_file(self, config_file):
'''
Parse the xml configuration file and convert to a dict
@@ -142,40 +161,39 @@ class Profile:
logging.error("Configuration file value not set")
logging.error("Fatal error, exiting")
exit(-3)
- if not os.path.isfile(config_file): #File not found
+ elif not os.path.isfile(config_file): #File not found
logging.error("Configuration '%s' file does not exist" % config_file)
logging.info("No profile found. Creating default one")
self.setProfile(self.profile_options)
- if os.stat(config_file)[stat.ST_SIZE] == 0: #File is empty
+ elif os.stat(config_file)[stat.ST_SIZE] == 0: #File is empty
logging.error("Configuration '%s' file is empty" % config_file)
logging.info("Creating default profile")
self.setProfile(self.profile_options)
- logging.debug("Attempting to parse content from "+ config_file)
- try:
+ else:
+ logging.debug("Attempting to parse content from %s", config_file)
parser = etree.XMLParser(encoding='UTF8', recover=True)
- self.xml_tree = etree.parse(config_file, parser=parser)
- #Have a populated xml tree, get pytraining node (root) and convert it to a dict
- pytraining_tag = self.xml_tree.getroot()
- config = {}
- config_needs_update = False
- for key, default in self.profile_options.items():
- value = pytraining_tag.get(key)
- #If property is not found, set it to the default
- if value is None:
- config_needs_update = True
- value = default
- config[key] = value
- #Added a property, so update config
- if config_needs_update:
- self.setProfile(config)
- #Set shorthand var for units of measurement
- self.prf_us_system = True if config["prf_us_system"] == "True" else False
- return config
- except Exception as e:
- logging.error("Error parsing file: %s. Exiting" % config_file)
- logging.error(str(e))
- logging.error("Fatal error, exiting")
- exit(-3)
+ try:
+ self.xml_tree = etree.parse(config_file, parser=parser)
+ except Exception as e:
+ logging.error("Error %s while parsing file %s. Exiting", e, config_file)
+ exit(-3)
+ #Have a populated xml tree, get pytraining node (root) and convert it to a dict
+ pytraining_tag = self.xml_tree.getroot()
+ config = {}
+ config_needs_update = False
+ for key, default in self.profile_options.items():
+ value = pytraining_tag.get(key)
+ #If property is not found, set it to the default
+ if value is None:
+ config_needs_update = True
+ value = default
+ config[key] = value
+ #Added a property, so update config
+ if config_needs_update:
+ self.setProfile(config)
+ #Set shorthand var for units of measurement
+ self.prf_us_system = True if config["prf_us_system"] == "True" else False
+ return config
def getIntValue(self, tag, variable, default=0):
''' Function to return conf value as int
@@ -204,15 +222,14 @@ class Profile:
def setValue(self, tag, variable, value, delay_write=False):
logging.debug(">>")
if tag != "pytraining":
- print "ERROR - pytraining is the only profile tag supported"
+ logging.error("ERROR: pytraining is the only profile tag supported")
logging.debug("Setting %s to %s" % (variable, value))
if self.xml_tree is None:
#new config file....
self.xml_tree = etree.parse(StringIO('''<?xml version='1.0' encoding='UTF-8'?><pytraining />'''))
self.xml_tree.getroot().set(variable, value.decode('utf-8'))
if not delay_write:
- logging.debug("Writting...")
- self.xml_tree.write(self.config_file, xml_declaration=True, encoding='UTF-8')
+ self.saveProfile()
logging.debug("<<")
def setProfile(self,list_options):
@@ -220,30 +237,10 @@ class Profile:
for option, value in list_options.items():
logging.debug("Adding "+option+"|"+value)
self.setValue("pytraining",option,value,delay_write=True)
- self.xml_tree.write(self.config_file, xml_declaration=True, encoding='UTF-8')
self.uc.set_us(list_options['prf_us_system'])
logging.debug("<<")
- def editProfile(self, sport_service):
- logging.debug(">>")
- from gui.windowprofile import WindowProfile
- logging.debug("retrieving configuration data")
- #Refresh configuration
- self.configuration = self._parse_config_file(self.config_file)
- if self.profilewindow is None:
- self.profilewindow = WindowProfile(sport_service, self.data_path, self, pytrainer_main=self.pytrainer_main)
- logging.debug("setting data values")
- self.profilewindow.setValues(self.configuration)
- self.profilewindow.run()
- self.profilewindow = None
- else:
- self.profilewindow.setValues(self.configuration)
- self.profilewindow.present()
- self.configuration = self._parse_config_file(self.config_file)
- logging.debug("<<")
-
- def actualize_mainsportlist(self):
- logging.debug("--")
- self.pytrainer_main.refreshMainSportList()
-
-
+ def saveProfile(self):
+ logging.debug("Writting configuration...")
+ self.xml_tree.write(self.config_file, xml_declaration=True,
+ encoding='UTF-8')
diff --git a/pytrainer/record.py b/pytrainer/record.py
index 4e8cc3f..057934a 100644
--- a/pytrainer/record.py
+++ b/pytrainer/record.py
@@ -24,9 +24,8 @@ import traceback
from gui.windowrecord import WindowRecord
from gui.dialogselecttrack import DialogSelectTrack
-from lib.ddbb import DDBB
from lib.xmlUtils import XMLParser
-from lib.date import Date
+from lib.date import Date, time2second
from lib.gpx import Gpx
from pytrainer.core.equipment import EquipmentService
from pytrainer.core.sport import Sport
@@ -117,7 +116,7 @@ class Record:
args: list with keys and values without valid format
returns: keys and values matching DB schema"""
logging.debug('>>')
- time = self.date.time2second(list_options["rcd_time"])
+ time = time2second(list_options["rcd_time"])
average = self.parseFloatRecord(list_options["rcd_average"])
keys= "date,sport,distance,time,beats,comments,average,calories,title,upositive,unegative,maxspeed,maxpace,pace,maxbeats,date_time_utc,date_time_local, duration"
if (list_options["rcd_beats"] == ""):
@@ -462,6 +461,19 @@ class Record:
sport = self._sport_service.store_sport(new_sport)
return None if sport is None else sport.id
+ def getLastRecordDateString(self, sport_id = None):
+ """
+ Retrieve date (string format) of last record stored in DB. It may select per sport
+ """
+ logging.debug("--")
+ #select date from records order by date desc limit 1;
+ query_cond = None
+ if sport_id is not None:
+ query_cond = "sport = %s" % sport_id
+ result = self.pytrainer_main.ddbb.select("records", "date", query_cond, "order by date desc limit 1")
+ # It returns a list of tuples, so we take first element of list (tuple) and then select first element
+ return result[0][0]
+
def getAllrecord(self):
"""
Retrieve all record data (no lap nor equipment) stored in database. Initially intended for csv export
@@ -478,7 +490,7 @@ class Record:
"sports.id_sports = records.sport order by date desc")
def getRecordListByCondition(self,condition):
- logging.debug('--')
+ logging.debug('>>')
if condition is None:
return self.getAllRecordList()
else:
diff --git a/pytrainer/save.py b/pytrainer/save.py
index 8fef9ea..da7eb40 100644
--- a/pytrainer/save.py
+++ b/pytrainer/save.py
@@ -17,7 +17,7 @@
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
from lib.fileUtils import fileUtils
-from gui.filechooser import FileChooser
+from pytrainer.gui.dialogs import save_file_chooser_dialog
import logging
import traceback
@@ -28,13 +28,7 @@ class Save:
def run(self):
logging.debug('>>')
- self.filewindow = FileChooser(self.data_path, self, "savecsvfile")
- #self.filewindow.run()
- logging.debug('<<')
-
- def savecsvfile(self):
- logging.debug('>>')
- filename = self.filewindow.filename
+ filename = save_file_chooser_dialog(title="savecsvfile", pattern="*.csv")
records = self.record.getAllrecord()
# CSV Header
content = "date_time_local,title,sports.name,distance,duration,average,maxspeed,pace,maxpace,beats,maxbeats,calories,upositive,unegative,comments\n"
diff --git a/pytrainer/test/core/test_activity.py b/pytrainer/test/core/test_activity.py
new file mode 100644
index 0000000..e073c57
--- /dev/null
+++ b/pytrainer/test/core/test_activity.py
@@ -0,0 +1,105 @@
+#Copyright (C) Arto Jantunen <viiru at iki.fi>
+
+#This program is free software; you can redistribute it and/or
+#modify it under the terms of the GNU General Public License
+#as published by the Free Software Foundation; either version 2
+#of the License, or (at your option) any later version.
+
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+import unittest
+from datetime import datetime
+from mock import Mock
+from dateutil.tz import tzoffset
+
+# Gettext needs to be initialized before UC is imported (via profile)
+import pytrainer.lib.localization
+pytrainer.lib.localization.initialize_gettext("../../locale")
+
+from pytrainer.lib.ddbb import DDBB
+from pytrainer.profile import Profile
+from pytrainer.lib.uc import UC
+from pytrainer.core.activity import ActivityService
+
+class ActivityTest(unittest.TestCase):
+
+ def setUp(self):
+ profile = Mock()
+ profile.getValue = Mock(return_value='memory')
+ self.ddbb = DDBB(profile)
+ main = Mock()
+ main.ddbb = self.ddbb
+ main.profile = Profile()
+ main.ddbb.connect()
+ main.ddbb.create_tables(add_default=True) # We need a sport
+ self.uc = UC()
+ self.uc.set_us(False)
+ self.service = ActivityService(pytrainer_main=main)
+ self.ddbb.insert('records', 'distance,maxspeed,maxpace,title,upositive,average,date_time_local,calories,date_time_utc,comments,pace,unegative,duration,beats,time,date,sport,maxbeats', (46.18, 44.6695617695, 1.2, 'test activity', 553.05993673, 22.3882142185, '2016-07-24 12:58:23+0300', 1462, '2016-07-24T09:58:23Z', 'test comment', 2.4, 564.08076273, 7426, 115.0, '7426', '2016-07-24', 1, 120.0))
+ self.ddbb.insert('laps', 'distance,lap_number,calories,avg_hr,elapsed_time,record,intensity,laptrigger,max_hr', (46181.9107740694, 0, 1462, 136, 7426.0, 1, 'active', 'manual', 173))
+ self.activity = self.service.get_activity(1)
+
+ def tearDown(self):
+ self.service = None
+ self.ddbb.disconnect()
+ self.ddbb = None
+ self.uc.set_us(False)
+
+ def test_activity_date_time(self):
+ self.assertEquals(self.activity.date_time, datetime(2016, 7, 24, 12, 58, 23,
+ tzinfo=tzoffset(None, 10800)))
+
+ def test_activity_distance(self):
+ self.assertEquals(self.activity.distance, 46.18)
+
+ def test_activity_sport_name(self):
+ self.assertEquals(self.activity.sport_name, 'Mountain Bike')
+
+ def test_activity_time(self):
+ self.assertEquals(self.activity.time, 7426)
+
+ def test_activity_duration(self):
+ self.assertEquals(self.activity.time, self.activity.duration)
+
+ def test_activity_starttime(self):
+ self.assertEquals(self.activity.starttime, '12:58:23 PM')
+
+ def test_activity_time_tuple(self):
+ self.assertEquals(self.activity.time_tuple, (2, 3, 46))
+
+ def test_activity_lap(self):
+ self.assertEquals(self.activity.laps[0], {'distance': 46181.9107741, 'end_lon': None, 'lap_number': 0, 'start_lon': None, 'id_lap': 1, 'calories': 1462, 'comments': None, 'laptrigger': u'manual', 'elapsed_time': u'7426.0', 'record': 1, 'intensity': u'active', 'avg_hr': 136, 'max_hr': 173, 'end_lat': None, 'start_lat': None, 'max_speed': None})
+
+ def test_activity_get_value_f(self):
+ self.assertEquals(self.activity.get_value_f('distance', "%0.2f"), '46.18')
+ self.assertEquals(self.activity.get_value_f('average', "%0.2f"), '22.39')
+ self.assertEquals(self.activity.get_value_f('maxspeed', "%0.2f"), '44.67')
+ self.assertEquals(self.activity.get_value_f('time', '%s'), '2:03:46')
+ self.assertEquals(self.activity.get_value_f('calories', "%0.0f"), '1462')
+ self.assertEquals(self.activity.get_value_f('pace', "%s"), '2:24')
+ self.assertEquals(self.activity.get_value_f('maxpace', "%s"), '1:12')
+ self.assertEquals(self.activity.get_value_f('upositive', "%0.2f"), '553.06')
+ self.assertEquals(self.activity.get_value_f('unegative', "%0.2f"), '564.08')
+
+ def test_activity_get_value_f_us(self):
+ self.uc.set_us(True)
+ self.assertEquals(self.activity.get_value_f('distance', "%0.2f"), '28.69')
+ self.assertEquals(self.activity.get_value_f('average', "%0.2f"), '13.91')
+ self.assertEquals(self.activity.get_value_f('maxspeed', "%0.2f"), '27.76')
+ self.assertEquals(self.activity.get_value_f('time', '%s'), '2:03:46')
+ self.assertEquals(self.activity.get_value_f('calories', "%0.0f"), '1462')
+ self.assertEquals(self.activity.get_value_f('pace', "%s"), '3:52')
+ self.assertEquals(self.activity.get_value_f('maxpace', "%s"), '1:56')
+ self.assertEquals(self.activity.get_value_f('upositive', "%0.2f"), '1814.50')
+ self.assertEquals(self.activity.get_value_f('unegative', "%0.2f"), '1850.66')
+
+ def test_activity_service_null(self):
+ none_activity = self.service.get_activity(None)
+ self.assertIsNone(none_activity.id)
diff --git a/pytrainer/test/core/equipment_test.py b/pytrainer/test/core/test_equipment.py
similarity index 78%
rename from pytrainer/test/core/equipment_test.py
rename to pytrainer/test/core/test_equipment.py
index a31a010..542cafe 100644
--- a/pytrainer/test/core/equipment_test.py
+++ b/pytrainer/test/core/test_equipment.py
@@ -20,7 +20,7 @@ import unittest
import mock
from pytrainer.core.equipment import Equipment, EquipmentService,\
EquipmentServiceException
-from pytrainer.lib.sqliteUtils import Sql
+from pytrainer.lib.ddbb import DDBB
class EquipmentTest(unittest.TestCase):
@@ -193,14 +193,19 @@ class EquipmentTest(unittest.TestCase):
class EquipmentServiceTest(unittest.TestCase):
def setUp(self):
- self.mock_ddbb = mock.Mock(spec=Sql)
+ profile = mock.Mock()
+ profile.getValue = mock.Mock(return_value='memory')
+ self.mock_ddbb = DDBB(profile)
+ self.mock_ddbb.connect()
+ self.mock_ddbb.create_tables()
self.equipment_service = EquipmentService(self.mock_ddbb)
def tearDown(self):
- pass
+ self.mock_ddbb.disconnect()
def test_get_equipment_item(self):
- self.mock_ddbb.select.return_value = [(1, u"Test Description", True, 500, 200, u"Test notes.")]
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (500, u"Test notes.", u"Test Description", 200, 1))
item = self.equipment_service.get_equipment_item(1)
self.assertEquals(1, item.id)
self.assertEquals("Test Description", item.description)
@@ -210,19 +215,21 @@ class EquipmentServiceTest(unittest.TestCase):
self.assertEquals("Test notes.", item.notes)
def test_get_equipment_item_non_unicode(self):
- self.mock_ddbb.select.return_value = [(1, "Test Description", True, 500, 200, "Test notes.")]
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (500, u"Test notes.", u"Test Description", 200, 1))
item = self.equipment_service.get_equipment_item(1)
self.assertEquals("Test Description", item.description)
self.assertEquals("Test notes.", item.notes)
def test_get_equipment_item_non_existant(self):
- self.mock_ddbb.select.return_value = []
item = self.equipment_service.get_equipment_item(1)
self.assertEquals(None, item)
def test_get_all_equipment(self):
- self.mock_ddbb.select.return_value = [(1, u"Test item 1", True, 500, 200, u"Test notes 1."),
- (2, u"Test item 2", False, 600, 300, u"Test notes 2.")]
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (500, u"Test notes 1.", u"Test item 1", 200, 1))
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (600, u"Test notes 2.", u"Test item 2", 300, 0))
items = self.equipment_service.get_all_equipment()
item = items[0]
self.assertEquals(1, item.id)
@@ -240,13 +247,14 @@ class EquipmentServiceTest(unittest.TestCase):
self.assertEquals("Test notes 2.", item.notes)
def test_get_all_equipment_non_existant(self):
- self.mock_ddbb.select.return_value = []
items = self.equipment_service.get_all_equipment()
self.assertEquals([], items)
def test_get_active_equipment(self):
- self.mock_ddbb.select.return_value = [(1, u"Test item 1", True, 500, 200, u"Test notes 1."),
- (2, u"Test item 2", True, 600, 300, u"Test notes 2.")]
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (500, u"Test notes 1.", u"Test item 1", 200, 1))
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (600, u"Test notes 2.", u"Test item 2", 300, 1))
items = self.equipment_service.get_active_equipment()
item = items[0]
self.assertEquals(1, item.id)
@@ -264,31 +272,18 @@ class EquipmentServiceTest(unittest.TestCase):
self.assertEquals("Test notes 2.", item.notes)
def test_get_active_equipment_non_existant(self):
- self.mock_ddbb.select.return_value = []
items = self.equipment_service.get_active_equipment()
self.assertEquals([], items)
def test_store_equipment(self):
equipment = Equipment()
equipment.description = u"test description"
- equipment_ids = []
- def mock_select(table, columns, where):
- if columns == "id":
- return equipment_ids
- else:
- return [(2, u"", 1, 0, 0,u"")]
- def update_equipment_ids(*args):
- equipment_ids.append([1])
- self.mock_ddbb.select = mock.Mock(wraps=mock_select)
- self.mock_ddbb.insert.side_effect = update_equipment_ids
stored_equipment = self.equipment_service.store_equipment(equipment)
- self.mock_ddbb.insert.assert_called_with("equipment",
- "description,active,life_expectancy,prior_usage,notes",
- ["test description", 1, 0, 0,"" ])
- self.assertEquals(2, stored_equipment.id)
+ self.assertEquals(1, stored_equipment.id)
def test_store_equipment_duplicate_description(self):
- self.mock_ddbb.select.return_value = [(1,)]
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (500, u"Test notes.", u"test item", 200, 1))
equipment = Equipment()
equipment.description = u"test item"
try:
@@ -298,18 +293,15 @@ class EquipmentServiceTest(unittest.TestCase):
pass
def test_update_equipment(self):
- equipment = Equipment()
- equipment.id = 1
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (500, u"Test notes.", u"old description", 200, 1))
+ equipment = self.equipment_service.get_equipment_item(1)
equipment.description = u"new description"
- self.mock_ddbb.select.return_value = [(1, u"old description", 1, 0, 0,u"")]
self.equipment_service.store_equipment(equipment)
- self.mock_ddbb.update.assert_called_with("equipment",
- "description,active,life_expectancy,prior_usage,notes",
- ["new description", 1, 0, 0,"" ],
- "id = 1")
+ equipment = self.equipment_service.get_equipment_item(1)
+ self.assertEquals("new description", equipment.description)
def test_update_equipment_non_existant(self):
- self.mock_ddbb.select.return_value = []
equipment = Equipment()
equipment.id = 1
try:
@@ -319,7 +311,8 @@ class EquipmentServiceTest(unittest.TestCase):
pass
def test_update_equipment_duplicate_description(self):
- self.mock_ddbb.select.return_value = [(1, u"test item", True, 500, 200, u"Test notes.")]
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (500, u"Test notes.", u"test item", 200, 1))
equipment = Equipment()
equipment.id = 2
equipment.description = u"test item"
@@ -330,18 +323,34 @@ class EquipmentServiceTest(unittest.TestCase):
pass
def test_get_equipment_usage(self):
- self.mock_ddbb.select.return_value = [(250,)]
- equipment = Equipment()
- equipment.id = 1
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (500, u"Test notes.", u"test item", 0, 1))
+ self.mock_ddbb.insert("records", "distance", (250,))
+ self.mock_ddbb.insert("record_equipment", "record_id,equipment_id", (1, 1))
+ equipment = self.equipment_service.get_equipment_item(1)
usage = self.equipment_service.get_equipment_usage(equipment)
self.assertEquals(250, usage)
def test_get_equipment_usage_none(self):
- self.mock_ddbb.select.return_value = [(None,)]
+ self.mock_ddbb.insert("equipment", "life_expectancy,notes,description,prior_usage,active",
+ (500, u"Test notes.", u"test item", 0, 1))
+ equipment = self.equipment_service.get_equipment_item(1)
+ usage = self.equipment_service.get_equipment_usage(equipment)
+ self.assertEquals(0, usage)
+
+ def test_get_equipment_prior_usage(self):
equipment = Equipment()
equipment.id = 1
+ equipment.prior_usage = 250
usage = self.equipment_service.get_equipment_usage(equipment)
- self.assertEquals(0, usage)
+ self.assertEquals(250, usage)
+
+ def test_get_equipment_prior_usage(self):
+ equipment = Equipment()
+ equipment.id = 1
+ equipment.prior_usage = 250
+ usage = self.equipment_service.get_equipment_usage(equipment)
+ self.assertEquals(250, usage)
if __name__ == "__main__":
#import sys;sys.argv = ['', 'Test.testName']
diff --git a/pytrainer/test/core/sport_test.py b/pytrainer/test/core/test_sport.py
similarity index 73%
rename from pytrainer/test/core/sport_test.py
rename to pytrainer/test/core/test_sport.py
index acd42a4..ffac07b 100644
--- a/pytrainer/test/core/sport_test.py
+++ b/pytrainer/test/core/test_sport.py
@@ -21,6 +21,7 @@ from pytrainer.core.sport import Sport, SportService, SportServiceException
import mock
from pytrainer.lib.sqliteUtils import Sql
import pytrainer.core
+from pytrainer.lib.ddbb import DDBB
class SportTest(unittest.TestCase):
@@ -220,53 +221,38 @@ class SportTest(unittest.TestCase):
class SportServiceTest(unittest.TestCase):
def setUp(self):
- self.mock_ddbb = mock.Mock(spec=Sql)
+ profile = mock.Mock()
+ profile.getValue = mock.Mock(return_value='memory')
+ self.mock_ddbb = DDBB(profile)
+ self.mock_ddbb.connect()
+ self.mock_ddbb.create_tables(add_default=False)
self.sport_service = SportService(self.mock_ddbb)
+
+ def tearDown(self):
+ self.mock_ddbb.disconnect()
def test_store_sport_should_insert_row_when_sport_has_no_id(self):
- def mock_select(table, columns, where):
- call_count = self.mock_ddbb.select.call_count
- if call_count == 2:
- return [[1]]
- return []
- self.mock_ddbb.select = mock.Mock(wraps=mock_select)
sport = Sport()
sport.name = u"Test name"
- self.sport_service.store_sport(sport)
- self.mock_ddbb.insert.assert_called_with("sports", "name,weight,met,max_pace,color",
- [u"Test name", 0.0, None, None, "0000ff"])
+ sport = self.sport_service.store_sport(sport)
+ self.assertEquals(1, sport.id)
+
def test_store_sport_should_update_row_when_sport_has_id(self):
- def mock_select(table, columns, where):
- if columns == "id_sports":
- return [[1]]
- else:
- return [(1, u"", 0, 0, 0, "0")]
- self.mock_ddbb.select = mock.Mock(wraps=mock_select)
sport = Sport()
- sport.id = 1
+ sport.name = u"Test name"
+ sport = self.sport_service.store_sport(sport)
sport.name = u"New name"
self.sport_service.store_sport(sport)
- self.mock_ddbb.update.assert_called_with("sports", "name,weight,met,max_pace,color",
- [u"New name", 0.0, None, None, "0000ff"], "id_sports=1")
+ sport = self.sport_service.get_sport(1)
+ self.assertEquals(sport.name, u"New name")
def test_store_sport_should_return_stored_sport(self):
- sport_ids = []
- def update_sport_ids(*args):
- sport_ids.append([1])
- self.mock_ddbb.insert.side_effect = update_sport_ids
- def mock_select(table, columns, where):
- if columns == "id_sports":
- return sport_ids
- else:
- return [(2, u"", 0, 0, 0, "0")]
- self.mock_ddbb.select = mock.Mock(wraps=mock_select)
sport = Sport()
stored_sport = self.sport_service.store_sport(sport)
- self.assertEquals(2, stored_sport.id)
+ self.assertEquals(1, stored_sport.id)
def test_store_sport_should_error_when_sport_has_unknown_id(self):
- self.mock_ddbb.select.return_value = []
sport = Sport()
sport.id = 100
try:
@@ -277,40 +263,41 @@ class SportServiceTest(unittest.TestCase):
self.fail()
def test_store_sport_should_error_when_new_sport_has_duplicate_name(self):
- self.mock_ddbb.select.return_value = [(1, u"Test name", 150, 12.5, 200, "0")]
- sport = Sport()
- sport.name = u"Test name"
+ sport1 = Sport()
+ sport1.name = u"Test name"
+ self.sport_service.store_sport(sport1)
+ sport2 = Sport()
+ sport2.name = u"Test name"
try:
- self.sport_service.store_sport(sport)
+ self.sport_service.store_sport(sport2)
except(SportServiceException):
pass
else:
self.fail()
def test_store_sport_should_error_when_existing_sport_has_duplicate_name(self):
- def mock_select(table, columns, where):
- if columns == pytrainer.core.sport._ID_COLUMN:
- return [[2]]
- else:
- return [(1, u"Test name", 0, 0.0, "0"), (2, u"New name", 0, 0.0, "0")]
- self.mock_ddbb.select = mock.Mock(wraps=mock_select)
- sport = Sport()
- sport.id = 1
- sport.name = u"New name"
+ sport1 = Sport()
+ sport1.name = u"Test name"
+ self.sport_service.store_sport(sport1)
+ sport2 = Sport()
+ sport2.name = u"New name"
+ self.sport_service.store_sport(sport2)
+ sport1.name = u"New name"
try:
- self.sport_service.store_sport(sport)
+ self.sport_service.store_sport(sport1)
except(SportServiceException):
pass
else:
self.fail()
def test_get_sport_returns_none_for_nonexistant_sport(self):
- self.mock_ddbb.select.return_value = []
sport = self.sport_service.get_sport(1)
self.assertEquals(None, sport)
def test_get_sport_returns_sport_with_id(self):
- self.mock_ddbb.select.return_value = [(1, u"", 0, 0, 0, "0")]
+ sport = Sport()
+ sport.name = u"Test name"
+ self.sport_service.store_sport(sport)
sport = self.sport_service.get_sport(1)
self.assertEquals(1, sport.id)
@@ -323,19 +310,15 @@ class SportServiceTest(unittest.TestCase):
self.fail()
def test_get_sport_by_name_returns_none_for_nonexistant_sport(self):
- self.mock_ddbb.select.return_value = []
- sport = self.sport_service.get_sport("no such sport")
+ sport = self.sport_service.get_sport_by_name("no such sport")
self.assertEquals(None, sport)
def test_get_sport_by_name_returns_sport_with_name(self):
- def mock_select(table, columns, where):
- if columns == "id_sport":
- return [(1)]
- else:
- return [(1, u"rugby", 0, 0, 0, "0")]
- self.mock_ddbb.select = mock.Mock(wraps=mock_select)
- sport = self.sport_service.get_sport("rugby")
- self.assertEquals(u"rugby", sport.name)
+ sport1 = Sport()
+ sport1.name = u"rugby"
+ self.sport_service.store_sport(sport1)
+ sport2 = self.sport_service.get_sport_by_name("rugby")
+ self.assertEquals(u"rugby", sport2.name)
def test_get_sport_by_name_raises_error_for_none_sport_name(self):
try:
@@ -346,7 +329,12 @@ class SportServiceTest(unittest.TestCase):
self.fail()
def test_get_all_sports_should_return_all_sports_in_query_result(self):
- self.mock_ddbb.select.return_value = [(1, u"Test name", 0, 0, 0, "0"), (2, u"Test name 2", 0, 0, 0, "0")]
+ sport1 = Sport()
+ sport1.name = u"Test name"
+ self.sport_service.store_sport(sport1)
+ sport2 = Sport()
+ sport2.name = u"Test name 2"
+ self.sport_service.store_sport(sport2)
sports = self.sport_service.get_all_sports()
self.assertEquals(2, len(sports))
sport1 = sports[0]
@@ -355,12 +343,12 @@ class SportServiceTest(unittest.TestCase):
self.assertEquals(2, sport2.id)
def test_get_all_sports_should_return_no_sports_when_query_result_empty(self):
- self.mock_ddbb.select.return_value = []
sports = self.sport_service.get_all_sports()
+ for i in sports:
+ print i.name
self.assertEquals(0, len(sports))
def test_remove_sport_should_error_when_sport_has_no_id(self):
- self.mock_ddbb.select.return_value = [(1, u"Test name", 150, 12.5, 200, "0")]
sport = Sport()
try:
self.sport_service.remove_sport(sport)
@@ -370,7 +358,6 @@ class SportServiceTest(unittest.TestCase):
self.fail()
def test_remove_sport_should_error_when_sport_has_unknown_id(self):
- self.mock_ddbb.select.return_value = []
sport = Sport()
sport.id = 100
try:
@@ -380,20 +367,10 @@ class SportServiceTest(unittest.TestCase):
else:
self.fail()
- def test_remove_sport_should_delete_sport_with_specified_id(self):
- self.mock_ddbb.select.return_value = [[1]]
- sport = Sport()
- sport.id = 1
- self.sport_service.remove_sport(sport)
- self.mock_ddbb.delete.assert_called_with("sports", "id_sports=1")
-
def test_remove_sport_should_remove_associated_entries(self):
- self.mock_ddbb.select.return_value = [[1]]
sport = Sport()
- sport.id = 1
- delete_arguments = []
- def mock_delete(*args):
- delete_arguments.append(args)
- self.mock_ddbb.delete = mock.Mock(wraps=mock_delete)
+ sport.name = u"Test name"
+ sport = self.sport_service.store_sport(sport)
self.sport_service.remove_sport(sport)
- self.assertEquals(("records", "sport=1"), delete_arguments[0])
+ result = self.sport_service.get_sport(1)
+ self.assertEquals(result, None)
diff --git a/pytrainer/test/environment_test.py b/pytrainer/test/environment_test.py
deleted file mode 100644
index 0b99875..0000000
--- a/pytrainer/test/environment_test.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# -*- coding: iso-8859-1 -*-
-
-#Copyright (C) Nathan Jones ncjones at users.sourceforge.net
-
-#This program is free software; you can redistribute it and/or
-#modify it under the terms of the GNU General Public License
-#as published by the Free Software Foundation; either version 2
-#of the License, or (at your option) any later version.
-
-#This program is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-import unittest
-
-from mock import Mock
-
-import pytrainer.platform
-from pytrainer.environment import Environment
-
-TEST_DIR_NAME = "/test/.pytrainer_test"
-
-PLATFORM = pytrainer.platform.get_platform()
-
-class Test(unittest.TestCase):
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def test_get_conf_dir(self):
- environment = Environment(PLATFORM, TEST_DIR_NAME)
- self.assertEquals(TEST_DIR_NAME, environment.conf_dir)
-
- def test_get_conf_dir_default(self):
- test_platform = Mock(spec=pytrainer.platform.get_platform())
- test_platform.get_default_conf_dir.return_value = "/test/.pytrainer_test"
- environment = Environment(test_platform, None)
- self.assertEquals("/test/.pytrainer_test", environment.conf_dir)
-
- def test_get_conf_file(self):
- environment = Environment(PLATFORM, TEST_DIR_NAME)
- self.assertEquals(TEST_DIR_NAME + "/conf.xml", environment.conf_file)
-
- def test_get_log_file(self):
- environment = Environment(PLATFORM, TEST_DIR_NAME)
- self.assertEquals(TEST_DIR_NAME + "/log.out", environment.log_file)
-
- def test_get_temp_dir(self):
- environment = Environment(PLATFORM, TEST_DIR_NAME)
- self.assertEquals(TEST_DIR_NAME + "/tmp", environment.temp_dir)
-
- def test_get_gpx_dir(self):
- environment = Environment(PLATFORM, TEST_DIR_NAME)
- self.assertEquals(TEST_DIR_NAME + "/gpx", environment.gpx_dir)
-
- def test_get_extension_dir(self):
- environment = Environment(PLATFORM, TEST_DIR_NAME)
- self.assertEquals(TEST_DIR_NAME + "/extensions", environment.extension_dir)
-
- def test_get_plugin_dir(self):
- environment = Environment(PLATFORM, TEST_DIR_NAME)
- self.assertEquals(TEST_DIR_NAME + "/plugins", environment.plugin_dir)
-
-
-if __name__ == "__main__":
- #import sys;sys.argv = ['', 'Test.testName']
- unittest.main()
\ No newline at end of file
diff --git a/pytrainer/test/gui/color_test.py b/pytrainer/test/gui/test_color.py
similarity index 100%
rename from pytrainer/test/gui/color_test.py
rename to pytrainer/test/gui/test_color.py
diff --git a/pytrainer/test/gui/equipment_test.py b/pytrainer/test/gui/test_equipment.py
similarity index 100%
rename from pytrainer/test/gui/equipment_test.py
rename to pytrainer/test/gui/test_equipment.py
diff --git a/pytrainer/test/imports/garmin-fit_test.py b/pytrainer/test/imports/test_garminfit.py
similarity index 100%
rename from pytrainer/test/imports/garmin-fit_test.py
rename to pytrainer/test/imports/test_garminfit.py
diff --git a/pytrainer/test/imports/garmin-tcxv2_test.py b/pytrainer/test/imports/test_garmintcxv2.py
similarity index 100%
rename from pytrainer/test/imports/garmin-tcxv2_test.py
rename to pytrainer/test/imports/test_garmintcxv2.py
diff --git a/pytrainer/test/lib/test_date.py b/pytrainer/test/lib/test_date.py
new file mode 100644
index 0000000..d2cc9ac
--- /dev/null
+++ b/pytrainer/test/lib/test_date.py
@@ -0,0 +1,48 @@
+#Copyright (C) Arto Jantunen <viiru at iki.fi>
+
+#This program is free software; you can redistribute it and/or
+#modify it under the terms of the GNU General Public License
+#as published by the Free Software Foundation; either version 2
+#of the License, or (at your option) any later version.
+
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+import unittest
+import datetime
+from dateutil.tz import tzutc, tzlocal
+from pytrainer.lib.date import second2time, time2second, time2string, unixtime2date, getNameMonth, getDateTime
+
+class DateFunctionTest(unittest.TestCase):
+
+ def test_second2time(self):
+ tmp = second2time(3912)
+ self.assertEqual((1, 5, 12), tmp)
+
+ def test_time2second(self):
+ tmp = time2second((1, 5, 12))
+ self.assertEqual(3912, tmp)
+
+ def test_time2string(self):
+ tmp = time2string((2015, 11, 24))
+ self.assertEqual('2015-11-24', tmp)
+
+ def test_getNameMonth(self):
+ monthname, daysinmonth = getNameMonth(datetime.date(2015, 11, 24))
+ self.assertEqual('November', monthname)
+ self.assertEqual(30, daysinmonth)
+
+ def test_unixtime2date(self):
+ tmp = unixtime2date(1448378940)
+ self.assertEqual('2015-11-24', tmp)
+
+ def test_getDateTime(self):
+ utctime, localtime = getDateTime('Tue Nov 24 17:29:05 UTC 2015')
+ self.assertEqual(datetime.datetime(2015, 11, 24, 17, 29, 5, tzinfo=tzutc()), utctime)
+ self.assertEqual(datetime.datetime(2015, 11, 24, 19, 29, 5, tzinfo=tzlocal()), localtime)
diff --git a/pytrainer/test/lib/gpx_test.py b/pytrainer/test/lib/test_gpx.py
similarity index 67%
rename from pytrainer/test/lib/gpx_test.py
rename to pytrainer/test/lib/test_gpx.py
index 64089bf..74e9ee7 100644
--- a/pytrainer/test/lib/gpx_test.py
+++ b/pytrainer/test/lib/test_gpx.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
#Copyright (C) David García Granda dgranda at users.sourceforge.net
+#Copyright (C) Kevin Dwyer kevin at pheared.net
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
@@ -16,6 +17,11 @@
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Need to set this stuff up so that the translation functions work. Seems like
+# the module that needs translation ought to have some way of setting this up.
+import pytrainer.lib.localization
+pytrainer.lib.localization.initialize_gettext("../../locale")
+
import unittest
import os
from lxml import etree
@@ -23,6 +29,16 @@ from pytrainer.lib.gpx import Gpx
class GpxTest(unittest.TestCase):
+ def setUp(self):
+ self.tmp_files = []
+
+ def tearDown(self):
+ for file_name in self.tmp_files:
+ try:
+ os.remove(file_name)
+ except:
+ pass
+
def test_get_laps_old(self):
orig_laps = [
("1264.66","42.84154594","-2.68554166","426","5000.71875","42.83547375","-2.68631422","active","170","177","4.93775940","manual"),
@@ -61,5 +77,42 @@ class GpxTest(unittest.TestCase):
except():
self.fail()
+ def test_missing_tracks(self):
+ trkdata = """<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
+</gpx>
+"""
+
+ # Write a GPX file with no tracks
+ file_name = "test-missing.gpx"
+ tmpf = file(file_name,'w')
+ tmpf.write(trkdata)
+ tmpf.close()
+ self.tmp_files.append(file_name)
+
+ try:
+ g = Gpx(filename=file_name)
+ except IndexError:
+ self.fail("Gpx parser crashed on file without tracks")
+
+ def test_missing_name(self):
+ trkdata = """<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
+<trk></trk>
+</gpx>
+"""
+
+ # Write a GPX file with a nameless track
+ file_name = "test-noname.gpx"
+ tmpf = file(file_name,'w')
+ tmpf.write(trkdata)
+ tmpf.close()
+ self.tmp_files.append(file_name)
+
+ try:
+ g = Gpx(filename=file_name)
+ except IndexError:
+ self.fail("Gpx parser crashed on file with a nameless track")
+
if __name__ == '__main__':
unittest.main()
diff --git a/pytrainer/test/lib/test_uc.py b/pytrainer/test/lib/test_uc.py
new file mode 100644
index 0000000..e051998
--- /dev/null
+++ b/pytrainer/test/lib/test_uc.py
@@ -0,0 +1,67 @@
+#Copyright (C) Arto Jantunen <viiru at iki.fi>
+
+#This program is free software; you can redistribute it and/or
+#modify it under the terms of the GNU General Public License
+#as published by the Free Software Foundation; either version 2
+#of the License, or (at your option) any later version.
+
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+import unittest
+from datetime import date
+from mock import Mock
+
+import pytrainer.lib.localization
+from pytrainer.lib.uc import *
+
+pytrainer.lib.localization.initialize_gettext("../../locale")
+
+class UCUtilTest(unittest.TestCase):
+
+ def test_uc_pace2float(self):
+ self.assertEquals(4.1, pace2float('4:06'))
+
+ def test_uc_float2pace(self):
+ self.assertEquals('4:06', float2pace(4.1))
+
+class UCTest(unittest.TestCase):
+
+ def setUp(self):
+ self.uc = UC()
+ self.uc.set_us(False)
+
+ def tearDown(self):
+ self.uc = None
+
+ def test_uc_units(self):
+ self.assertEquals(self.uc.unit_distance, "km")
+ self.assertEquals(self.uc.unit_speed, "km/h")
+ self.assertEquals(self.uc.unit_pace, "min/km")
+ self.assertEquals(self.uc.unit_height, "m")
+ self.assertEquals(self.uc.unit_weight, "kg")
+ self.uc.set_us(True)
+ self.assertEquals(self.uc.unit_distance, "mi")
+ self.assertEquals(self.uc.unit_speed, "mph")
+ self.assertEquals(self.uc.unit_pace, "min/mi")
+ self.assertEquals(self.uc.unit_height, "ft")
+ self.assertEquals(self.uc.unit_weight, "lb")
+
+ def test_uc_conversions(self):
+ self.assertEquals(self.uc.distance(10), 10)
+ self.assertEquals(self.uc.speed(10), 10)
+ self.assertEquals(self.uc.pace(10), 10)
+ self.assertEquals(self.uc.height(10), 10)
+ self.assertEquals(self.uc.weight(10), 10)
+ self.uc.set_us(True)
+ self.assertEquals(self.uc.distance(10), 6.21371192)
+ self.assertEquals(self.uc.speed(10), 6.21371192)
+ self.assertEquals(self.uc.pace(10), 16.09344)
+ self.assertEquals(self.uc.height(10), 32.808399)
+ self.assertEquals(self.uc.weight(10), 22.046239999999997)
diff --git a/pytrainer/test/test_athlete.py b/pytrainer/test/test_athlete.py
new file mode 100644
index 0000000..fde00f7
--- /dev/null
+++ b/pytrainer/test/test_athlete.py
@@ -0,0 +1,77 @@
+#Copyright (C) Arto Jantunen <viiru at iki.fi>
+
+#This program is free software; you can redistribute it and/or
+#modify it under the terms of the GNU General Public License
+#as published by the Free Software Foundation; either version 2
+#of the License, or (at your option) any later version.
+
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+import unittest
+from datetime import date
+from mock import Mock
+
+# Gettext needs to be initialized before UC is imported (via profile)
+import pytrainer.lib.localization
+pytrainer.lib.localization.initialize_gettext("../../locale")
+
+from pytrainer.lib.ddbb import DDBB
+from pytrainer.profile import Profile
+from pytrainer.athlete import Athlete
+
+class AthleteTest(unittest.TestCase):
+
+ def setUp(self):
+ profile = Mock()
+ profile.getValue = Mock(return_value='memory')
+ self.ddbb = DDBB(profile)
+ main = Mock()
+ main.ddbb = self.ddbb
+ main.profile = Profile()
+ main.ddbb.connect()
+ main.ddbb.create_tables(add_default=False)
+ self.athlete = Athlete(parent=main)
+
+ def tearDown(self):
+ self.athlete = None
+ self.ddbb.disconnect()
+ self.ddbb = None
+
+ def test_athlete_insert_and_get(self):
+ data = {'date': date(2017, 4, 3), 'weight': 60.0, 'bodyfat': 20.0,
+ 'restinghr': 60, 'maxhr': 190, 'id_athletestat': 1}
+ self.athlete.insert_athlete_stats(str(data['date']), data['weight'],
+ data['bodyfat'], data['restinghr'],
+ data['maxhr'])
+ data2 = self.athlete.get_athlete_stats()
+ self.assertEquals(data, data2[0])
+
+ def test_athlete_update_and_get(self):
+ data = {'date': date(2017, 4, 3), 'weight': 60.0, 'bodyfat': 20.0,
+ 'restinghr': 60, 'maxhr': 190, 'id_athletestat': 1}
+ self.athlete.insert_athlete_stats(str(data['date']), data['weight'],
+ data['bodyfat'], data['restinghr'],
+ data['maxhr'])
+ data['maxhr'] = 180
+ data['bodyfat'] = 30.0
+ self.athlete.update_athlete_stats(1, str(data['date']), data['weight'],
+ data['bodyfat'], data['restinghr'],
+ data['maxhr'])
+ data2 = self.athlete.get_athlete_stats()
+ self.assertEquals(data, data2[0])
+
+ def test_athlete_delete_record(self):
+ data = {'date': date(2017, 4, 3), 'weight': 60.0, 'bodyfat': 20.0,
+ 'restinghr': 60, 'maxhr': 190, 'id_athletestat': 1}
+ self.athlete.insert_athlete_stats(str(data['date']), data['weight'],
+ data['bodyfat'], data['restinghr'],
+ data['maxhr'])
+ self.athlete.delete_record(1)
+ self.assertFalse(self.athlete.get_athlete_stats())
diff --git a/pytrainer/test/test_environment.py b/pytrainer/test/test_environment.py
new file mode 100644
index 0000000..5c0c7fb
--- /dev/null
+++ b/pytrainer/test/test_environment.py
@@ -0,0 +1,67 @@
+# -*- coding: iso-8859-1 -*-
+
+#Copyright (C) Nathan Jones ncjones at users.sourceforge.net
+
+#This program is free software; you can redistribute it and/or
+#modify it under the terms of the GNU General Public License
+#as published by the Free Software Foundation; either version 2
+#of the License, or (at your option) any later version.
+
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+import unittest
+
+from mock import Mock
+
+from pytrainer.environment import Environment
+
+TEST_DIR_NAME = "/test/.pytrainer_test"
+DATA_DIR_NAME = "/test/datadir"
+
+class Test(unittest.TestCase):
+
+ def setUp(self):
+ self.environment = Environment()
+ # Environment is a singleton, make sure to destroy it between tests
+ del(Environment.self)
+ self.environment = Environment(TEST_DIR_NAME, DATA_DIR_NAME)
+
+ def test_get_conf_dir(self):
+ self.assertEquals(TEST_DIR_NAME, self.environment.conf_dir)
+
+ def test_get_data_path(self):
+ self.assertEquals(DATA_DIR_NAME, self.environment.data_path)
+
+ def test_environment_singleton(self):
+ self.environment = Environment()
+ self.assertEquals(TEST_DIR_NAME, self.environment.conf_dir)
+ self.assertEquals(DATA_DIR_NAME, self.environment.data_path)
+
+ def test_get_conf_file(self):
+ self.assertEquals(TEST_DIR_NAME + "/conf.xml", self.environment.conf_file)
+
+ def test_get_log_file(self):
+ self.assertEquals(TEST_DIR_NAME + "/log.out", self.environment.log_file)
+
+ def test_get_temp_dir(self):
+ self.assertEquals(TEST_DIR_NAME + "/tmp", self.environment.temp_dir)
+
+ def test_get_gpx_dir(self):
+ self.assertEquals(TEST_DIR_NAME + "/gpx", self.environment.gpx_dir)
+
+ def test_get_extension_dir(self):
+ self.assertEquals(TEST_DIR_NAME + "/extensions", self.environment.extension_dir)
+
+ def test_get_plugin_dir(self):
+ self.assertEquals(TEST_DIR_NAME + "/plugins", self.environment.plugin_dir)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/pytrainer/test/test_waypoint.py b/pytrainer/test/test_waypoint.py
new file mode 100644
index 0000000..9b60ca0
--- /dev/null
+++ b/pytrainer/test/test_waypoint.py
@@ -0,0 +1,75 @@
+#Copyright (C) Arto Jantunen <viiru at iki.fi>
+
+#This program is free software; you can redistribute it and/or
+#modify it under the terms of the GNU General Public License
+#as published by the Free Software Foundation; either version 2
+#of the License, or (at your option) any later version.
+
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+import unittest
+from datetime import date
+from mock import Mock
+
+from pytrainer.lib.ddbb import DDBB
+from pytrainer.waypoint import Waypoint
+
+class WaypointTest(unittest.TestCase):
+
+ def setUp(self):
+ profile = Mock()
+ profile.getValue = Mock(return_value='memory')
+ self.ddbb = DDBB(profile)
+ main = Mock()
+ main.ddbb = self.ddbb
+ main.ddbb.connect()
+ main.ddbb.create_tables(add_default=False)
+ self.waypoint = Waypoint(parent=main)
+
+ def tearDown(self):
+ self.waypoint = None
+ self.ddbb.disconnect()
+ self.ddbb = None
+
+ def test_waypoint_add_and_get(self):
+ data = (30.0, 20.0, None, u'Comment', None, u'Test', u'sym')
+ dbid = self.waypoint.addWaypoint(lat=data[0], lon=data[1],
+ name=data[5], comment=data[3],
+ sym=data[6])
+ data2 = self.waypoint.getwaypointInfo(dbid)
+ self.assertEquals(data, data2[0])
+
+ def test_waypoint_update(self):
+ data = (30.0, 20.0, None, u'Comment', None, u'Test', u'sym')
+ dbid = self.waypoint.addWaypoint(lat=50, lon=60, name='Test2',
+ comment='Comment 2', sym='sym2')
+ self.waypoint.updateWaypoint(dbid, data[0], data[1], data[5], data[3],
+ data[6])
+ data2 = self.waypoint.getwaypointInfo(dbid)
+ self.assertEquals(data, data2[0])
+
+ def test_waypoint_get_all(self):
+ data = (30.0, 20.0, None, u'Comment', None, u'Test', u'sym')
+ dbid = self.waypoint.addWaypoint(lat=data[0], lon=data[1],
+ name=data[5], comment=data[3],
+ sym=data[6])
+ dbid = self.waypoint.addWaypoint(lat=50, lon=60, name='Test2',
+ comment='Comment 2', sym='sym2')
+ self.assertEquals(len(self.waypoint.getAllWaypoints()), 2)
+
+ def test_waypoint_remove(self):
+ data = (30.0, 20.0, None, u'Comment', None, u'Test', u'sym')
+ dbid = self.waypoint.addWaypoint(lat=data[0], lon=data[1],
+ name=data[5], comment=data[3],
+ sym=data[6])
+ dbid = self.waypoint.addWaypoint(lat=50, lon=60, name='Test2',
+ comment='Comment 2', sym='sym2')
+ self.waypoint.removeWaypoint(dbid)
+ self.assertEquals(len(self.waypoint.getAllWaypoints()), 1)
diff --git a/pytrainer/test/upgrade/data_test.py b/pytrainer/test/upgrade/test_data.py
similarity index 100%
rename from pytrainer/test/upgrade/data_test.py
rename to pytrainer/test/upgrade/test_data.py
diff --git a/pytrainer/test/upgrade/versions/version014_test.py b/pytrainer/test/upgrade/versions/test_version014.py
similarity index 100%
rename from pytrainer/test/upgrade/versions/version014_test.py
rename to pytrainer/test/upgrade/versions/test_version014.py
diff --git a/pytrainer/test/util/color_test.py b/pytrainer/test/util/test_color.py
similarity index 100%
rename from pytrainer/test/util/color_test.py
rename to pytrainer/test/util/test_color.py
diff --git a/pytrainer/test/util/date_test.py b/pytrainer/test/util/test_date.py
similarity index 100%
rename from pytrainer/test/util/date_test.py
rename to pytrainer/test/util/test_date.py
diff --git a/pytrainer/upgrade/data.py b/pytrainer/upgrade/data.py
index 888b3dc..6b3667b 100644
--- a/pytrainer/upgrade/data.py
+++ b/pytrainer/upgrade/data.py
@@ -18,16 +18,15 @@
import logging
from lxml import etree
+import os
import pytrainer
from pytrainer.upgrade.context import UpgradeContext
from pytrainer.upgrade.migratedb import MigratableDb
-MIGRATE_REPOSITORY_PATH = "pytrainer/upgrade"
-
def initialize_data(ddbb, conf_dir):
"""Initializes the installation's data."""
db_url = ddbb.get_connection_url()
- migratable_db = MigratableDb(MIGRATE_REPOSITORY_PATH, db_url)
+ migratable_db = MigratableDb(os.path.dirname(__file__), db_url)
InstalledData(migratable_db, ddbb, LegacyVersionProvider(conf_dir), UpgradeContext(conf_dir, db_url)).update_to_current()
class InstalledData(object):
diff --git a/pytrainer/upgrade/migratedb.py b/pytrainer/upgrade/migratedb.py
index af59df9..a7dc00a 100644
--- a/pytrainer/upgrade/migratedb.py
+++ b/pytrainer/upgrade/migratedb.py
@@ -26,7 +26,6 @@ except:
from migrate.versioning.exceptions import DatabaseNotControlledError
from sqlalchemy.schema import MetaData
import logging
-import os
import sqlalchemy
import sys
@@ -41,7 +40,7 @@ class MigratableDb(object):
pypath.
db_url -- the connection URL string for the DB.
"""
- self._repository_path = _get_resource_absolute_path(repository_path)
+ self._repository_path = repository_path
self._db_url = db_url
def is_empty(self):
@@ -85,12 +84,3 @@ class MigratableDb(object):
def upgrade(self):
"""Run all available upgrade scripts for the repository."""
upgrade(self._db_url, self._repository_path)
-
-def _get_resource_absolute_path(resource_name):
- """Get the absolute path to a resource on the python system path."""
- for path in sys.path:
- candidate = os.path.join(path, resource_name)
- if os.path.exists(candidate):
- logging.debug("Found resource: %s", candidate)
- return candidate
- raise ValueError("Resource '{0}' could not be found".format(resource_name))
diff --git a/pytrainer/waypoint.py b/pytrainer/waypoint.py
index c9298f4..8048848 100644
--- a/pytrainer/waypoint.py
+++ b/pytrainer/waypoint.py
@@ -17,6 +17,7 @@
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import logging
+from pytrainer.lib.date import unixtime2date
class Waypoint:
def __init__(self, data_path = None, parent = None):
@@ -80,7 +81,7 @@ class Waypoint:
tracks = gpx.getTrackRoutes()
if len(tracks) > 1:
- time = self.date.unixtime2date(tracks[0][1])
+ time = unixtime2date(tracks[0][1])
self.recordwindow.rcd_date.set_text(time)
self._actualize_fromgpx(gpx)
else:
diff --git a/setup.py b/setup.py
index 30af760..266077c 100755
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,9 @@
#!/usr/bin/env python
#
-# setup.py for gnuConcept
-from distutils.core import setup
+try:
+ from setuptools import setup
+except ImportError:
+ from distutils.core import setup
from glob import glob
def install_locale(lang):
@@ -20,7 +22,7 @@ setup( name = "pytrainer",
version = version,
description="The free sport tracking center",
long_description="Pytrainer is a tool to log all your sport excursion coming from GPS devices (with a focus on ForeRunner 205, 305 and 405) or GPX (http://www.topografix.com) files. Pytrainer supports GPS track files and displays it in graphs, maps... ",
- author="Fiz Vazquez, John Blance, David Garcia Granda, Arnd Zapletal, Nathan Jones",
+ author="Fiz Vazquez, John Blance, David Garcia Granda, Arnd Zapletal, Nathan Jones, Arto Jantunen",
maintainer_email="pytrainer-devel at lists.sourceforge.net",
url="https://github.com/pytrainer",
license="GNU General Public License (GPL)",
@@ -36,7 +38,7 @@ setup( name = "pytrainer",
'pytrainer.upgrade': ['migrate.cfg', 'versions/*.sql', 'versions/*.py']
},
data_files=[
- ('share/pytrainer/glade/',glob("glade/*.glade")),
+ ('share/pytrainer/glade/',glob("glade/*.ui")),
('share/pytrainer/glade/',glob("glade/*.png")),
('share/pytrainer/glade/',glob("glade/*.jpg")),
('share/pytrainer/schemas/',glob("schemas/*.xsd")),
@@ -74,5 +76,13 @@ setup( name = "pytrainer",
('share/pixmaps/',['pytrainer.png']),
('share/applications/',['pytrainer.desktop'])
],
- scripts=['bin/pytrainer']
+ scripts=['bin/pytrainer'],
+ install_requires=['sqlalchemy-migrate',
+ 'SQLAlchemy',
+ 'python-dateutil',
+ 'matplotlib',
+ 'lxml'],
+ test_suite='pytrainer.test',
+ tests_require=['mock'],
+ zip_safe=False
)
diff --git a/utils/translator.sh b/utils/translator.sh
index 92c4ef6..6acf960 100755
--- a/utils/translator.sh
+++ b/utils/translator.sh
@@ -8,7 +8,7 @@ if [ $? != 0 ]; then exit ; fi
cd ../
echo "Extracting translatable strings from input files"
-xgettext glade/*.glade -o ./messages.pot
+xgettext glade/*.ui -o ./messages.pot
if [ $? != 0 ]; then echo "WARNING: xgettext not found. Please install gettext package"; exit; fi
find ./ -iname "*.py" -exec xgettext -k_ -j -o ./messages.pot {} \;
diff --git a/utils/update_localizations.sh b/utils/update_localizations.sh
index 506977e..d4f75f2 100755
--- a/utils/update_localizations.sh
+++ b/utils/update_localizations.sh
@@ -2,7 +2,7 @@
LOCALE_BASE_PATH="locale"
cd ../
echo -n "Extracting translatable strings... "
-xgettext glade/*.glade -o ./messages.pot
+xgettext glade/*.ui -o ./messages.pot
find ./ -iname "*.py" -exec xgettext -k_ -j -o ./messages.pot {} \;
echo "OK"
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-running/pytrainer.git
More information about the Pkg-running-devel
mailing list