diff -Nru cyclograph-1.6.0/CHANGELOG.txt cyclograph-1.6.1/CHANGELOG.txt
--- cyclograph-1.6.0/CHANGELOG.txt 1970-01-01 00:00:00.000000000 +0000
+++ cyclograph-1.6.1/CHANGELOG.txt 2013-10-21 19:43:54.000000000 +0000
@@ -0,0 +1,135 @@
+Version 1.6.1:
+ * Cyclograph can import fitlog files with gps coordinates
+ * Can now save map to image
+ * Miscellaneous and bug fixes
+ * Set map dimension equal to plot on html report
+ * Added configuration option to disable check for the latest version.
+ * Fixed bug: Fixed km bar drawing color for black theme in Qt gui
+ * Fixed bug: Fixed Qt translation file not loaded
+ * Fixed bug: Fixed average grad calc
+ * Fixed bug: Fixed import of TCX files: no hardcoded indices
+ * Fixed bug: Fixed slope import from osrm site
+ * Fixed bug: mark created slopes as not saved
+
+Version 1.6.0:
+ * Removed separation from import and open
+ * New cgx format saves imported coordinates
+ * Added map window
+ * Added map within the html report
+ * Auto-import gpx if no altitude is present
+ * Miscellaneous and bug fixes
+ * Case insensitive open routines
+
+Version 1.5.2:
+ * Added blue theme
+ * Added filter dialog to select the step between consecutive cps
+ * Removed Google maps service
+ * Added Open Route Service
+ * Added OSRM
+ * Miscellaneous and bug fixes
+ * First release with a user manual
+
+Version 1.5.1:
+ * Initial support for html report
+ * Added height gain
+ * Support for kml 2.2 ext (i.e. my tracks)
+ * Miscellaneous and bug fixes
+ * Resizable splitter in qt4 "create" window
+ * New submodule structure
+ * Fixed bug: Fixed haversine formula (for distant points)
+ * Fixed bug: Fixed save as image for qt4 interface
+
+Version 1.5.0:
+ * New grayscale theme.
+ * Added pdf report about a slope.
+ * Initial implementation of the gtk3 interface.
+
+Version 1.4.2:
+ * Miscellaneous and bug fixes
+ * Added some information within plot window.
+
+Version 1.4.1:
+ * More granular distnace bar.
+ * Support for slopes startig from distance grater than zero.
+ * Support for drawing on Open Cycle Map and Open Street Map.
+ * Miscellaneous and bug fixes
+ * Changed accessing mode to Google Maps.
+ * Fixed bug: Window size and maximization status correctely saved for
+ the next session.
+
+Version 1.4.0:
+ * Names are imported from gpx wayposints.
+ * Added new theme.
+ * All supported files can be read from standard input.
+ * Added support to utf-8.
+ * Removed google elevation.
+ * Miscellaneous and bug fixes
+ * Plot animated.
+ * Icons little update.
+ * Moved icons to a better location.
+ * Workaround to geonames unstable service.
+ * Main window remember its position and size.
+ * Improvements in text layout in plots.
+
+Version 1.3.1:
+ * Added preferences dialog.
+ * Number of points shown in gpx is customizable.
+ * User can select the resolution of the images saved.
+ * Miscellaneous and bug fixes
+ * Kml import is now more robust (i.e. it works much better with kml produced
+ by saliteweb).
+
+Version 1.3.0:
+ * Added new themes.
+ * Now it is possible to create draw a route within CycloGraph.
+ * A route found by Google Maps direction can be drawn by CycloGraph.
+ * New version notifier.
+ * Miscellaneous and bug fixes
+ * Better handling of slopes and user-friendly behaviour when quitting.
+ * Possible to easily report bugs.
+
+Version 1.2.1:
+ * Miscellaneous and bug fixes
+ * Migration from 1.x wx version is now smooth.
+ * Fixed bug: Fixed a paint issue in Qt under X11 with composing
+ window managers.
+
+Version 1.2.0:
+ * A new 3D visualization mode is available in addition to the usual 2D.
+ * New format support for gpx and crp (binary and textual) files.
+ * New toolbar with icons to give a more user-friendly experience.
+ * Added an help file, to guide te user on basic usage of CycloGraph.
+ * Added the ability to signal bugs (link to sourceforge page).
+ * A new GTK+ interfece has replaced the wx (Qt became default on Win and
+ MacOs).
+ * Miscellaneous and bug fixes
+ * Command line usage is now simpler (see Help file).
+ * Launching Cyclograph without the appropriate graphic library is told to
+ the user in a understandable way.
+
+Version 1.1.1:
+ * New icons.
+ * Cyclograph can load Cyclomainac's xml.
+ * Miscellaneous and bug fixes
+ * Fixed bug: .sal file can't be opened.
+
+Version 1.1.0:
+ * Added a Qt interface.
+ * Added minimal command line interface.
+ * Miscellaneous and bug fixes
+ * Added more error dialog to make usage clearer.
+ * Fixed bug: Cancelling a file opening and creating a new file.
+ * Fixed bug: Export as image under some platforms.
+ * Fixed bug: Segmentation fault when importing KML.
+
+Version 1.0.0:
+ * Miscellaneous and bug fixes
+ * New Release, many changes, almost everything is changed :
+
+Version 0.4.1:
+ * Miscellaneous and bug fixes
+ * Fixed bug: Fixed issue with icon in plot window.
+
+Version 0.4:
+ * Initial release
+
diff -Nru cyclograph-1.6.0/PKG-INFO cyclograph-1.6.1/PKG-INFO
--- cyclograph-1.6.0/PKG-INFO 2013-04-12 16:23:58.000000000 +0000
+++ cyclograph-1.6.1/PKG-INFO 2013-10-21 19:44:05.000000000 +0000
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: cyclograph
-Version: 1.6.0
+Version: 1.6.1
Summary: route altimetry plotting application
Home-page: http://cyclograph.sourceforge.net
Author: Federico Brega, Pierluigi Villani
diff -Nru cyclograph-1.6.0/cyclograph/cyclograph.py cyclograph-1.6.1/cyclograph/cyclograph.py
--- cyclograph-1.6.0/cyclograph/cyclograph.py 2013-04-07 18:20:31.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/cyclograph.py 2013-10-21 19:39:28.000000000 +0000
@@ -65,6 +65,7 @@
"widthsize" : "540",
"heightsize" : "400",
"maximized" : "False",
+ "latestVersionCheck" : "True",
"authorname" : "",
"authormail" : "",
}
@@ -112,17 +113,19 @@
self.mygui.show()
#Check if this is the latest version
- def notify():
- self.versionchk.stop()
- if self.lvq.islast():
- return
- glal.addstatusbartext(self.mygui, _("A new version of CycloGraph is out!")+"(%s)" % self.lvq.lastversion)
- del self.versionchk
- del self.lvq
- self.lvq = LastVersionQuery()
- self.lvq.start()
- self.versionchk = glal.Timer(10000, notify) #wait 1s before notificate
- self.versionchk.start()
+ if self.config.getboolean("main window", "latestVersionCheck"):
+ def notify():
+ self.versionchk.stop()
+ if self.lvq.islast():
+ return
+ glal.addstatusbartext(self.mygui, _("A new version of CycloGraph is out!")+"(%s)" % self.lvq.lastversion)
+ del self.versionchk
+ del self.lvq
+
+ self.lvq = LastVersionQuery()
+ self.lvq.start()
+ self.versionchk = glal.Timer(10000, notify) #wait 1s before notify
+ self.versionchk.start()
def init_configparser(self):
"""Create a new configparser, and inizializes with default values,
@@ -130,7 +133,7 @@
use this values
"""
self.config = ConfigParser.SafeConfigParser(DEFAULT_CONF)
- self.config.read(os.path.expanduser('~/.cyclograph.cfg'))
+ self.config.read(get_config_file_path())
for sec in SECTIONS:
if not self.config.has_section(sec):
@@ -169,12 +172,13 @@
def open_slope(self, event=None, filepath=None):
""" Open a file"""
#statusok = True
- types = [('Supported files','*.cgx *.csv *.xml *.gpx *.kml *.tcx *.crp *.sal *.txt'),
+ types = [('Supported files','*.cgx *.csv *.xml *.gpx *.kml *.fitlog *.tcx *.crp *.sal *.txt'),
('CycloGraphXml (*.cgx)', '*.cgx'),
('CycloGraph (*.csv)', '*.csv'),
('Ciclomaniac (*.xml)', '*.xml'),
('GPS eXchange Format (*.gpx)', '*.gpx'),
('Keyhole Markup Language (*.kml)', '*.kml'),
+ ('SportTracks Fitlog files (*.fitlog)', '*.fitlog'),
('Training Center xml (*.tcx)', '*.tcx'),
('Ciclotour (*.crp)', '*.crp'),
('Salitaker (*.sal)', '*.sal'),
@@ -205,6 +209,9 @@
elif filepath.lower().endswith(".kml"):
slopefile = iofile.load_kmlfile(filepath)
filetype = "kml"
+ elif filepath.lower().endswith(".fitlog"):
+ slopefile = iofile.load_fitlogfile(filepath)
+ filetype = "fitlog"
elif filepath.lower().endswith(".tcx"):
slopefile = iofile.load_tcxfile(filepath)
filetype = "tcx"
@@ -334,7 +341,7 @@
glal.addstatusbartext(self.mygui,
_("Error while loading data"))
else:
- self.tabupdate(self.slopenumber_kml)
+ self.tabupdate(self.slopenumber_kml, '*')
glal.enable_saving(self.mygui, True)
del self.prsrthrd
#there is nothing to update but gtk wants True
@@ -410,7 +417,7 @@
def preferences(self, event=None):
config = ConfigParser.SafeConfigParser(DEFAULT_CONF)
- config.read(os.path.expanduser('~/.cyclograph.cfg'))
+ config.read(get_config_file_path())
for sec in SECTIONS:
if not config.has_section(sec):
@@ -425,6 +432,7 @@
self.config.set("global", "theme", pref['theme'])
self.config.set("global", "slopeinfo", str(pref['sinfo']))
self.config.set("global", "effect-3d", str(pref['3d']))
+ self.config.set("global", "latestVersionCheck", str(pref['vcheck']))
self.config.set("global", "authorname", unicode(pref['aname']))
self.config.set("global", "authormail", unicode(pref['amail']))
font = pref['fdesc']
@@ -470,8 +478,9 @@
def savepref(self, event=None):
"""Save preferences.
- Configuration file is save in the user's home direcotory."""
- with open(os.path.expanduser('~/.cyclograph.cfg'), "wb") as fid:
+ Configuration file is save in the user's home
+ as standardized byXDG."""
+ with open(get_config_file_path(), "wb") as fid:
self.config.write(fid)
def defaultpref(self, event=None):
@@ -569,7 +578,7 @@
for i in range(1, len(slope.coords)):
(lat, lng)= slope.coords[i]
stringc += ",%s %s" % (lng, lat)
- smap = glal.gui.Map(self.mygui, slope.name, stringc)
+ smap = glal.gui.Map(self.mygui, slope.name, stringc, save_map_image)
else:
glal.gui.mapcoorderr(self.mygui)
@@ -664,6 +673,23 @@
return
page.delete_row(row_num)
+### Functions related to Map ###
+def save_map_image(mapwindow):
+ """ Save map to an image"""
+ formats = [("Portable Network Graphics (*.png)", "*.png"),
+ ("Bitmap (*.bmp)", "*.bmp"),
+ ("Joint Photographic Experts Group (*.jpg)", "*.jpg")]
+ filepath = ''
+ #Control if the right extension is given by user
+ while not filepath.lower().endswith(('.png', '.bmp', '.jpg')):
+ if filepath:
+ filepath += '.png'
+ filepath = glal.FileDialog(None, _("Save map"), filepath,
+ "", formats, glal.FD_SAVE)
+ if not filepath:
+ return
+ mapwindow.saveimage(filepath)
+
### Functions related to Plot ###
def export_as_image(imgslope, settings):
""" Save a plot to an image"""
@@ -744,7 +770,7 @@
reportpage = report_html.Report_html(imgslope.name)
reportpage.add_image(image.svg)
if len(imgslope.coords) != 0:
- reportpage.add_map(imgslope)
+ reportpage.add_map(imgslope, settings['width'], settings['height'])
reportpage.addtitle(_("Slope"))
reportpage.addtext(_("Name")+": ", imgslope.name)
reportpage.addtext(_("Country")+": ", imgslope.country)
@@ -760,6 +786,22 @@
reportpage.addnote(imgslope.comment)
reportpage.save(filepath)
+def get_config_file_path():
+ config_path = os.path.expanduser(os.path.normpath('~/.config/CycloGraph'))
+ if os.environ.has_key('XDG_CONFIG_HOME') and os.path.isabs(os.environ['XDG_CONFIG_HOME']):
+ config_path = os.environ['XDG_CONFIG_HOME'] + os.path.normpath('/CycloGraph')
+ config_file = config_path +os.path.normpath('/CycloGraph.conf')
+
+ #Create a directory if needed
+ if not os.path.exists(config_path):
+ os.makedirs(config_path)
+ #migrate old configuration file if there is any
+ old_file = os.path.expanduser(os.path.normpath('~/.cyclograph.cfg'))
+ if os.path.exists(old_file):
+ os.rename(old_file, config_file)
+
+ return config_file
+
def getconfig(config):
""" Return current settings from config"""
settings = {
@@ -767,6 +809,7 @@
'theme' : config.get("global", "theme"),
'sinfo' : config.getboolean("global", "slopeinfo"),
'3d' : config.getboolean("global", "effect-3d"),
+ 'vcheck' : config.getboolean("global", "latestVersionCheck"),
'fdesc' : {
"des" : config.get("font", "font-des 1"),
"typ" : config.get("font", "font-typ 1"),
@@ -891,7 +934,8 @@
myslope.calc()
config = ConfigParser.SafeConfigParser(DEFAULT_CONF)
- config.read(os.path.expanduser('~/.cyclograph.cfg'))
+ config.read(get_config_file_path())
+
for sec in SECTIONS:
if not config.has_section(sec):
config.add_section(sec)
diff -Nru cyclograph-1.6.0/cyclograph/gtk3/gui.py cyclograph-1.6.1/cyclograph/gtk3/gui.py
--- cyclograph-1.6.0/cyclograph/gtk3/gui.py 2013-03-29 20:26:40.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/gtk3/gui.py 2013-10-21 19:39:28.000000000 +0000
@@ -20,6 +20,7 @@
from gi.repository import Gtk, GObject, Gdk, GdkPixbuf, Pango
from gi.repository import WebKit
import glal
+import cairo
from themes import ThemeManager
from version import VERSION
@@ -211,11 +212,11 @@
kmenum.set_submenu(kmenu)
self.menu_item_s1 = Gtk.RadioMenuItem.new_with_label(
- [], _(u"geonames.org"))
+ [], (u"geonames.org"))
self.menu_item_s2 = Gtk.RadioMenuItem.new_with_label_from_widget(
- self.menu_item_s1, _(u"earthtools.org"))
+ self.menu_item_s1, (u"earthtools.org"))
self.menu_item_s3 = Gtk.RadioMenuItem.new_with_label_from_widget(
- self.menu_item_s1, _(u"usgs.net"))
+ self.menu_item_s1, (u"usgs.net"))
kmenu.append(self.menu_item_s1)
kmenu.append(self.menu_item_s2)
@@ -232,7 +233,7 @@
menubar.append(self.omenu)
filemenu2 = Gtk.Menu()
- self.amenu = Gtk.MenuItem.new_with_label(_(u"?"))
+ self.amenu = Gtk.MenuItem.new_with_label((u"?"))
self.amenu.set_submenu(filemenu2)
self.menu_item_about = Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_ABOUT, agr)
@@ -593,10 +594,10 @@
rmenum = Gtk.MenuItem.new_with_mnemonic(_(u"Saving _resolution"))
rmenum.set_submenu(rmenu)
- menu_item_r1 = Gtk.RadioMenuItem.new_with_label([], _(u"800x600"))
- menu_item_r2 = Gtk.RadioMenuItem.new_with_label_from_widget(menu_item_r1, _(u"1024x768"))
- menu_item_r3 = Gtk.RadioMenuItem.new_with_label_from_widget(menu_item_r1, _(u"1280x800"))
- menu_item_r4 = Gtk.RadioMenuItem.new_with_label_from_widget(menu_item_r1, _(u"1600x1200"))
+ menu_item_r1 = Gtk.RadioMenuItem.new_with_label([], (u"800x600"))
+ menu_item_r2 = Gtk.RadioMenuItem.new_with_label_from_widget(menu_item_r1, (u"1024x768"))
+ menu_item_r3 = Gtk.RadioMenuItem.new_with_label_from_widget(menu_item_r1, (u"1280x800"))
+ menu_item_r4 = Gtk.RadioMenuItem.new_with_label_from_widget(menu_item_r1, (u"1600x1200"))
menu_item_r1.set_active(self.settings['width'] == 800)
menu_item_r2.set_active(self.settings['width'] == 1024)
menu_item_r3.set_active(self.settings['width'] == 1280)
@@ -717,7 +718,7 @@
self.colorlist.append(Gdk.Color(*components))
self.default = default_pref
- self.set_size_request(340, 380)
+ self.set_size_request(340, 400)
notebook = Gtk.Notebook()
notebook.set_tab_pos(Gtk.PositionType.TOP)
@@ -794,6 +795,16 @@
elif pref['serv'] == 'google elevation':
self.serv.set_active(3)
vbox.pack_start(self.serv, False, False, 0)
+
+ label = Gtk.Label(label=""+_(u"Latest version")+"")
+ label.set_use_markup(True)
+ hhbox = Gtk.HBox()
+ hhbox.pack_start(label, False, False, 0)
+ vbox.pack_start(hhbox, False, False, 5)
+ self.vcheck = Gtk.CheckButton(_(u"Check online"))
+ vbox.pack_start(self.vcheck, False, False, 0)
+ self.vcheck.set_active(pref['vcheck'])
+
notebook.append_page(frame, Gtk.Label(label="General"))
frame = Gtk.Frame()
@@ -949,6 +960,7 @@
self.olines.set_active(bool(self.default['orizzontal lines']))
self.effect3d.set_active(bool(self.default['effect-3d']))
self.showinfo.set_active(bool(self.default['slopeinfo']))
+ self.vcheck.set_active(bool(self.default['vcheck']))
self.res.set_active(0)
if self.default['width'] == 1600:
self.res.set_active(3)
@@ -1039,6 +1051,7 @@
'olines': self.olines.get_active(),
'theme' : self.theme.get_active_text(),
'sinfo' : self.showinfo.get_active(),
+ 'vcheck': self.vcheck.get_active(),
'3d' : self.effect3d.get_active(),
'aname' : self.aname.get_text(),
'amail' : self.amail.get_text(),
@@ -1060,7 +1073,7 @@
class Map(Gtk.Dialog):
"""Show map of slopes"""
- def __init__(self, parent, slopename, stringc):
+ def __init__(self, parent, slopename, stringc, savefnct):
Gtk.Window.__init__(self)
self.set_size_request(800, 600)#FIXME:take webpage dimension
@@ -1069,10 +1082,11 @@
self.set_resizable(True)
self.set_type_hint(Gdk.WindowTypeHint.NORMAL)
+ self.savefnct = savefnct
+
self.view = WebKit.WebView()
sw = Gtk.ScrolledWindow()
sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
- #sw.set_placement(Gtk.CornerType.TOP_LEFT)
sw.add(self.view)
swframe = Gtk.Frame()
@@ -1081,8 +1095,14 @@
obox = Gtk.HBox()
obox.pack_start(swframe, True, True, 0)
+ bbox = Gtk.HBox()
+ button_s = Gtk.Button(None, Gtk.STOCK_SAVE)
+ bbox.pack_end(button_s, False, False, 5)
+ button_s.connect("clicked", self.onsave)
+
box = Gtk.VBox()
box.pack_start(obox, True, True, 0)
+ box.pack_start(bbox, False, False, 5)
vbox = self.get_content_area()
vbox.pack_start(box, True, True, 0)
self.show_all()
@@ -1099,6 +1119,33 @@
HTML_MAP = MAP_SCRIPT % (stringc,)
self.view.load_html_string(HTML_MAP, "file:///")
+ def onsave(self, event):
+ """ Save call"""
+ self.savefnct(self)
+
+ def saveimage(self, filepath):
+ """ Save map image"""
+ winw, winh = self.get_size()
+ minviewh, viewh = self.view.do_get_preferred_height(self.view)
+ minvieww, vieww = self.view.do_get_preferred_width(self.view)
+ diff = (winw - vieww) / 2
+ dst = cairo.ImageSurface(cairo.FORMAT_ARGB32, vieww, viewh)
+ ctx = cairo.Context(dst)
+ surface = Gdk.cairo_create(self.get_window()).get_target()
+ ctx.set_source_surface(surface, -diff, -diff)
+ ctx.paint()
+
+ fformat = filepath.rsplit('.', 1)[1]
+
+ if fformat.lower() == 'png':
+ dst.write_to_png(filepath)
+ if fformat.lower() == 'bmp':
+ pixbuf = Gdk.pixbuf_get_from_surface(dst, 0, 0, vieww, viewh)
+ pixbuf.savev(filepath, "bmp", [], [])
+ if fformat.lower() == 'jpg':
+ pixbuf = Gdk.pixbuf_get_from_surface(dst, 0, 0, vieww, viewh)
+ pixbuf.savev(filepath, "jpeg", ["quality"], ["100"])
+
class Create_kml(Gtk.Dialog):
"""Create kml routes"""
@@ -1216,9 +1263,10 @@
def get_osrm(self):
""" Returns gpx content from ORSM service"""
- self.view.execute_script("oldtitle=document.title;document.title=document.getElementsByClassName('route-link')[1].getAttribute('onclick')")
+ self.view.execute_script("oldtitle=document.title;document.title=document.getElementsByClassName('text-link')[1].getAttribute('onclick')")
gpxcontent = unicode(self.view.get_main_frame().get_title())
url = gpxcontent.split('\'')
+ print(url)
self.view.execute_script('document.title=oldtitle;')
return self.downloadfunc(url[1])
diff -Nru cyclograph-1.6.0/cyclograph/gtk_/glal.py cyclograph-1.6.1/cyclograph/gtk_/glal.py
--- cyclograph-1.6.0/cyclograph/gtk_/glal.py 2013-02-16 18:43:42.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/gtk_/glal.py 2013-08-18 10:47:43.000000000 +0000
@@ -271,7 +271,7 @@
class Image():
"""Gtk image class wrapper"""
def __init__(self, size_x, size_y, plotfnct):
- (self.size_x, self.size_y) = (size_x, size_y)
+ (self.size_x, self.size_y) = (size_x, size_y)
self.plotfnct = plotfnct
self.image = cairo.ImageSurface(cairo.FORMAT_RGB24,
self.size_x, self.size_y)
@@ -309,7 +309,6 @@
gtk.gdk.colormap_get_system(),
0, 0, 0, 0, width, height)
pixbuf.save(path, "jpeg", {"quality":"100"})
- #TODO: use also other formats
class Pdf():
"""Gtk pdf class wrapper"""
diff -Nru cyclograph-1.6.0/cyclograph/gtk_/gui.py cyclograph-1.6.1/cyclograph/gtk_/gui.py
--- cyclograph-1.6.0/cyclograph/gtk_/gui.py 2013-03-29 20:26:40.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/gtk_/gui.py 2013-10-21 19:39:28.000000000 +0000
@@ -20,6 +20,7 @@
import gtk
import pango
import webkit
+import cairo
import glal
from themes import ThemeManager
from version import VERSION
@@ -211,9 +212,9 @@
kmenum = gtk.MenuItem("_Kml server")
kmenum.set_submenu(kmenu)
- self.menu_item_s1 = gtk.RadioMenuItem( None, _(u"geonames.org"))
- self.menu_item_s2 = gtk.RadioMenuItem(self.menu_item_s1, _(u"earthtools.org"))
- self.menu_item_s3 = gtk.RadioMenuItem(self.menu_item_s1, _(u"usgs.net"))
+ self.menu_item_s1 = gtk.RadioMenuItem( None, (u"geonames.org"))
+ self.menu_item_s2 = gtk.RadioMenuItem(self.menu_item_s1, (u"earthtools.org"))
+ self.menu_item_s3 = gtk.RadioMenuItem(self.menu_item_s1, (u"usgs.net"))
kmenu.append(self.menu_item_s1)
kmenu.append(self.menu_item_s2)
@@ -230,7 +231,7 @@
menubar.append(self.omenu)
filemenu2 = gtk.Menu()
- self.amenu = gtk.MenuItem(_(u"?"))
+ self.amenu = gtk.MenuItem((u"?"))
self.amenu.set_submenu(filemenu2)
self.menu_item_about = gtk.ImageMenuItem(gtk.STOCK_ABOUT, agr)
@@ -601,10 +602,10 @@
rmenum = gtk.MenuItem(_(u"Saving _resolution"))
rmenum.set_submenu(rmenu)
- menu_item_r1 = gtk.RadioMenuItem( None, _(u"800x600"))
- menu_item_r2 = gtk.RadioMenuItem(menu_item_r1, _(u"1024x768"))
- menu_item_r3 = gtk.RadioMenuItem(menu_item_r1, _(u"1280x800"))
- menu_item_r4 = gtk.RadioMenuItem(menu_item_r1, _(u"1600x1200"))
+ menu_item_r1 = gtk.RadioMenuItem( None, (u"800x600"))
+ menu_item_r2 = gtk.RadioMenuItem(menu_item_r1, (u"1024x768"))
+ menu_item_r3 = gtk.RadioMenuItem(menu_item_r1, (u"1280x800"))
+ menu_item_r4 = gtk.RadioMenuItem(menu_item_r1, (u"1600x1200"))
menu_item_r1.set_active(self.settings['width'] == 800)
menu_item_r2.set_active(self.settings['width'] == 1024)
menu_item_r3.set_active(self.settings['width'] == 1280)
@@ -722,7 +723,7 @@
self.colorlist.append(gtk.gdk.Color(*components))
self.default = default_pref
- self.set_size_request(300, 380)
+ self.set_size_request(300, 480)
notebook = gtk.Notebook()
notebook.set_tab_pos(gtk.POS_TOP)
@@ -799,6 +800,16 @@
elif pref['serv'] == 'google elevation':
self.serv.set_active(3)
vbox.pack_start(self.serv, False, False, 0)
+
+ label = gtk.Label(""+_(u"Latest version")+"")
+ label.set_use_markup(True)
+ hhbox = gtk.HBox(False, 0)
+ hhbox.pack_start(label, False, False, 0)
+ vbox.pack_start(hhbox, False, False, 5)
+ self.vcheck = gtk.CheckButton(_(u"Check online"))
+ vbox.pack_start(self.vcheck, False, False, 0)
+ self.vcheck.set_active(pref['vcheck'])
+
notebook.append_page(frame, gtk.Label("General"))
frame = gtk.Frame()
@@ -957,6 +968,7 @@
self.olines.set_active(bool(self.default['orizzontal lines']))
self.effect3d.set_active(bool(self.default['effect-3d']))
self.showinfo.set_active(bool(self.default['slopeinfo']))
+ self.vcheck.set_active(bool(self.default['vcheck']))
self.res.set_active(0)
if self.default['width'] == 1600:
self.res.set_active(3)
@@ -1083,6 +1095,7 @@
'theme' : self.theme.get_active_text(),
'sinfo' : self.showinfo.get_active(),
'3d' : self.effect3d.get_active(),
+ 'vcheck': self.vcheck.get_active(),
'aname' : self.aname.get_text(),
'amail' : self.amail.get_text(),
'fdesc' : self.fdesc.desc,
@@ -1103,7 +1116,7 @@
class Map(gtk.Dialog):
"""Show map of slopes"""
- def __init__(self, parent, slopename, stringc):
+ def __init__(self, parent, slopename, stringc, savefnct):
gtk.Window.__init__(self)
self.set_size_request(640, 480)#FIXME:take webpage dimension
@@ -1112,6 +1125,8 @@
self.set_resizable(True)
self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_NORMAL)
+ self.savefnct = savefnct
+
self.view = webkit.WebView()
sw = gtk.ScrolledWindow()
sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
@@ -1124,8 +1139,14 @@
obox = gtk.HBox()
obox.pack_start(swframe, True, True, 0)
+ bbox = gtk.HBox()
+ button_s = gtk.Button(None, gtk.STOCK_SAVE)
+ bbox.pack_end(button_s, False, False, 5)
+ button_s.connect("clicked", self.onsave)
+
box = gtk.VBox(False, 0)
box.pack_start(obox, True, True, 0)
+ box.pack_start(bbox, False, False, 5)
self.vbox.pack_start(box)
self.show_all()
MAP_SCRIPT = ""
@@ -1141,6 +1162,30 @@
HTML_MAP = MAP_SCRIPT % (stringc,)
self.view.load_html_string(HTML_MAP, "file:///")
+ def onsave(self, event):
+ """ Save call"""
+ self.savefnct(self)
+
+ def saveimage(self, filepath):
+ """ Save map image"""
+ winw, winh = self.get_size()
+ vieww, viewh = self.view.size_request()
+ diff = (winw - vieww) / 2
+ colormap = self.get_colormap()
+ pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, 0, 8, vieww, viewh)
+ pixbuf = pixbuf.get_from_drawable(self.window, colormap,
+ diff, diff, 0, 0, vieww, viewh)
+
+ fformat = filepath.rsplit('.', 1)[1]
+
+ if fformat.lower() == 'png':
+ pixbuf.save(filepath, 'png')
+ if fformat.lower() == 'bmp':
+ pixbuf.save(filepath, "bmp")
+ if fformat.lower() == 'jpg':
+ pixbuf.save(filepath, "jpeg", {"quality":"100"})
+
+
class Create_kml(gtk.Dialog):
"""Create kml routes"""
MODE = {_(u'Open Route Service') : 'ORS',
@@ -1255,7 +1300,7 @@
def get_osrm(self):
""" Returns gpx content from ORSM service"""
- self.view.execute_script("oldtitle=document.title;document.title=document.getElementsByClassName('route-link')[1].getAttribute('onclick')")
+ self.view.execute_script("oldtitle=document.title;document.title=document.getElementsByClassName('text-link')[1].getAttribute('onclick')")
gpxcontent = unicode(self.view.get_main_frame().get_title())
url = gpxcontent.split('\'')
self.view.execute_script('document.title=oldtitle;')
diff -Nru cyclograph-1.6.0/cyclograph/iofile.py cyclograph-1.6.1/cyclograph/iofile.py
--- cyclograph-1.6.0/cyclograph/iofile.py 2013-04-07 18:19:22.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/iofile.py 2013-08-18 10:47:43.000000000 +0000
@@ -16,6 +16,7 @@
from __future__ import with_statement
import csv
import codecs
+import logging
import os
import xml.dom.minidom
import zlib
@@ -134,6 +135,13 @@
statusok = True
except IOError:
statusok = False
+ elif extension == 'fitlog':
+ try:
+ fitlogfile = load_fitlogfile(filename)
+ fitlogfile.newSlope(slopelist, slopenum, -1)
+ statusok = True
+ except IOError:
+ statusok = False
elif extension == 'tcx':
try:
tcxfile = load_tcxfile(filename)
@@ -240,7 +248,7 @@
, float(cpt.attributes["alt"].value)
, cpt.getAttribute("desc"))
except Exception, err:
- print(err)
+ logging.exception(err)
fid.unlink()
return False
for coord in slop.getElementsByTagName('coord'):
@@ -249,7 +257,7 @@
float(coord.attributes["lat"].value),
float(coord.attributes["lon"].value))
except Exception, err:
- print(err)
+ logging.exception(err)
fid.unlink()
return False
fid.unlink()
@@ -340,7 +348,56 @@
retfile.hasAltitudes = is_with_alt
return retfile
except Exception, err:
- print(err)
+ logging.exception(err)
+ return None
+
+def load_fitlogfile(xmlfile):
+ """Load a fitlog file"""
+ try:
+ if isinstance(xmlfile, basestring) and xmlfile.strip().startswith('<'):
+ fid = xml.dom.minidom.parseString(xmlfile)
+ else:
+ fid = xml.dom.minidom.parse(xmlfile)
+ ptls = fid.getElementsByTagName('pt')
+ coords = [(el.attributes["lon"].value, el.attributes["lat"].value) for el in ptls]
+ cps = distance(coords)
+ next_cp = 0
+ max_dist = cps[-1][0]
+ indices = []
+ for i in range(len(cps)):
+ dist = cps[i][0]
+ if i == 0 or dist > next_cp or i == len(cps)-1:
+ indices.append(i)
+ next_cp = dist + max_dist/len(cps)
+ returncp = []
+ is_with_alt = True
+ alt_count = 0
+ name = u""
+ for i in indices:
+ #get elevation
+ (dist, lng, lat) = cps[i]
+ sample = ptls[i]
+ if sample.getAttribute('ele'):
+ elev = sample.attributes["ele"].value
+ if len(elev) > 0:
+ alt = float(elev)
+ else:
+ is_with_alt = False
+ alt = 0
+ else:
+ is_with_alt = False
+ alt = 0
+ if (alt == 0):
+ alt_count += 1
+ returncp.append((dist, alt, name, lat, lng))
+ fid.unlink()
+ retfile = SlopeFile(returncp)
+ if len(indices) == alt_count:
+ is_with_alt = False
+ retfile.hasAltitudes = is_with_alt
+ return retfile
+ except Exception, err:
+ logging.exception(err)
return None
def load_kmlfile(xmlfile):
@@ -398,7 +455,7 @@
retfile.hasAltitudes = is_with_alt
return retfile
except Exception, err:
- print(err)
+ logging.exception(err)
return None
def load_tcxfile(xmlfile):
@@ -407,14 +464,21 @@
fid = xml.dom.minidom.parse(xmlfile)
ptls = fid.getElementsByTagName('Trackpoint')
coords = []
+ is_with_alt = False
for sample in ptls:
for ent in sample.childNodes:
if ent.localName == "Position":
- lat = ent.childNodes[1].childNodes[0].data
- lng = ent.childNodes[3].childNodes[0].data
+ #Iterate on child nodes to get latitude and longitude
+ for pos_node in ent.childNodes:
+ if pos_node.localName == "LatitudeDegrees":
+ lat = pos_node.childNodes[0].data
+ elif pos_node.localName == "LongitudeDegrees":
+ lng = pos_node.childNodes[0].data
elif ent.localName == "AltitudeMeters":
- alt = ent.childNodes[0].data
- coords.append((float(lng), float(lat), float(alt)))
+ alt = float(ent.childNodes[0].data)
+ if (alt != 0):
+ is_with_alt = True
+ coords.append((lng, lat, alt))
dist = 0.0
(lon_old, lat_old) = point_conversion(coords[0][0], coords[0][1])
returncp = []
@@ -423,13 +487,13 @@
dist += haversine(lat_old, lat_new, lon_old, lon_new)
lon_old = lon_new
lat_old = lat_new
- #print("lat=%s lon=%s" %(lat, lng))
returncp.append((dist, coords[i][2], u"", coords[i][1], coords[i][0]))
retfile = SlopeFile(returncp)
- retfile.hasAltitudes = True
+ logging.info("is with alt " + str(is_with_alt))
+ retfile.hasAltitudes = is_with_alt
return retfile
except Exception, err:
- print(err)
+ logging.exception(err)
return None
(UNSUPPORTED, CPS, AUTHOR, DATA) = range(4)
diff -Nru cyclograph-1.6.0/cyclograph/qt/cyclograph_rc.py cyclograph-1.6.1/cyclograph/qt/cyclograph_rc.py
--- cyclograph-1.6.0/cyclograph/qt/cyclograph_rc.py 2013-04-06 19:40:44.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/qt/cyclograph_rc.py 2013-10-01 21:29:04.000000000 +0000
@@ -2,8 +2,8 @@
# Resource object code
#
-# Created: Sat Apr 6 21:40:44 2013
-# by: The Resource Compiler for PyQt (Qt v4.8.2)
+# Created: Thu Sep 19 20:06:07 2013
+# by: The Resource Compiler for PyQt (Qt v4.8.5)
#
# WARNING! All changes made in this file will be lost!
diff -Nru cyclograph-1.6.0/cyclograph/qt/glal.py cyclograph-1.6.1/cyclograph/qt/glal.py
--- cyclograph-1.6.0/cyclograph/qt/glal.py 2013-02-16 18:43:42.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/qt/glal.py 2013-10-06 15:04:25.000000000 +0000
@@ -31,10 +31,10 @@
#Tell to the graphic library witch language use
translations_path = QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath)
- translation_file = str(translations_path) + "/qt_" + str(QtCore.QLocale.system().name())
- translator = QtCore.QTranslator()
- translator.load(translation_file)
- translator.load(':/qt-translations/qt_'+ QtCore.QLocale.system().name())
+ translation_file = "qt_" + str(QtCore.QLocale.system().name())
+ translator = QtCore.QTranslator(app)
+ translator.load(translation_file, translations_path) or \
+ translator.load(translation_file, ':/qt-translations')
app.installTranslator(translator)
return app
@@ -94,7 +94,7 @@
def __init__(self, notebook, fun_close):
self.notebook = notebook
self.fun_close = fun_close
- if QtCore.PYQT_VERSION_STR >= '4.5':
+ if QtCore.PYQT_VERSION >= 0x040500:
self.notebook.setTabsClosable(True)
QtCore.QObject.connect(self.notebook, QtCore.SIGNAL("tabCloseRequested(int)"),
fun_close)
@@ -107,7 +107,7 @@
def add_page(self, page, title):
""" Add page"""
self.notebook.addTab(page, title)
- if QtCore.PYQT_VERSION_STR < '4.5':
+ if QtCore.PYQT_VERSION < 0x040500:
QtCore.QObject.connect(page.button_close, QtCore.SIGNAL("clicked()"),
self.fun_close)
else:
diff -Nru cyclograph-1.6.0/cyclograph/qt/gui.py cyclograph-1.6.1/cyclograph/qt/gui.py
--- cyclograph-1.6.0/cyclograph/qt/gui.py 2013-03-22 22:03:29.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/qt/gui.py 2013-10-21 19:39:28.000000000 +0000
@@ -22,7 +22,7 @@
from version import VERSION
import StringIO
-if QtCore.PYQT_VERSION_STR >= '4.7':
+if QtCore.PYQT_VERSION >= 0x040700:
iconFromTheme = QtGui.QIcon.fromTheme
else:
#define fallback method if using an odl version of Qt
@@ -212,6 +212,7 @@
self.olines.setChecked(pref['olines'])
self.effect3d.setChecked(pref['3d'])
self.showinfo.setChecked(pref['sinfo'])
+ self.vcheck.setChecked(pref['vcheck'])
res = 0
if pref['width'] == 1600:
res = 3
@@ -294,6 +295,7 @@
self.olines.setChecked(bool(self.default['orizzontal lines']))
self.showinfo.setChecked(bool(self.default['slopeinfo']))
self.effect3d.setChecked(bool(self.default['effect-3d']))
+ self.vcheck.setChecked(bool(self.default['vcheck']))
res = 0
if self.default['width'] == 1600:
res = 3
@@ -403,6 +405,7 @@
'olines': self.olines.isChecked(),
'theme' : str(self.theme.currentText()),
'sinfo' : self.showinfo.isChecked(),
+ 'vcheck': self.vcheck.isChecked(),
'3d' : self.effect3d.isChecked(),
'aname' : self.aname.text(),
'amail' : self.amail.text(),
@@ -603,11 +606,15 @@
class Map(QtGui.QDialog, ui_qt.Ui_map):
"""Show map of slopes"""
- def __init__(self, parent, slopename, stringc):
+ def __init__(self, parent, slopename, stringc, savefnct):
QtGui.QDialog.__init__(self, parent)
self.setupUi(self)
+ self.savefnct = savefnct
self.setWindowFlags(QtCore.Qt.Window)
self.setWindowTitle(_(u"Map")+" - "+ slopename)
+ QtCore.QObject.connect(self.buttonBox,
+ QtCore.SIGNAL("clicked(QAbstractButton *)"),
+ self.button_clicked)
mapfile = QtCore.QFile(":/openlayers/cyclograph/map.html")
if mapfile.open(QtCore.QFile.ReadOnly):
mapdata = unicode(mapfile.readAll())
@@ -615,6 +622,19 @@
mapfile.close()
self.webView.setHtml(htmlMap)
self.show()
+ def saveimage(self, filepath):
+ """ Save map image"""
+ page = self.webView.page()
+ img = QtGui.QImage(page.viewportSize(), QtGui.QImage.Format_ARGB32)
+ painter = QtGui.QPainter(img)
+ self.webView.render(painter)
+ painter.end()
+ img.save(filepath)
+
+ def button_clicked(self, button):
+ button_id = self.buttonBox.standardButton(button)
+ if button_id == QtGui.QDialogButtonBox.Save:
+ self.savefnct(self)
class Create_kml(QtGui.QDialog, ui_qt.Ui_Create_KML_Dialog):
"""Create kml dialog"""
@@ -681,7 +701,7 @@
page = self.webView.page()
frame = page.currentFrame()
- gpxcontent = unicode(frame.evaluateJavaScript("document.getElementsByClassName('route-link')[1].getAttribute('onclick')").toString())
+ gpxcontent = unicode(frame.evaluateJavaScript("document.getElementsByClassName('text-link')[1].getAttribute('onclick')").toString())
url = gpxcontent.split('\'')
return self.downloadfunc(url[1])
diff -Nru cyclograph-1.6.0/cyclograph/qt/ui_qt.py cyclograph-1.6.1/cyclograph/qt/ui_qt.py
--- cyclograph-1.6.0/cyclograph/qt/ui_qt.py 2013-04-06 19:40:44.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/qt/ui_qt.py 2013-10-01 21:29:04.000000000 +0000
@@ -1,19 +1,32 @@
+## imports are included from imports.py ##
+
+from PyQt4 import QtCore, QtGui, QtWebKit
+import cyclograph_rc
+
+## end of imports ##
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'create_kml.ui'
#
-# Created: Sat Apr 6 21:40:41 2013
-# by: PyQt4 UI code generator 4.9.3
+# Created: Thu Sep 19 20:06:07 2013
+# by: PyQt4 UI code generator 4.10.2
#
# WARNING! All changes made in this file will be lost!
-from PyQt4 import QtCore, QtGui, QtWebKit
-import cyclograph_rc
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
- _fromUtf8 = lambda s: s
+ def _fromUtf8(s):
+ return s
+
+try:
+ _encoding = QtGui.QApplication.UnicodeUTF8
+ def _translate(context, text, disambig):
+ return _(text)
+except AttributeError:
+ def _translate(context, text, disambig):
+ return _(text)
class Ui_Create_KML_Dialog(object):
def setupUi(self, Create_KML_Dialog):
@@ -67,32 +80,23 @@
QtCore.QMetaObject.connectSlotsByName(Create_KML_Dialog)
def retranslateUi(self, Create_KML_Dialog):
- Create_KML_Dialog.setWindowTitle(_(u"Create Kml"))
- self.groupBox.setTitle(_(u"Mode"))
+ Create_KML_Dialog.setWindowTitle(_translate("Create_KML_Dialog", "Create Kml", None))
+ self.groupBox.setTitle(_translate("Create_KML_Dialog", "Mode", None))
__sortingEnabled = self.listWidget.isSortingEnabled()
self.listWidget.setSortingEnabled(False)
item = self.listWidget.item(0)
- item.setText(_(u"Open Route Service"))
+ item.setText(_translate("Create_KML_Dialog", "Open Route Service", None))
item = self.listWidget.item(1)
- item.setText(_(u"OSRM"))
+ item.setText(_translate("Create_KML_Dialog", "OSRM", None))
item = self.listWidget.item(2)
- item.setText(_(u"Draw on the map"))
+ item.setText(_translate("Create_KML_Dialog", "Draw on the map", None))
self.listWidget.setSortingEnabled(__sortingEnabled)
-from PyQt4 import QtCore, QtGui, QtWebKit
-import cyclograph_rc
-
-
-
-try:
- _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
- _fromUtf8 = lambda s: s
-
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(580, 436)
+ MainWindow.setWindowTitle(_fromUtf8("Cyclograph"))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/cyclograph.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
@@ -107,15 +111,16 @@
self.notebook.setObjectName(_fromUtf8("notebook"))
self.tab = QtGui.QWidget()
self.tab.setObjectName(_fromUtf8("tab"))
- self.notebook.addTab(self.tab, _fromUtf8(""))
+ self.notebook.addTab(self.tab, _fromUtf8("Tab 1"))
self.horizontalLayout.addWidget(self.notebook)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
- self.menubar.setGeometry(QtCore.QRect(0, 0, 580, 29))
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 580, 27))
self.menubar.setObjectName(_fromUtf8("menubar"))
self.filemenu = QtGui.QMenu(self.menubar)
self.filemenu.setObjectName(_fromUtf8("filemenu"))
self.menu = QtGui.QMenu(self.menubar)
+ self.menu.setTitle(_fromUtf8("?"))
self.menu.setObjectName(_fromUtf8("menu"))
self.menuOptions = QtGui.QMenu(self.menubar)
self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
@@ -126,6 +131,7 @@
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)
self.toolBar = QtGui.QToolBar(MainWindow)
+ self.toolBar.setWindowTitle(_fromUtf8("toolbar"))
self.toolBar.setMovable(True)
self.toolBar.setIconSize(QtCore.QSize(32, 32))
self.toolBar.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
@@ -135,119 +141,93 @@
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/qt-icons/pixmaps/open.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.menu_item_open.setIcon(icon1)
+ self.menu_item_open.setShortcut(_fromUtf8("Ctrl+O"))
self.menu_item_open.setObjectName(_fromUtf8("menu_item_open"))
- self.menu_item_importkml = QtGui.QAction(MainWindow)
- icon2 = QtGui.QIcon()
- icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_kml.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.menu_item_importkml.setIcon(icon2)
- self.menu_item_importkml.setObjectName(_fromUtf8("menu_item_importkml"))
self.menu_item_save = QtGui.QAction(MainWindow)
self.menu_item_save.setEnabled(False)
- icon3 = QtGui.QIcon()
- icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/qt-icons/pixmaps/save.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.menu_item_save.setIcon(icon3)
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/qt-icons/pixmaps/save.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.menu_item_save.setIcon(icon2)
+ self.menu_item_save.setShortcut(_fromUtf8("Ctrl+S"))
self.menu_item_save.setObjectName(_fromUtf8("menu_item_save"))
self.menu_item_exit = QtGui.QAction(MainWindow)
+ self.menu_item_exit.setShortcut(_fromUtf8("Ctrl+Q"))
self.menu_item_exit.setObjectName(_fromUtf8("menu_item_exit"))
self.menu_item_about = QtGui.QAction(MainWindow)
self.menu_item_about.setObjectName(_fromUtf8("menu_item_about"))
- self.menu_item_olines = QtGui.QAction(MainWindow)
- self.menu_item_olines.setCheckable(True)
- self.menu_item_olines.setChecked(True)
- self.menu_item_olines.setObjectName(_fromUtf8("menu_item_olines"))
- self.menu_item_gc = QtGui.QAction(MainWindow)
- self.menu_item_gc.setObjectName(_fromUtf8("menu_item_gc"))
- self.menu_item_savep = QtGui.QAction(MainWindow)
- self.menu_item_savep.setObjectName(_fromUtf8("menu_item_savep"))
- self.menu_item_defp = QtGui.QAction(MainWindow)
- self.menu_item_defp.setObjectName(_fromUtf8("menu_item_defp"))
- self.menu_item_r1 = QtGui.QAction(MainWindow)
- self.menu_item_r1.setCheckable(True)
- self.menu_item_r1.setChecked(True)
- self.menu_item_r1.setObjectName(_fromUtf8("menu_item_r1"))
- self.menu_item_r2 = QtGui.QAction(MainWindow)
- self.menu_item_r2.setCheckable(True)
- self.menu_item_r2.setObjectName(_fromUtf8("menu_item_r2"))
- self.menu_item_r3 = QtGui.QAction(MainWindow)
- self.menu_item_r3.setCheckable(True)
- self.menu_item_r3.setObjectName(_fromUtf8("menu_item_r3"))
self.menu_item_s1 = QtGui.QAction(MainWindow)
self.menu_item_s1.setCheckable(True)
self.menu_item_s1.setChecked(True)
+ self.menu_item_s1.setText(_fromUtf8("geonames.org"))
self.menu_item_s1.setObjectName(_fromUtf8("menu_item_s1"))
self.menu_item_s2 = QtGui.QAction(MainWindow)
self.menu_item_s2.setCheckable(True)
+ self.menu_item_s2.setText(_fromUtf8("earthtools.org"))
self.menu_item_s2.setObjectName(_fromUtf8("menu_item_s2"))
self.menu_item_s3 = QtGui.QAction(MainWindow)
self.menu_item_s3.setCheckable(True)
+ self.menu_item_s3.setText(_fromUtf8("usgs.net"))
self.menu_item_s3.setObjectName(_fromUtf8("menu_item_s3"))
self.menu_item_new = QtGui.QAction(MainWindow)
- icon4 = QtGui.QIcon()
- icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/qt-icons/pixmaps/new.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.menu_item_new.setIcon(icon4)
+ icon3 = QtGui.QIcon()
+ icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/qt-icons/pixmaps/new.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.menu_item_new.setIcon(icon3)
+ self.menu_item_new.setShortcut(_fromUtf8("Ctrl+N"))
self.menu_item_new.setObjectName(_fromUtf8("menu_item_new"))
- self.menu_item_fonts = QtGui.QAction(MainWindow)
- self.menu_item_fonts.setObjectName(_fromUtf8("menu_item_fonts"))
- self.menu_item_gfonts = QtGui.QAction(MainWindow)
- self.menu_item_gfonts.setObjectName(_fromUtf8("menu_item_gfonts"))
- self.menu_item_tfonts = QtGui.QAction(MainWindow)
- self.menu_item_tfonts.setObjectName(_fromUtf8("menu_item_tfonts"))
self.action_add = QtGui.QAction(MainWindow)
self.action_add.setEnabled(False)
- icon5 = QtGui.QIcon()
- icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_add.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.action_add.setIcon(icon5)
+ icon4 = QtGui.QIcon()
+ icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_add.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.action_add.setIcon(icon4)
+ self.action_add.setShortcut(_fromUtf8("+"))
self.action_add.setObjectName(_fromUtf8("action_add"))
self.action_edit = QtGui.QAction(MainWindow)
self.action_edit.setEnabled(False)
- icon6 = QtGui.QIcon()
- icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_modify.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.action_edit.setIcon(icon6)
+ icon5 = QtGui.QIcon()
+ icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_modify.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.action_edit.setIcon(icon5)
self.action_edit.setObjectName(_fromUtf8("action_edit"))
self.action_delete = QtGui.QAction(MainWindow)
self.action_delete.setEnabled(False)
- icon7 = QtGui.QIcon()
- icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_delete.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.action_delete.setIcon(icon7)
+ icon6 = QtGui.QIcon()
+ icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_delete.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.action_delete.setIcon(icon6)
+ self.action_delete.setShortcut(_fromUtf8("-"))
self.action_delete.setObjectName(_fromUtf8("action_delete"))
self.action_plot = QtGui.QAction(MainWindow)
self.action_plot.setEnabled(False)
- icon8 = QtGui.QIcon()
- icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_plot.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.action_plot.setIcon(icon8)
+ icon7 = QtGui.QIcon()
+ icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_plot.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.action_plot.setIcon(icon7)
self.action_plot.setObjectName(_fromUtf8("action_plot"))
self.action_properties = QtGui.QAction(MainWindow)
self.action_properties.setEnabled(False)
- icon9 = QtGui.QIcon()
- icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_info.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.action_properties.setIcon(icon9)
+ icon8 = QtGui.QIcon()
+ icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_info.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.action_properties.setIcon(icon8)
self.action_properties.setObjectName(_fromUtf8("action_properties"))
- self.menu_item_3d = QtGui.QAction(MainWindow)
- self.menu_item_3d.setCheckable(True)
- self.menu_item_3d.setChecked(True)
- self.menu_item_3d.setObjectName(_fromUtf8("menu_item_3d"))
self.menu_item_bug = QtGui.QAction(MainWindow)
self.menu_item_bug.setObjectName(_fromUtf8("menu_item_bug"))
- self.menu_item_delp = QtGui.QAction(MainWindow)
- self.menu_item_delp.setObjectName(_fromUtf8("menu_item_delp"))
self.menu_item_createkml = QtGui.QAction(MainWindow)
- icon10 = QtGui.QIcon()
- icon10.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_ckml.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.menu_item_createkml.setIcon(icon10)
+ icon9 = QtGui.QIcon()
+ icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_ckml.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.menu_item_createkml.setIcon(icon9)
+ self.menu_item_createkml.setShortcut(_fromUtf8(""))
self.menu_item_createkml.setObjectName(_fromUtf8("menu_item_createkml"))
self.menu_item_save_as = QtGui.QAction(MainWindow)
self.menu_item_save_as.setEnabled(False)
- icon11 = QtGui.QIcon()
- icon11.addPixmap(QtGui.QPixmap(_fromUtf8(":/qt-icons/pixmaps/save_as.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.menu_item_save_as.setIcon(icon11)
+ icon10 = QtGui.QIcon()
+ icon10.addPixmap(QtGui.QPixmap(_fromUtf8(":/qt-icons/pixmaps/save_as.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.menu_item_save_as.setIcon(icon10)
+ self.menu_item_save_as.setShortcut(_fromUtf8("Ctrl+Alt+S"))
self.menu_item_save_as.setObjectName(_fromUtf8("menu_item_save_as"))
self.preferences = QtGui.QAction(MainWindow)
self.preferences.setObjectName(_fromUtf8("preferences"))
self.action_map = QtGui.QAction(MainWindow)
self.action_map.setEnabled(False)
- icon12 = QtGui.QIcon()
- icon12.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_map.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.action_map.setIcon(icon12)
+ icon11 = QtGui.QIcon()
+ icon11.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/icon_map.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.action_map.setIcon(icon11)
self.action_map.setObjectName(_fromUtf8("action_map"))
self.filemenu.addAction(self.menu_item_new)
self.filemenu.addAction(self.menu_item_open)
@@ -285,70 +265,34 @@
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
- MainWindow.setWindowTitle(_(u"Cyclograph"))
- self.notebook.setTabText(self.notebook.indexOf(self.tab), _(u"Tab 1"))
- self.filemenu.setTitle(_(u"File"))
- self.menu.setTitle(_(u"?"))
- self.menuOptions.setTitle(_(u"Options"))
- self.menu_Kml_server.setTitle(_(u"&Kml server"))
- self.toolBar.setWindowTitle(_(u"toolbar"))
- self.menu_item_open.setText(_(u"&Open"))
- self.menu_item_open.setShortcut(_(u"Ctrl+O"))
- self.menu_item_importkml.setText(_(u"&Import KML"))
- self.menu_item_importkml.setShortcut(_(u"Ctrl+I"))
- self.menu_item_save.setText(_(u"&Save"))
- self.menu_item_save.setShortcut(_(u"Ctrl+S"))
- self.menu_item_exit.setText(_(u"&Quit"))
- self.menu_item_exit.setShortcut(_(u"Ctrl+Q"))
- self.menu_item_about.setText(_(u"About"))
- self.menu_item_olines.setText(_(u"&Orizzontal lines"))
- self.menu_item_gc.setText(_(u"&Slope colors..."))
- self.menu_item_savep.setText(_(u"&Save preferences"))
- self.menu_item_defp.setText(_(u"&Use default preferences"))
- self.menu_item_r1.setText(_(u"800x600"))
- self.menu_item_r2.setText(_(u"1024x768"))
- self.menu_item_r3.setText(_(u"1280x800"))
- self.menu_item_s1.setText(_(u"geonames.org"))
- self.menu_item_s2.setText(_(u"earthtools.org"))
- self.menu_item_s3.setText(_(u"usgs.net"))
- self.menu_item_new.setText(_(u"&New"))
- self.menu_item_new.setShortcut(_(u"Ctrl+N"))
- self.menu_item_fonts.setText(_(u"&Description"))
- self.menu_item_gfonts.setText(_(u"&Gradient"))
- self.menu_item_tfonts.setText(_(u"&Title"))
- self.action_add.setText(_(u"Add"))
- self.action_add.setToolTip(_(u"Press + on the keyboard to add a check-point"))
- self.action_add.setShortcut(_(u"+"))
- self.action_edit.setText(_(u"Edit"))
- self.action_edit.setToolTip(_(u"Edit a check-point"))
- self.action_delete.setText(_(u"Delete"))
- self.action_delete.setToolTip(_(u"Press - on the keyboard to remove the selected check-point"))
- self.action_delete.setShortcut(_(u"-"))
- self.action_plot.setText(_(u"Plot"))
- self.action_plot.setToolTip(_(u"Plot your slope"))
- self.action_properties.setText(_(u"Info"))
- self.action_properties.setToolTip(_(u"Informations about the slope"))
- self.menu_item_3d.setText(_(u"3D &effect"))
- self.menu_item_bug.setText(_(u"Signal a bug"))
- self.menu_item_delp.setText(_(u"&Delete configuration file"))
- self.menu_item_createkml.setText(_(u"&Create Kml"))
- self.menu_item_createkml.setIconText(_(u"Create"))
- self.menu_item_createkml.setToolTip(_(u" Create Kml"))
- self.menu_item_save_as.setText(_(u"Save &As"))
- self.menu_item_save_as.setIconText(_(u"Save as"))
- self.menu_item_save_as.setShortcut(_(u"Ctrl+Alt+S"))
- self.preferences.setText(_(u"&Preferences"))
- self.action_map.setText(_(u"Map"))
- self.action_map.setIconText(_(u"Map"))
- self.action_map.setToolTip(_(u"Show the map of your slope"))
-
-
-
-
-try:
- _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
- _fromUtf8 = lambda s: s
+ self.filemenu.setTitle(_translate("MainWindow", "File", None))
+ self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
+ self.menu_Kml_server.setTitle(_translate("MainWindow", "&Kml server", None))
+ self.menu_item_open.setText(_translate("MainWindow", "&Open", None))
+ self.menu_item_save.setText(_translate("MainWindow", "&Save", None))
+ self.menu_item_exit.setText(_translate("MainWindow", "&Quit", None))
+ self.menu_item_about.setText(_translate("MainWindow", "About", None))
+ self.menu_item_new.setText(_translate("MainWindow", "&New", None))
+ self.action_add.setText(_translate("MainWindow", "Add", None))
+ self.action_add.setToolTip(_translate("MainWindow", "Press + on the keyboard to add a check-point", None))
+ self.action_edit.setText(_translate("MainWindow", "Edit", None))
+ self.action_edit.setToolTip(_translate("MainWindow", "Edit a check-point", None))
+ self.action_delete.setText(_translate("MainWindow", "Delete", None))
+ self.action_delete.setToolTip(_translate("MainWindow", "Press - on the keyboard to remove the selected check-point", None))
+ self.action_plot.setText(_translate("MainWindow", "Plot", None))
+ self.action_plot.setToolTip(_translate("MainWindow", "Plot your slope", None))
+ self.action_properties.setText(_translate("MainWindow", "Info", None))
+ self.action_properties.setToolTip(_translate("MainWindow", "Informations about the slope", None))
+ self.menu_item_bug.setText(_translate("MainWindow", "Signal a bug", None))
+ self.menu_item_createkml.setText(_translate("MainWindow", "&Create Kml", None))
+ self.menu_item_createkml.setIconText(_translate("MainWindow", "Create", None))
+ self.menu_item_createkml.setToolTip(_translate("MainWindow", " Create Kml", None))
+ self.menu_item_save_as.setText(_translate("MainWindow", "Save &As", None))
+ self.menu_item_save_as.setIconText(_translate("MainWindow", "Save as", None))
+ self.preferences.setText(_translate("MainWindow", "&Preferences", None))
+ self.action_map.setText(_translate("MainWindow", "Map", None))
+ self.action_map.setIconText(_translate("MainWindow", "Map", None))
+ self.action_map.setToolTip(_translate("MainWindow", "Show the map of your slope", None))
class Ui_Slope_Dialog(object):
def setupUi(self, Slope_Dialog):
@@ -432,24 +376,16 @@
QtCore.QMetaObject.connectSlotsByName(Slope_Dialog)
def retranslateUi(self, Slope_Dialog):
- Slope_Dialog.setWindowTitle(_(u"Slope Info"))
- self.label.setText(_(u"Name:"))
- self.label_2.setText(_(u"State:"))
- self.label_3.setText(_(u"Note:"))
- self.label_4.setText(_(u"Author:"))
- self.label_5.setText(_(u"E-mail:"))
- self.label_6.setText(_(u"Average gradient:"))
- self.label_7.setText(_(u"Max gradient:"))
- self.label_8.setText(_(u"Height difference:"))
- self.label_9.setText(_(u"Height gain:"))
-
-
-
-
-try:
- _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
- _fromUtf8 = lambda s: s
+ Slope_Dialog.setWindowTitle(_translate("Slope_Dialog", "Slope Info", None))
+ self.label.setText(_translate("Slope_Dialog", "Name:", None))
+ self.label_2.setText(_translate("Slope_Dialog", "State:", None))
+ self.label_3.setText(_translate("Slope_Dialog", "Note:", None))
+ self.label_4.setText(_translate("Slope_Dialog", "Author:", None))
+ self.label_5.setText(_translate("Slope_Dialog", "E-mail:", None))
+ self.label_6.setText(_translate("Slope_Dialog", "Average gradient:", None))
+ self.label_7.setText(_translate("Slope_Dialog", "Max gradient:", None))
+ self.label_8.setText(_translate("Slope_Dialog", "Height difference:", None))
+ self.label_9.setText(_translate("Slope_Dialog", "Height gain:", None))
class Ui_manag_dlg(object):
def setupUi(self, manag_dlg):
@@ -501,17 +437,9 @@
manag_dlg.setTabOrder(self.name, self.buttonBox)
def retranslateUi(self, manag_dlg):
- self.label_2.setText(_(u"Distance:"))
- self.label.setText(_(u"Name:"))
- self.label_3.setText(_(u"Altitude:"))
-
-
-
-
-try:
- _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
- _fromUtf8 = lambda s: s
+ self.label_2.setText(_translate("manag_dlg", "Distance:", None))
+ self.label.setText(_translate("manag_dlg", "Name:", None))
+ self.label_3.setText(_translate("manag_dlg", "Altitude:", None))
class Ui_map(object):
def setupUi(self, map):
@@ -532,20 +460,16 @@
self.webView.setUrl(QtCore.QUrl(_fromUtf8("about:blank")))
self.webView.setObjectName(_fromUtf8("webView"))
self.verticalLayout.addWidget(self.splitter)
+ self.buttonBox = QtGui.QDialogButtonBox(map)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Save)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
self.retranslateUi(map)
QtCore.QMetaObject.connectSlotsByName(map)
def retranslateUi(self, map):
- map.setWindowTitle(_(u"map"))
-
-
-
-
-try:
- _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
- _fromUtf8 = lambda s: s
+ map.setWindowTitle(_translate("map", "map", None))
class Ui_numcps_dlg(object):
def setupUi(self, numcps_dlg):
@@ -563,6 +487,7 @@
self.verticalLayout_4 = QtGui.QVBoxLayout(self.menu)
self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
self.label_3 = QtGui.QLabel(self.menu)
+ self.label_3.setText(_fromUtf8("TextLabel"))
self.label_3.setObjectName(_fromUtf8("label_3"))
self.verticalLayout_4.addWidget(self.label_3)
self.automatic = QtGui.QRadioButton(self.menu)
@@ -598,6 +523,7 @@
self.verticalLayout = QtGui.QVBoxLayout(self.points)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.label = QtGui.QLabel(self.points)
+ self.label.setText(_fromUtf8("message"))
self.label.setObjectName(_fromUtf8("label"))
self.verticalLayout.addWidget(self.label)
self.horizontalLayout = QtGui.QHBoxLayout()
@@ -630,6 +556,7 @@
self.verticalLayout_3 = QtGui.QVBoxLayout(self.distance)
self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
self.label_2 = QtGui.QLabel(self.distance)
+ self.label_2.setText(_fromUtf8("TextLabel"))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.verticalLayout_3.addWidget(self.label_2)
self.horizontalLayout_2 = QtGui.QHBoxLayout()
@@ -672,28 +599,18 @@
QtCore.QMetaObject.connectSlotsByName(numcps_dlg)
def retranslateUi(self, numcps_dlg):
- numcps_dlg.setWindowTitle(_(u"number of checkpoints"))
- self.label_3.setText(_(u"TextLabel"))
- self.automatic.setText(_(u"Automatic"))
- self.distance_2.setText(_(u"Select the distance rate"))
- self.number.setText(_(u"Select the number of checkpoints"))
- self.all_.setText(_(u"Use every point (discouraged)"))
- self.proceedButton.setText(_(u"Next"))
- self.label.setText(_(u"message"))
- self.label_2.setText(_(u"TextLabel"))
-
-
-
-
-try:
- _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
- _fromUtf8 = lambda s: s
+ numcps_dlg.setWindowTitle(_translate("numcps_dlg", "number of checkpoints", None))
+ self.automatic.setText(_translate("numcps_dlg", "Automatic", None))
+ self.distance_2.setText(_translate("numcps_dlg", "Select the distance rate", None))
+ self.number.setText(_translate("numcps_dlg", "Select the number of checkpoints", None))
+ self.all_.setText(_translate("numcps_dlg", "Use every point (discouraged)", None))
+ self.proceedButton.setText(_translate("numcps_dlg", "Next", None))
class Ui_Frame_Page(object):
def setupUi(self, Frame_Page):
Frame_Page.setObjectName(_fromUtf8("Frame_Page"))
Frame_Page.resize(558, 399)
+ Frame_Page.setWindowTitle(_fromUtf8("Frame"))
Frame_Page.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
Frame_Page.setFrameShape(QtGui.QFrame.StyledPanel)
Frame_Page.setFrameShadow(QtGui.QFrame.Raised)
@@ -721,27 +638,18 @@
QtCore.QMetaObject.connectSlotsByName(Frame_Page)
def retranslateUi(self, Frame_Page):
- Frame_Page.setWindowTitle(_(u"Frame"))
- self.button_close.setText(_(u"Close"))
+ self.button_close.setText(_translate("Frame_Page", "Close", None))
item = self.tableWidget.horizontalHeaderItem(0)
- item.setText(_(u"Distance [km]"))
+ item.setText(_translate("Frame_Page", "Distance [km]", None))
item = self.tableWidget.horizontalHeaderItem(1)
- item.setText(_(u"Altitude [m]"))
+ item.setText(_translate("Frame_Page", "Altitude [m]", None))
item = self.tableWidget.horizontalHeaderItem(2)
- item.setText(_(u"Name"))
-
-
-
-
-try:
- _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
- _fromUtf8 = lambda s: s
+ item.setText(_translate("Frame_Page", "Name", None))
class Ui_Pref_Dialog(object):
def setupUi(self, Pref_Dialog):
Pref_Dialog.setObjectName(_fromUtf8("Pref_Dialog"))
- Pref_Dialog.resize(409, 369)
+ Pref_Dialog.resize(409, 372)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/pixmaps/cyclograph.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
Pref_Dialog.setWindowIcon(icon)
@@ -782,9 +690,13 @@
self.res = QtGui.QComboBox(self.General)
self.res.setObjectName(_fromUtf8("res"))
self.res.addItem(_fromUtf8(""))
+ self.res.setItemText(0, _fromUtf8("800 x 600"))
self.res.addItem(_fromUtf8(""))
+ self.res.setItemText(1, _fromUtf8("1024 x 768"))
self.res.addItem(_fromUtf8(""))
+ self.res.setItemText(2, _fromUtf8("1280 x 800"))
self.res.addItem(_fromUtf8(""))
+ self.res.setItemText(3, _fromUtf8("1600 x 1200"))
self.formLayout_3.setWidget(3, QtGui.QFormLayout.FieldRole, self.res)
self.Themel = QtGui.QLabel(self.General)
self.Themel.setObjectName(_fromUtf8("Themel"))
@@ -798,13 +710,22 @@
self.serv = QtGui.QComboBox(self.General)
self.serv.setObjectName(_fromUtf8("serv"))
self.serv.addItem(_fromUtf8(""))
+ self.serv.setItemText(0, _fromUtf8("geonames.org"))
self.serv.addItem(_fromUtf8(""))
+ self.serv.setItemText(1, _fromUtf8("earthtools.org"))
self.serv.addItem(_fromUtf8(""))
+ self.serv.setItemText(2, _fromUtf8("usgs.net"))
self.formLayout_3.setWidget(6, QtGui.QFormLayout.FieldRole, self.serv)
self.showinfo = QtGui.QCheckBox(self.General)
self.showinfo.setChecked(True)
self.showinfo.setObjectName(_fromUtf8("showinfo"))
self.formLayout_3.setWidget(2, QtGui.QFormLayout.FieldRole, self.showinfo)
+ self.label = QtGui.QLabel(self.General)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.formLayout_3.setWidget(7, QtGui.QFormLayout.LabelRole, self.label)
+ self.vcheck = QtGui.QCheckBox(self.General)
+ self.vcheck.setObjectName(_fromUtf8("vcheck"))
+ self.formLayout_3.setWidget(7, QtGui.QFormLayout.FieldRole, self.vcheck)
self.tabWidget.addTab(self.General, _fromUtf8(""))
self.Fonts = QtGui.QWidget()
self.Fonts.setObjectName(_fromUtf8("Fonts"))
@@ -941,31 +862,26 @@
QtCore.QMetaObject.connectSlotsByName(Pref_Dialog)
def retranslateUi(self, Pref_Dialog):
- Pref_Dialog.setWindowTitle(_(u"Preferences"))
- self.label_11.setText(_(u"Visualization"))
- self.olines.setText(_(u"Orizzontal lines"))
- self.effect3d.setText(_(u"3D effect"))
- self.Resolutionl.setText(_(u"Resolution"))
- self.res.setItemText(0, _(u"800 x 600"))
- self.res.setItemText(1, _(u"1024 x 768"))
- self.res.setItemText(2, _(u"1280 x 800"))
- self.res.setItemText(3, _(u"1600 x 1200"))
- self.Themel.setText(_(u"Theme"))
- self.kmlserverl.setText(_(u"Kml server"))
- self.serv.setItemText(0, _(u"geonames.org"))
- self.serv.setItemText(1, _(u"earthtools.org"))
- self.serv.setItemText(2, _(u"usgs.net"))
- self.showinfo.setText(_(u"Show info"))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.General), _(u"General"))
- self.label_8.setText(_(u"Description"))
- self.fdesc.setText(_(u"font | dim"))
- self.label_9.setText(_(u"Gradient"))
- self.fgrad.setText(_(u"font | dim"))
- self.label_10.setText(_(u"Title"))
- self.ftitle.setText(_(u"font | dim"))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.Fonts), _(u"Fonts"))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.Gcolors), _(u"Gradient colors"))
- self.label_12.setText(_(u"Name:"))
- self.label_13.setText(_(u"E-mail:"))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _(u"Author"))
+ Pref_Dialog.setWindowTitle(_translate("Pref_Dialog", "Preferences", None))
+ self.label_11.setText(_translate("Pref_Dialog", "Visualization", None))
+ self.olines.setText(_translate("Pref_Dialog", "Orizzontal lines", None))
+ self.effect3d.setText(_translate("Pref_Dialog", "3D effect", None))
+ self.Resolutionl.setText(_translate("Pref_Dialog", "Resolution", None))
+ self.Themel.setText(_translate("Pref_Dialog", "Theme", None))
+ self.kmlserverl.setText(_translate("Pref_Dialog", "Kml server", None))
+ self.showinfo.setText(_translate("Pref_Dialog", "Show info", None))
+ self.label.setText(_translate("Pref_Dialog", "Latest version", None))
+ self.vcheck.setText(_translate("Pref_Dialog", "Check online", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.General), _translate("Pref_Dialog", "General", None))
+ self.label_8.setText(_translate("Pref_Dialog", "Description", None))
+ self.fdesc.setText(_translate("Pref_Dialog", "font | dim", None))
+ self.label_9.setText(_translate("Pref_Dialog", "Gradient", None))
+ self.fgrad.setText(_translate("Pref_Dialog", "font | dim", None))
+ self.label_10.setText(_translate("Pref_Dialog", "Title", None))
+ self.ftitle.setText(_translate("Pref_Dialog", "font | dim", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.Fonts), _translate("Pref_Dialog", "Fonts", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.Gcolors), _translate("Pref_Dialog", "Gradient colors", None))
+ self.label_12.setText(_translate("Pref_Dialog", "Name:", None))
+ self.label_13.setText(_translate("Pref_Dialog", "E-mail:", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Pref_Dialog", "Author", None))
diff -Nru cyclograph-1.6.0/cyclograph/report_html.py cyclograph-1.6.1/cyclograph/report_html.py
--- cyclograph-1.6.0/cyclograph/report_html.py 2013-03-22 22:03:29.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/report_html.py 2013-08-18 10:47:43.000000000 +0000
@@ -95,9 +95,10 @@
def add_image(self, svgstring):
"""Add image"""
self.reportdata += '
\n'+ svgstring
- def add_map(self, slope):
+ def add_map(self, slope, width, height):
"""Add map with route"""
- self.reportdata += '
\n'
+ mapstring = '
\n'
+ self.reportdata += mapstring % (str(width), str(height))
(lat, lng)= slope.coords[0]
stringc = "%s %s" % (lng, lat)
for i in range(1, len(slope.coords)):
diff -Nru cyclograph-1.6.0/cyclograph/slope.py cyclograph-1.6.1/cyclograph/slope.py
--- cyclograph-1.6.0/cyclograph/slope.py 2013-02-01 19:21:57.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/slope.py 2013-09-01 19:36:41.000000000 +0000
@@ -83,9 +83,7 @@
self.max_grad = self.grad[0]
for i in range(len(self.grad)):
if self.grad[i] > self.max_grad:
- self.max_grad = self.grad[i]
- self.average_grad += self.grad[i]
- self.average_grad = self.average_grad / len(self.grad)
+ self.max_grad = self.grad[i]
self.height_gain = 0
for i in range(len(cps)-1):
self.height_gain += max(cps[i+1][1]-cps[i][1], 0)
@@ -106,6 +104,9 @@
#max distance is always in the last item
self.max_d = self.cps[-1][0]
+ if self.max_d != 0:
+ self.average_grad = (self.cps[-1][1] - self.cps[0][1]) / (self.max_d * 10)
+
self.dercp = self.smooth()
def smooth(self):
diff -Nru cyclograph-1.6.0/cyclograph/themes.py cyclograph-1.6.1/cyclograph/themes.py
--- cyclograph-1.6.0/cyclograph/themes.py 2013-01-05 18:39:18.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/themes.py 2013-08-18 10:47:43.000000000 +0000
@@ -621,8 +621,21 @@
@staticmethod
def xaxis(devc, slope, margins, max_y, d_incr, kmsize, dx, dy):
"""Draw km bar"""
- devc.setpen('white', 1)
- ThemeClassic.xaxis(devc, slope, margins, max_y, d_incr, kmsize, dx, dy)
+ (updownmar, leftrightmar) = margins
+ (lef_mar, rig_mar) = leftrightmar
+ (upp_mar, low_mar) = updownmar
+ for i in range(int(slope.max_d) / d_incr - int(slope.min_d) / d_incr + 1):
+ if i % 2 == 0 :
+ devc.setbrush("rgb(0, 0, 0)")
+ else :
+ devc.setbrush("rgb(255, 255, 255)")
+ rec = (i * d_incr * kmsize + lef_mar + dx,
+ max_y - low_mar + dy, d_incr * kmsize + 1, 5)
+ devc.setpen('black', 1)
+ devc.drawrectangle(*rec)
+ devc.setpen('white', 1)
+ d_label = ("%d" % (i * d_incr +int(slope.min_d)))
+ devc.drawtext(d_label, rec[0], rec[1] + 5)
@staticmethod
def fillhpoly(devc, points, color):
diff -Nru cyclograph-1.6.0/cyclograph/version.py cyclograph-1.6.1/cyclograph/version.py
--- cyclograph-1.6.0/cyclograph/version.py 2013-04-06 19:02:28.000000000 +0000
+++ cyclograph-1.6.1/cyclograph/version.py 2013-08-24 16:03:46.000000000 +0000
@@ -18,7 +18,7 @@
import threading
# Version of this software
-VERSION = '1.6.0'
+VERSION = '1.6.1'
# This url is used to fetch the latest version number directely from
# the website
@@ -41,13 +41,17 @@
page.close()
except urllib2.URLError:
self.lastversion = ''
+
def islast(self):
if not self.lastversion:
return True
- return VERSION >= self.lastversion
+ return version_list(VERSION) >= version_list(self.lastversion)
+
def run(self):
self.query()
+def version_list(version_string):
+ return map(int, version_string.split('.'))
if __name__ == "__main__":
print(VERSION)
diff -Nru cyclograph-1.6.0/debian/changelog cyclograph-1.6.1/debian/changelog
--- cyclograph-1.6.0/debian/changelog 2013-08-20 07:11:38.000000000 +0000
+++ cyclograph-1.6.1/debian/changelog 2013-10-30 20:38:07.000000000 +0000
@@ -1,3 +1,10 @@
+cyclograph (1.6.1-1) unstable; urgency=low
+
+ * New upstream release
+ * GUI and backend packages are compatible only if the version is the same
+
+ -- Federico Brega
Wed, 30 Oct 2013 21:34:00 +0100
+
cyclograph (1.6.0-1) unstable; urgency=low
* Removed separation from import and open
diff -Nru cyclograph-1.6.0/debian/control cyclograph-1.6.1/debian/control
--- cyclograph-1.6.0/debian/control 2013-08-19 05:09:13.000000000 +0000
+++ cyclograph-1.6.1/debian/control 2013-10-30 19:40:14.000000000 +0000
@@ -26,7 +26,7 @@
Package: cyclograph-qt4
Architecture: all
Depends: ${misc:Depends},
- cyclograph,
+ cyclograph (=${binary:Version}),
python-qt4 (>=4.6)
Tag: interface::x11, uitoolkit::qt
Description: route altimetry plotting application - Qt interface
@@ -41,7 +41,7 @@
Package: cyclograph-gtk2
Architecture: all
Depends: ${misc:Depends},
- cyclograph,
+ cyclograph (=${binary:Version}),
python-gtk2 (>=2.14),
python-webkit
Tag: interface::x11, uitoolkit::gtk
@@ -57,7 +57,7 @@
Package: cyclograph-gtk3
Architecture: all
Depends: ${misc:Depends},
- cyclograph,
+ cyclograph (=${binary:Version}),
gir1.2-gtk-3.0,
gir1.2-webkit-3.0
Tag: interface::x11, uitoolkit::gtk
diff -Nru cyclograph-1.6.0/debian/copyright cyclograph-1.6.1/debian/copyright
--- cyclograph-1.6.0/debian/copyright 2013-08-19 05:09:13.000000000 +0000
+++ cyclograph-1.6.1/debian/copyright 2013-10-30 19:40:14.000000000 +0000
@@ -3,8 +3,8 @@
Source: https://sourceforge.net/projects/cyclograph/files/cyclograph/
Files: *
-Copyright: 2008-2012 Federico Brega
- 2008-2012 Pierluigi Villani
+Copyright: 2008-2013 Federico Brega
+ 2008-2013 Pierluigi Villani
License: GPL-3+
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public
@@ -28,7 +28,7 @@
`/usr/share/common-licenses/GPL-3'.
Files: debian/*
-Copyright: 2012 Federico Brega
+Copyright: 2013 Federico Brega
License: GPL-3+
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public
diff -Nru cyclograph-1.6.0/man/cyclograph.1 cyclograph-1.6.1/man/cyclograph.1
--- cyclograph-1.6.0/man/cyclograph.1 2013-04-12 16:23:58.000000000 +0000
+++ cyclograph-1.6.1/man/cyclograph.1 2013-10-21 19:44:04.000000000 +0000
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10.
-.TH CYCLOGRAPH "1" "April 2013" "cyclograph 1.6.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3.
+.TH CYCLOGRAPH "1" "October 2013" "cyclograph 1.6.1" "User Commands"
.SH NAME
cyclograph \- route altimetry plotting application
.SH SYNOPSIS
Binary files /tmp/KQ4ltv67VX/cyclograph-1.6.0/pixmaps/icon_map.png and /tmp/j4JKOn9qir/cyclograph-1.6.1/pixmaps/icon_map.png differ
diff -Nru cyclograph-1.6.0/pixmaps/icon_map.svg cyclograph-1.6.1/pixmaps/icon_map.svg
--- cyclograph-1.6.0/pixmaps/icon_map.svg 1970-01-01 00:00:00.000000000 +0000
+++ cyclograph-1.6.1/pixmaps/icon_map.svg 2013-08-18 10:47:43.000000000 +0000
@@ -0,0 +1,1157 @@
+
+
+
+
Binary files /tmp/KQ4ltv67VX/cyclograph-1.6.0/po/en/LC_MESSAGES/cyclograph.mo and /tmp/j4JKOn9qir/cyclograph-1.6.1/po/en/LC_MESSAGES/cyclograph.mo differ
diff -Nru cyclograph-1.6.0/po/en/LC_MESSAGES/cyclograph.po cyclograph-1.6.1/po/en/LC_MESSAGES/cyclograph.po
--- cyclograph-1.6.0/po/en/LC_MESSAGES/cyclograph.po 2013-03-03 11:24:38.000000000 +0000
+++ cyclograph-1.6.1/po/en/LC_MESSAGES/cyclograph.po 2013-09-20 19:36:28.000000000 +0000
@@ -1,963 +1,692 @@
# Cyclograph.
-# Copyright (C) 2010 agron85
+# Copyright (C) 2010 Pierluigi Villani
# This file is distributed under the same license as the Cyclograph package.
-# agron85 , 2010, 2011, 2012.
+# Pierluigi Villani , 2010, 2011, 2012, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: Cyclograph\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-21 21:52+0100\n"
-"PO-Revision-Date: 2013-02-21 21:53+0100\n"
-"Last-Translator: agron85 \n"
+"POT-Creation-Date: 2013-09-18 23:12+0200\n"
+"PO-Revision-Date: 2013-09-19 20:07+0100\n"
+"Last-Translator: Pierluigi Villani \n"
"Language-Team: english \n"
-"Language: \n"
+"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: English\n"
+"X-Generator: Poedit 1.5.4\n"
-#: cyclograph/qt/ui_qt.py:336
+#: qt4_ui/ui_qt_ts.py:289
msgid " Create Kml"
msgstr ""
-#: cyclograph/qt/ui_qt.py:334
+#: qt4_ui/ui_qt_ts.py:287
msgid "&Create Kml"
msgstr ""
-#: cyclograph/qt/ui_qt.py:333
-msgid "&Delete configuration file"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:316
-msgid "&Description"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:317
-msgid "&Gradient"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:297
-msgid "&Import KML"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:293
+#: qt4_ui/ui_qt_ts.py:270
msgid "&Kml server"
msgstr ""
-#: cyclograph/qt/ui_qt.py:314
+#: qt4_ui/ui_qt_ts.py:275
msgid "&New"
msgstr ""
-#: cyclograph/qt/ui_qt.py:295
+#: qt4_ui/ui_qt_ts.py:271
msgid "&Open"
msgstr ""
-#: cyclograph/qt/gui.py:462
+#: cyclograph/qt/gui.py:465
msgid "&Options"
msgstr ""
-#: cyclograph/qt/gui.py:443
-#: cyclograph/qt/ui_qt.py:304
+#: cyclograph/qt/gui.py:446
msgid "&Orizzontal lines"
msgstr ""
-#: cyclograph/qt/ui_qt.py:340
+#: qt4_ui/ui_qt_ts.py:292
msgid "&Preferences"
msgstr ""
-#: cyclograph/qt/ui_qt.py:301
+#: qt4_ui/ui_qt_ts.py:273
msgid "&Quit"
msgstr ""
-#: cyclograph/qt/ui_qt.py:299
+#: qt4_ui/ui_qt_ts.py:272
msgid "&Save"
msgstr ""
-#: cyclograph/qt/ui_qt.py:306
-msgid "&Save preferences"
-msgstr ""
-
-#: cyclograph/qt/gui.py:474
+#: cyclograph/qt/gui.py:477
msgid "&Saving resolution"
msgstr ""
-#: cyclograph/qt/ui_qt.py:305
-msgid "&Slope colors..."
-msgstr ""
-
-#: cyclograph/qt/gui.py:469
+#: cyclograph/qt/gui.py:472
msgid "&Theme"
msgstr ""
-#: cyclograph/qt/ui_qt.py:318
-msgid "&Title"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:307
-msgid "&Use default preferences"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:321
-msgid "+"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:326
-msgid "-"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:950
-msgid "1024 x 768"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:605
-#: cyclograph/gtk3/gui.py:597
-#: cyclograph/qt/ui_qt.py:309
-msgid "1024x768"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:951
-msgid "1280 x 800"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:606
-#: cyclograph/gtk3/gui.py:598
-#: cyclograph/qt/ui_qt.py:310
-msgid "1280x800"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:952
-msgid "1600 x 1200"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:607
-#: cyclograph/gtk3/gui.py:599
-msgid "1600x1200"
-msgstr ""
-
-#: cyclograph/qt/gui.py:447
-#: cyclograph/qt/ui_qt.py:331
+#: cyclograph/qt/gui.py:450
msgid "3D &effect"
msgstr ""
-#: cyclograph/gtk_/gui.py:571
+#: cyclograph/gtk_/gui.py:572
msgid "3D _effect"
msgstr ""
-#: cyclograph/gtk_/gui.py:744
-#: cyclograph/gtk3/gui.py:563
-#: cyclograph/gtk3/gui.py:739
-#: cyclograph/qt/ui_qt.py:947
+#: cyclograph/gtk_/gui.py:745 cyclograph/gtk3/gui.py:564
+#: cyclograph/gtk3/gui.py:740 qt4_ui/ui_qt_ts.py:868
msgid "3D effect"
msgstr ""
-#: cyclograph/qt/ui_qt.py:949
-msgid "800 x 600"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:604
-#: cyclograph/gtk3/gui.py:596
-#: cyclograph/qt/ui_qt.py:308
-msgid "800x600"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:233
-#: cyclograph/gtk3/gui.py:235
-#: cyclograph/qt/ui_qt.py:291
-msgid "?"
-msgstr ""
-
-#: cyclograph/cyclograph.py:119
+#: cyclograph/cyclograph.py:121
msgid "A new version of CycloGraph is out!"
msgstr ""
-#: cyclograph/qt/ui_qt.py:303
+#: qt4_ui/ui_qt_ts.py:274
msgid "About"
msgstr ""
-#: cyclograph/cyclograph.py:588
-#: cyclograph/gtk_/gui.py:104
-#: cyclograph/gtk3/gui.py:104
-#: cyclograph/qt/ui_qt.py:319
+#: cyclograph/cyclograph.py:588 cyclograph/gtk_/gui.py:105
+#: cyclograph/gtk3/gui.py:105 qt4_ui/ui_qt_ts.py:276
#, fuzzy
msgid "Add"
msgstr "Add"
-#: cyclograph/gtk_/gui.py:106
-#: cyclograph/gtk3/gui.py:106
+#: cyclograph/gtk_/gui.py:107 cyclograph/gtk3/gui.py:107
msgid "Add a check-point"
msgstr ""
-#: cyclograph/gtk_/gui.py:336
-#: cyclograph/gtk3/gui.py:341
-#: cyclograph/qt/ui_qt.py:729
+#: cyclograph/gtk_/gui.py:337 cyclograph/gtk3/gui.py:342
+#: qt4_ui/ui_qt_ts.py:645
msgid "Altitude [m]"
msgstr ""
-#: cyclograph/gtk_/gui.py:387
-#: cyclograph/gtk3/gui.py:395
-#: cyclograph/qt/ui_qt.py:506
+#: cyclograph/gtk_/gui.py:388 cyclograph/gtk3/gui.py:396
+#: qt4_ui/ui_qt_ts.py:442
msgid "Altitude:"
msgstr ""
-#: cyclograph/cyclograph.py:728
-#: cyclograph/cyclograph.py:764
-#: cyclograph/qt/ui_qt.py:970
+#: cyclograph/cyclograph.py:745 cyclograph/cyclograph.py:781
+#: qt4_ui/ui_qt_ts.py:886
msgid "Author"
msgstr ""
-#: cyclograph/gtk_/gui.py:458
-#: cyclograph/gtk3/gui.py:462
-#: cyclograph/qt/ui_qt.py:439
+#: cyclograph/gtk_/gui.py:459 cyclograph/gtk3/gui.py:463
+#: qt4_ui/ui_qt_ts.py:383
msgid "Author:"
msgstr ""
-#: cyclograph/gtk_/gui.py:1413
-#: cyclograph/gtk3/gui.py:1379
-#: cyclograph/qt/ui_qt.py:677
+#: cyclograph/gtk_/gui.py:1470 cyclograph/gtk3/gui.py:1438
+#: qt4_ui/ui_qt_ts.py:603
msgid "Automatic"
msgstr ""
-#: cyclograph/cyclograph.py:724
-#: cyclograph/cyclograph.py:760
+#: cyclograph/cyclograph.py:741 cyclograph/cyclograph.py:777
msgid "Average gradient"
msgstr ""
-#: cyclograph/gtk_/gui.py:472
-#: cyclograph/gtk3/gui.py:470
-#: cyclograph/qt/ui_qt.py:441
-#: cyclograph/slope.py:219
+#: cyclograph/gtk_/gui.py:473 cyclograph/gtk3/gui.py:471
+#: cyclograph/slope.py:220 qt4_ui/ui_qt_ts.py:385
msgid "Average gradient:"
msgstr ""
-#: cyclograph/gtk_/gui.py:1456
-#: cyclograph/gtk_/gui.py:1482
-#: cyclograph/gtk3/gui.py:1422
-#: cyclograph/gtk3/gui.py:1448
+#: cyclograph/gtk_/gui.py:1513 cyclograph/gtk_/gui.py:1539
+#: cyclograph/gtk3/gui.py:1481 cyclograph/gtk3/gui.py:1507
msgid "Back"
msgstr ""
-#: cyclograph/qt/glal.py:319
-#: cyclograph/qt/gui.py:810
+#: cyclograph/qt/glal.py:319 cyclograph/qt/gui.py:835
msgid "Cancel"
msgstr ""
-#: cyclograph/cyclograph.py:183
-#: cyclograph/cyclograph.py:374
+#: cyclograph/gtk_/gui.py:809 cyclograph/gtk3/gui.py:804
+#: qt4_ui/ui_qt_ts.py:874
+msgid "Check online"
+msgstr ""
+
+#: cyclograph/cyclograph.py:187 cyclograph/cyclograph.py:381
msgid "Choose a file"
msgstr ""
-#: cyclograph/qt/gui.py:718
-#: cyclograph/gtk_/gui.py:1408
-#: cyclograph/gtk3/gui.py:1374
+#: cyclograph/qt/gui.py:743 cyclograph/gtk_/gui.py:1465
+#: cyclograph/gtk3/gui.py:1433
msgid "Choose the type of import you want"
msgstr ""
-#: cyclograph/qt/ui_qt.py:725
+#: qt4_ui/ui_qt_ts.py:641
msgid "Close"
msgstr ""
-#: cyclograph/qt/gui.py:809
-#: cyclograph/gtk_/gui.py:1601
-#: cyclograph/gtk3/gui.py:1567
+#: cyclograph/qt/gui.py:834 cyclograph/gtk_/gui.py:1658
+#: cyclograph/gtk3/gui.py:1626
msgid "Close without saving"
msgstr ""
-#: cyclograph/cyclograph.py:723
-#: cyclograph/cyclograph.py:759
+#: cyclograph/cyclograph.py:740 cyclograph/cyclograph.py:776
msgid "Country"
msgstr ""
-#: cyclograph/gtk_/gui.py:86
-#: cyclograph/gtk3/gui.py:87
-#: cyclograph/qt/ui_qt.py:335
+#: cyclograph/gtk_/gui.py:87 cyclograph/gtk3/gui.py:88 qt4_ui/ui_qt_ts.py:288
msgid "Create"
msgstr ""
-#: cyclograph/gtk_/gui.py:86
-#: cyclograph/gtk3/gui.py:88
+#: cyclograph/gtk_/gui.py:87 cyclograph/gtk3/gui.py:89
msgid "Create KML"
msgstr ""
-#: cyclograph/gtk_/gui.py:1142
-#: cyclograph/gtk3/gui.py:1101
-#: cyclograph/qt/ui_qt.py:70
+#: cyclograph/gtk_/gui.py:1198 cyclograph/gtk3/gui.py:1159
+#: qt4_ui/ui_qt_ts.py:83
msgid "Create Kml"
msgstr ""
-#: cyclograph/qt/ui_qt.py:339
-msgid "Ctrl+Alt+S"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:298
-msgid "Ctrl+I"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:315
-msgid "Ctrl+N"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:296
-msgid "Ctrl+O"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:302
-msgid "Ctrl+Q"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:300
-msgid "Ctrl+S"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:288
-msgid "Cyclograph"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:115
-#: cyclograph/gtk3/gui.py:115
-#: cyclograph/qt/ui_qt.py:324
+#: cyclograph/gtk_/gui.py:116 cyclograph/gtk3/gui.py:116
+#: qt4_ui/ui_qt_ts.py:280
msgid "Delete"
msgstr ""
-#: cyclograph/gtk_/gui.py:812
-#: cyclograph/gtk3/gui.py:807
-#: cyclograph/qt/ui_qt.py:960
+#: cyclograph/gtk_/gui.py:823 cyclograph/gtk3/gui.py:818
+#: qt4_ui/ui_qt_ts.py:876
msgid "Description"
msgstr ""
-#: cyclograph/gtk_/gui.py:331
-#: cyclograph/gtk3/gui.py:336
-#: cyclograph/qt/ui_qt.py:727
+#: cyclograph/gtk_/gui.py:332 cyclograph/gtk3/gui.py:337
+#: qt4_ui/ui_qt_ts.py:643
msgid "Distance [km]"
msgstr ""
-#: cyclograph/qt/gui.py:788
-#: cyclograph/gtk_/gui.py:1544
-#: cyclograph/gtk3/gui.py:1507
+#: cyclograph/qt/gui.py:813 cyclograph/gtk_/gui.py:1601
+#: cyclograph/gtk3/gui.py:1566
msgid "Distance and altitude are required."
msgstr ""
-#: cyclograph/gtk_/gui.py:386
-#: cyclograph/gtk3/gui.py:394
-#: cyclograph/qt/ui_qt.py:504
+#: cyclograph/gtk_/gui.py:387 cyclograph/gtk3/gui.py:395
+#: qt4_ui/ui_qt_ts.py:440
msgid "Distance:"
msgstr ""
-#: cyclograph/qt/glal.py:318
-#: cyclograph/gtk_/glal.py:356
+#: cyclograph/qt/glal.py:318 cyclograph/gtk_/glal.py:355
#: cyclograph/gtk3/glal.py:338
msgid "Downloading altitudes"
msgstr ""
-#: cyclograph/qt/gui.py:618
-#: cyclograph/gtk_/gui.py:1137
-#: cyclograph/gtk_/gui.py:1160
-#: cyclograph/gtk3/gui.py:1096
-#: cyclograph/gtk3/gui.py:1119
-#: cyclograph/qt/ui_qt.py:79
+#: cyclograph/qt/gui.py:643 cyclograph/gtk_/gui.py:1193
+#: cyclograph/gtk_/gui.py:1216 cyclograph/gtk3/gui.py:1154
+#: cyclograph/gtk3/gui.py:1177 qt4_ui/ui_qt_ts.py:92
msgid "Draw on the map"
msgstr ""
-#: cyclograph/cyclograph.py:730
-#: cyclograph/cyclograph.py:766
-#: cyclograph/gtk_/gui.py:913
-#: cyclograph/gtk3/gui.py:902
+#: cyclograph/cyclograph.py:747 cyclograph/cyclograph.py:783
+#: cyclograph/gtk_/gui.py:924 cyclograph/gtk3/gui.py:913
msgid "E-mail"
msgstr ""
-#: cyclograph/gtk_/gui.py:465
-#: cyclograph/gtk3/gui.py:466
-#: cyclograph/qt/ui_qt.py:440
-#: cyclograph/qt/ui_qt.py:969
+#: cyclograph/gtk_/gui.py:466 cyclograph/gtk3/gui.py:467
+#: qt4_ui/ui_qt_ts.py:384 qt4_ui/ui_qt_ts.py:885
msgid "E-mail:"
msgstr ""
-#: cyclograph/cyclograph.py:610
-#: cyclograph/gtk_/gui.py:111
-#: cyclograph/gtk3/gui.py:111
-#: cyclograph/qt/ui_qt.py:322
+#: cyclograph/cyclograph.py:610 cyclograph/gtk_/gui.py:112
+#: cyclograph/gtk3/gui.py:112 qt4_ui/ui_qt_ts.py:278
msgid "Edit"
msgstr ""
-#: cyclograph/gtk_/gui.py:113
-#: cyclograph/gtk3/gui.py:113
-#: cyclograph/qt/ui_qt.py:323
+#: cyclograph/gtk_/gui.py:114 cyclograph/gtk3/gui.py:114
+#: qt4_ui/ui_qt_ts.py:279
msgid "Edit a check-point"
msgstr ""
-#: cyclograph/cyclograph.py:287
+#: cyclograph/cyclograph.py:294
msgid "Error on loading slope"
msgstr ""
-#: cyclograph/cyclograph.py:335
+#: cyclograph/cyclograph.py:342
msgid "Error while loading data"
msgstr ""
-#: cyclograph/qt/ui_qt.py:290
+#: qt4_ui/ui_qt_ts.py:268
msgid "File"
msgstr ""
-#: cyclograph/cyclograph.py:383
+#: cyclograph/cyclograph.py:390
msgid "File saved"
msgstr ""
-#: cyclograph/gtk_/gui.py:1455
-#: cyclograph/gtk_/gui.py:1481
-#: cyclograph/gtk3/gui.py:1421
-#: cyclograph/gtk3/gui.py:1447
+#: cyclograph/gtk_/gui.py:1512 cyclograph/gtk_/gui.py:1538
+#: cyclograph/gtk3/gui.py:1480 cyclograph/gtk3/gui.py:1506
msgid "Finish"
msgstr ""
-#: cyclograph/qt/ui_qt.py:966
+#: qt4_ui/ui_qt_ts.py:882
msgid "Fonts"
msgstr ""
-#: cyclograph/qt/gui.py:787
-#: cyclograph/gtk_/gui.py:1545
-#: cyclograph/gtk3/gui.py:1506
+#: cyclograph/qt/gui.py:812 cyclograph/gtk_/gui.py:1602
+#: cyclograph/gtk3/gui.py:1565
msgid "Form incomplete"
msgstr ""
-#: cyclograph/qt/ui_qt.py:724
-msgid "Frame"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:959
+#: qt4_ui/ui_qt_ts.py:875
msgid "General"
msgstr ""
-#: cyclograph/gtk_/gui.py:824
-#: cyclograph/gtk3/gui.py:819
-#: cyclograph/qt/ui_qt.py:962
+#: cyclograph/gtk_/gui.py:835 cyclograph/gtk3/gui.py:830
+#: qt4_ui/ui_qt_ts.py:878
msgid "Gradient"
msgstr ""
-#: cyclograph/qt/ui_qt.py:967
+#: qt4_ui/ui_qt_ts.py:883
msgid "Gradient colors"
msgstr ""
-#: cyclograph/cyclograph.py:726
-#: cyclograph/cyclograph.py:762
+#: cyclograph/cyclograph.py:743 cyclograph/cyclograph.py:779
msgid "Height difference"
msgstr ""
-#: cyclograph/gtk_/gui.py:482
-#: cyclograph/gtk3/gui.py:474
-#: cyclograph/qt/ui_qt.py:443
-#: cyclograph/slope.py:221
+#: cyclograph/gtk_/gui.py:483 cyclograph/gtk3/gui.py:475
+#: cyclograph/slope.py:222 qt4_ui/ui_qt_ts.py:387
msgid "Height difference:"
msgstr ""
-#: cyclograph/cyclograph.py:727
-#: cyclograph/cyclograph.py:763
-#: cyclograph/slope.py:222
+#: cyclograph/cyclograph.py:744 cyclograph/cyclograph.py:780
+#: cyclograph/slope.py:223
msgid "Height gain"
msgstr ""
-#: cyclograph/gtk_/gui.py:487
-#: cyclograph/gtk3/gui.py:476
-#: cyclograph/qt/ui_qt.py:444
+#: cyclograph/gtk_/gui.py:488 cyclograph/gtk3/gui.py:477
+#: qt4_ui/ui_qt_ts.py:388
msgid "Height gain:"
msgstr ""
-#: cyclograph/gtk_/gui.py:1594
-#: cyclograph/gtk3/gui.py:1560
+#: cyclograph/gtk_/gui.py:1651 cyclograph/gtk3/gui.py:1619
msgid "If you don't save, all your changes will be permanently lost."
msgstr ""
-#: cyclograph/gtk_/gui.py:131
-#: cyclograph/gtk3/gui.py:131
-#: cyclograph/qt/ui_qt.py:329
+#: cyclograph/gtk_/gui.py:132 cyclograph/gtk3/gui.py:132
+#: qt4_ui/ui_qt_ts.py:284
msgid "Info"
msgstr ""
-#: cyclograph/gtk_/gui.py:132
-#: cyclograph/gtk3/gui.py:132
-#: cyclograph/qt/ui_qt.py:330
+#: cyclograph/gtk_/gui.py:133 cyclograph/gtk3/gui.py:133
+#: qt4_ui/ui_qt_ts.py:285
msgid "Informations about the slope"
msgstr ""
-#: cyclograph/gtk_/gui.py:784
-#: cyclograph/gtk3/gui.py:779
-#: cyclograph/qt/ui_qt.py:954
+#: cyclograph/gtk_/gui.py:785 cyclograph/gtk3/gui.py:780
+#: qt4_ui/ui_qt_ts.py:871
msgid "Kml server"
msgstr ""
-#: cyclograph/qt/gui.py:610
-#: cyclograph/gtk_/gui.py:127
-#: cyclograph/gtk_/gui.py:1110
-#: cyclograph/gtk3/gui.py:127
-#: cyclograph/gtk3/gui.py:1067
-#: cyclograph/qt/ui_qt.py:341
-#: cyclograph/qt/ui_qt.py:342
+#: cyclograph/gtk_/gui.py:804 cyclograph/gtk3/gui.py:799
+#: qt4_ui/ui_qt_ts.py:873
+msgid "Latest version"
+msgstr ""
+
+#: cyclograph/qt/gui.py:614 cyclograph/gtk_/gui.py:128
+#: cyclograph/gtk_/gui.py:1123 cyclograph/gtk3/gui.py:128
+#: cyclograph/gtk3/gui.py:1080 qt4_ui/ui_qt_ts.py:293 qt4_ui/ui_qt_ts.py:294
msgid "Map"
msgstr ""
-#: cyclograph/cyclograph.py:725
-#: cyclograph/cyclograph.py:761
+#: cyclograph/cyclograph.py:742 cyclograph/cyclograph.py:778
msgid "Max gradient"
msgstr ""
-#: cyclograph/gtk_/gui.py:477
-#: cyclograph/gtk3/gui.py:472
-#: cyclograph/qt/ui_qt.py:442
-#: cyclograph/slope.py:220
+#: cyclograph/gtk_/gui.py:478 cyclograph/gtk3/gui.py:473
+#: cyclograph/slope.py:221 qt4_ui/ui_qt_ts.py:386
msgid "Max gradient:"
msgstr ""
-#: cyclograph/qt/ui_qt.py:71
+#: qt4_ui/ui_qt_ts.py:84
msgid "Mode"
msgstr ""
-#: cyclograph/gtk_/gui.py:1170
-#: cyclograph/gtk3/gui.py:1130
+#: cyclograph/gtk_/gui.py:1226 cyclograph/gtk3/gui.py:1188
msgid "Modes"
msgstr ""
-#: cyclograph/cyclograph.py:722
-#: cyclograph/cyclograph.py:729
-#: cyclograph/cyclograph.py:758
-#: cyclograph/cyclograph.py:765
-#: cyclograph/gtk_/gui.py:341
-#: cyclograph/gtk_/gui.py:903
-#: cyclograph/gtk3/gui.py:346
-#: cyclograph/gtk3/gui.py:892
-#: cyclograph/qt/ui_qt.py:731
+#: cyclograph/cyclograph.py:739 cyclograph/cyclograph.py:746
+#: cyclograph/cyclograph.py:775 cyclograph/cyclograph.py:782
+#: cyclograph/gtk_/gui.py:342 cyclograph/gtk_/gui.py:914
+#: cyclograph/gtk3/gui.py:347 cyclograph/gtk3/gui.py:903
+#: qt4_ui/ui_qt_ts.py:647
msgid "Name"
msgstr ""
-#: cyclograph/gtk_/gui.py:388
-#: cyclograph/gtk_/gui.py:444
-#: cyclograph/gtk3/gui.py:396
-#: cyclograph/gtk3/gui.py:454
-#: cyclograph/qt/ui_qt.py:436
-#: cyclograph/qt/ui_qt.py:505
-#: cyclograph/qt/ui_qt.py:968
+#: cyclograph/gtk_/gui.py:389 cyclograph/gtk_/gui.py:445
+#: cyclograph/gtk3/gui.py:397 cyclograph/gtk3/gui.py:455
+#: qt4_ui/ui_qt_ts.py:380 qt4_ui/ui_qt_ts.py:441 qt4_ui/ui_qt_ts.py:884
msgid "Name:"
msgstr ""
-#: cyclograph/cyclograph.py:268
+#: cyclograph/cyclograph.py:275
msgid "Network error : unable to create an handler to download kml route."
msgstr ""
-#: cyclograph/gtk_/gui.py:84
-#: cyclograph/gtk3/gui.py:83
+#: cyclograph/gtk_/gui.py:85 cyclograph/gtk3/gui.py:84
msgid "New"
msgstr ""
-#: cyclograph/gtk_/gui.py:84
-#: cyclograph/gtk3/gui.py:84
+#: cyclograph/gtk_/gui.py:85 cyclograph/gtk3/gui.py:85
msgid "New Slope"
msgstr ""
-#: cyclograph/gtk_/gui.py:1432
-#: cyclograph/gtk3/gui.py:1398
-#: cyclograph/qt/ui_qt.py:681
+#: cyclograph/gtk_/gui.py:1489 cyclograph/gtk3/gui.py:1457
+#: qt4_ui/ui_qt_ts.py:607
msgid "Next"
msgstr ""
-#: cyclograph/qt/gui.py:793
-#: cyclograph/gtk_/gui.py:1554
-#: cyclograph/gtk3/gui.py:1515
+#: cyclograph/qt/gui.py:818 cyclograph/gtk_/gui.py:1611
+#: cyclograph/gtk3/gui.py:1574
msgid "No coordinates"
msgstr ""
-#: cyclograph/qt/gui.py:781
-#: cyclograph/gtk_/gui.py:1536
-#: cyclograph/gtk3/gui.py:1497
+#: cyclograph/qt/gui.py:806 cyclograph/gtk_/gui.py:1593
+#: cyclograph/gtk3/gui.py:1556
msgid "No route"
msgstr ""
-#: cyclograph/qt/gui.py:800
-#: cyclograph/gtk_/gui.py:1564
-#: cyclograph/gtk3/gui.py:1524
+#: cyclograph/qt/gui.py:825 cyclograph/gtk_/gui.py:1621
+#: cyclograph/gtk3/gui.py:1583
msgid "Not enough check points"
msgstr ""
-#: cyclograph/cyclograph.py:768
-#: cyclograph/gtk_/gui.py:500
-#: cyclograph/gtk3/gui.py:479
+#: cyclograph/cyclograph.py:785 cyclograph/gtk_/gui.py:501
+#: cyclograph/gtk3/gui.py:480
msgid "Note"
msgstr ""
-#: cyclograph/qt/ui_qt.py:438
+#: qt4_ui/ui_qt_ts.py:382
msgid "Note:"
msgstr ""
-#: cyclograph/qt/gui.py:617
-#: cyclograph/gtk_/gui.py:1136
-#: cyclograph/gtk_/gui.py:1159
-#: cyclograph/gtk3/gui.py:1095
-#: cyclograph/gtk3/gui.py:1118
-#: cyclograph/qt/ui_qt.py:77
+#: cyclograph/qt/gui.py:642 cyclograph/gtk_/gui.py:1192
+#: cyclograph/gtk_/gui.py:1215 cyclograph/gtk3/gui.py:1153
+#: cyclograph/gtk3/gui.py:1176 qt4_ui/ui_qt_ts.py:90
msgid "OSRM"
msgstr ""
-#: cyclograph/cyclograph.py:237
+#: cyclograph/cyclograph.py:244
msgid "Old file format: please save it again."
msgstr ""
-#: cyclograph/gtk_/gui.py:85
-#: cyclograph/gtk3/gui.py:85
+#: cyclograph/gtk_/gui.py:86 cyclograph/gtk3/gui.py:86
msgid "Open"
msgstr ""
-#: cyclograph/qt/gui.py:616
-#: cyclograph/gtk_/gui.py:1135
-#: cyclograph/gtk_/gui.py:1158
-#: cyclograph/gtk3/gui.py:1094
-#: cyclograph/gtk3/gui.py:1117
-#: cyclograph/qt/ui_qt.py:75
+#: cyclograph/qt/gui.py:641 cyclograph/gtk_/gui.py:1191
+#: cyclograph/gtk_/gui.py:1214 cyclograph/gtk3/gui.py:1152
+#: cyclograph/gtk3/gui.py:1175 qt4_ui/ui_qt_ts.py:88
msgid "Open Route Service"
msgstr ""
-#: cyclograph/gtk_/gui.py:85
-#: cyclograph/gtk3/gui.py:86
+#: cyclograph/gtk_/gui.py:86 cyclograph/gtk3/gui.py:87
msgid "Open Slope"
msgstr ""
-#: cyclograph/qt/ui_qt.py:292
+#: qt4_ui/ui_qt_ts.py:269
msgid "Options"
msgstr ""
-#: cyclograph/gtk_/gui.py:741
-#: cyclograph/gtk3/gui.py:560
-#: cyclograph/gtk3/gui.py:736
-#: cyclograph/qt/ui_qt.py:946
+#: cyclograph/gtk_/gui.py:742 cyclograph/gtk3/gui.py:561
+#: cyclograph/gtk3/gui.py:737 qt4_ui/ui_qt_ts.py:867
msgid "Orizzontal lines"
msgstr ""
-#: cyclograph/gtk_/glal.py:357
-#: cyclograph/gtk3/glal.py:339
+#: cyclograph/gtk_/glal.py:356 cyclograph/gtk3/glal.py:339
msgid "Please wait, Cycograph is downloading altitudes."
msgstr ""
-#: cyclograph/gtk_/gui.py:123
-#: cyclograph/gtk3/gui.py:123
-#: cyclograph/qt/ui_qt.py:327
+#: cyclograph/gtk_/gui.py:124 cyclograph/gtk3/gui.py:124
+#: qt4_ui/ui_qt_ts.py:282
msgid "Plot"
msgstr ""
-#: cyclograph/gtk_/gui.py:124
-#: cyclograph/gtk3/gui.py:124
-#: cyclograph/qt/ui_qt.py:328
+#: cyclograph/gtk_/gui.py:125 cyclograph/gtk3/gui.py:125
+#: qt4_ui/ui_qt_ts.py:283
msgid "Plot your slope"
msgstr ""
-#: cyclograph/gtk_/gui.py:715
-#: cyclograph/gtk3/gui.py:708
-#: cyclograph/qt/ui_qt.py:944
+#: cyclograph/gtk_/gui.py:716 cyclograph/gtk3/gui.py:709
+#: qt4_ui/ui_qt_ts.py:865
msgid "Preferences"
msgstr ""
-#: cyclograph/qt/ui_qt.py:320
+#: qt4_ui/ui_qt_ts.py:277
msgid "Press + on the keyboard to add a check-point"
msgstr ""
-#: cyclograph/qt/ui_qt.py:325
+#: qt4_ui/ui_qt_ts.py:281
msgid "Press - on the keyboard to remove the selected check-point"
msgstr ""
-#: cyclograph/gtk_/gui.py:117
-#: cyclograph/gtk3/gui.py:117
+#: cyclograph/gtk_/gui.py:118 cyclograph/gtk3/gui.py:118
msgid "Remove a check-point"
msgstr ""
-#: cyclograph/gtk_/gui.py:751
-#: cyclograph/gtk3/gui.py:746
-#: cyclograph/qt/ui_qt.py:948
+#: cyclograph/gtk_/gui.py:752 cyclograph/gtk3/gui.py:747
+#: qt4_ui/ui_qt_ts.py:869
msgid "Resolution"
msgstr ""
-#: cyclograph/gtk_/gui.py:930
-#: cyclograph/gtk3/gui.py:919
+#: cyclograph/gtk_/gui.py:941 cyclograph/gtk3/gui.py:930
msgid "Restore Default"
msgstr ""
-#: cyclograph/qt/gui.py:434
-#: cyclograph/qt/gui.py:808
-#: cyclograph/gtk_/gui.py:87
-#: cyclograph/gtk3/gui.py:89
+#: cyclograph/qt/gui.py:437 cyclograph/qt/gui.py:833 cyclograph/gtk_/gui.py:88
+#: cyclograph/gtk3/gui.py:90
msgid "Save"
msgstr ""
-#: cyclograph/qt/ui_qt.py:337
+#: qt4_ui/ui_qt_ts.py:290
msgid "Save &As"
msgstr ""
-#: cyclograph/qt/gui.py:438
+#: cyclograph/qt/gui.py:441
msgid "Save PDF"
msgstr ""
-#: cyclograph/gtk_/gui.py:87
-#: cyclograph/gtk3/gui.py:90
+#: cyclograph/gtk_/gui.py:88 cyclograph/gtk3/gui.py:91
msgid "Save Slope"
msgstr ""
-#: cyclograph/gtk_/gui.py:564
-#: cyclograph/gtk3/gui.py:556
+#: cyclograph/gtk_/gui.py:565 cyclograph/gtk3/gui.py:557
msgid "Save _PDF"
msgstr ""
-#: cyclograph/gtk_/gui.py:566
-#: cyclograph/gtk3/gui.py:558
+#: cyclograph/gtk_/gui.py:567 cyclograph/gtk3/gui.py:559
msgid "Save _html"
msgstr ""
-#: cyclograph/cyclograph.py:355
-#: cyclograph/qt/ui_qt.py:338
+#: cyclograph/cyclograph.py:362 qt4_ui/ui_qt_ts.py:291
msgid "Save as"
msgstr ""
-#: cyclograph/qt/gui.py:813
-#: cyclograph/gtk_/gui.py:1598
-#: cyclograph/gtk3/gui.py:1564
+#: cyclograph/qt/gui.py:838 cyclograph/gtk_/gui.py:1655
+#: cyclograph/gtk3/gui.py:1623
msgid "Save changes"
msgstr ""
-#: cyclograph/qt/gui.py:812
-#: cyclograph/gtk_/gui.py:1593
-#: cyclograph/gtk3/gui.py:1559
+#: cyclograph/qt/gui.py:837 cyclograph/gtk_/gui.py:1650
+#: cyclograph/gtk3/gui.py:1618
#, python-format
msgid "Save changes to %s before closing?"
msgstr ""
-#: cyclograph/qt/gui.py:439
+#: cyclograph/qt/gui.py:442
msgid "Save html"
msgstr ""
-#: cyclograph/cyclograph.py:688
+#: cyclograph/cyclograph.py:687
+msgid "Save map"
+msgstr ""
+
+#: cyclograph/cyclograph.py:705
msgid "Save plot"
msgstr ""
-#: cyclograph/cyclograph.py:744
+#: cyclograph/cyclograph.py:761
msgid "Save plot to html"
msgstr ""
-#: cyclograph/cyclograph.py:711
+#: cyclograph/cyclograph.py:728
msgid "Save plot to pdf"
msgstr ""
-#: cyclograph/gtk_/gui.py:601
-#: cyclograph/gtk3/gui.py:593
+#: cyclograph/gtk_/gui.py:602 cyclograph/gtk3/gui.py:594
msgid "Saving _resolution"
msgstr ""
-#: cyclograph/gtk_/gui.py:1027
-#: cyclograph/gtk3/gui.py:1007
+#: cyclograph/gtk_/gui.py:1039 cyclograph/gtk3/gui.py:1019
msgid "Select Font"
msgstr ""
-#: cyclograph/gtk_/gui.py:1059
+#: cyclograph/gtk_/gui.py:1071
msgid "Select color"
msgstr ""
-#: cyclograph/gtk_/gui.py:1422
-#: cyclograph/gtk3/gui.py:1388
-#: cyclograph/qt/ui_qt.py:678
+#: cyclograph/gtk_/gui.py:1479 cyclograph/gtk3/gui.py:1447
+#: qt4_ui/ui_qt_ts.py:604
msgid "Select the distance rate"
msgstr ""
-#: cyclograph/gtk_/gui.py:1418
-#: cyclograph/gtk3/gui.py:1384
-#: cyclograph/qt/ui_qt.py:679
+#: cyclograph/gtk_/gui.py:1475 cyclograph/gtk3/gui.py:1443
+#: qt4_ui/ui_qt_ts.py:605
msgid "Select the number of checkpoints"
msgstr ""
-#: cyclograph/gtk_/gui.py:747
-#: cyclograph/gtk3/gui.py:742
-#: cyclograph/qt/ui_qt.py:958
+#: cyclograph/gtk_/gui.py:748 cyclograph/gtk3/gui.py:743
+#: qt4_ui/ui_qt_ts.py:872
msgid "Show info"
msgstr ""
-#: cyclograph/gtk_/gui.py:128
-#: cyclograph/gtk3/gui.py:128
-#: cyclograph/qt/ui_qt.py:343
+#: cyclograph/gtk_/gui.py:129 cyclograph/gtk3/gui.py:129
+#: qt4_ui/ui_qt_ts.py:295
msgid "Show the map of your slope"
msgstr ""
-#: cyclograph/gtk_/gui.py:240
-#: cyclograph/gtk3/gui.py:242
-#: cyclograph/qt/ui_qt.py:332
+#: cyclograph/gtk_/gui.py:241 cyclograph/gtk3/gui.py:243
+#: qt4_ui/ui_qt_ts.py:286
msgid "Signal a bug"
msgstr ""
-#: cyclograph/cyclograph.py:721
-#: cyclograph/cyclograph.py:757
+#: cyclograph/cyclograph.py:738 cyclograph/cyclograph.py:774
msgid "Slope"
msgstr ""
-#: cyclograph/gtk_/gui.py:429
-#: cyclograph/gtk3/gui.py:436
-#: cyclograph/qt/ui_qt.py:435
+#: cyclograph/gtk_/gui.py:430 cyclograph/gtk3/gui.py:437
+#: qt4_ui/ui_qt_ts.py:379
msgid "Slope Info"
msgstr ""
-#: cyclograph/qt/gui.py:781
-#: cyclograph/gtk_/gui.py:1535
-#: cyclograph/gtk3/gui.py:1498
+#: cyclograph/qt/gui.py:806 cyclograph/gtk_/gui.py:1592
+#: cyclograph/gtk3/gui.py:1557
msgid "Specify one route first."
msgstr ""
-#: cyclograph/gtk_/gui.py:451
-#: cyclograph/gtk3/gui.py:458
-#: cyclograph/qt/ui_qt.py:437
+#: cyclograph/gtk_/gui.py:452 cyclograph/gtk3/gui.py:459
+#: qt4_ui/ui_qt_ts.py:381
msgid "State:"
msgstr ""
-#: cyclograph/qt/ui_qt.py:289
-msgid "Tab 1"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:676
-#: cyclograph/qt/ui_qt.py:683
-msgid "TextLabel"
-msgstr ""
-
-#: cyclograph/qt/gui.py:715
-#: cyclograph/gtk_/gui.py:1443
-#: cyclograph/gtk3/gui.py:1409
+#: cyclograph/qt/gui.py:740 cyclograph/gtk_/gui.py:1500
+#: cyclograph/gtk3/gui.py:1468
#, python-format
msgid ""
"The %s file contains %d points.\n"
"Choose how many will be imported."
msgstr ""
-#: cyclograph/qt/gui.py:717
-#: cyclograph/gtk_/gui.py:1469
-#: cyclograph/gtk3/gui.py:1435
+#: cyclograph/qt/gui.py:742 cyclograph/gtk_/gui.py:1526
+#: cyclograph/gtk3/gui.py:1494
#, python-format
msgid ""
"The %s file contains a route of %d Km.\n"
"Choose what range you want between points."
msgstr ""
-#: cyclograph/gtk_/gui.py:770
-#: cyclograph/gtk3/gui.py:765
-#: cyclograph/qt/ui_qt.py:953
+#: cyclograph/gtk_/gui.py:771 cyclograph/gtk3/gui.py:766
+#: qt4_ui/ui_qt_ts.py:870
msgid "Theme"
msgstr ""
-#: cyclograph/qt/gui.py:801
-#: cyclograph/gtk_/gui.py:1562
-#: cyclograph/gtk3/gui.py:1525
+#: cyclograph/qt/gui.py:826 cyclograph/gtk_/gui.py:1619
+#: cyclograph/gtk3/gui.py:1584
msgid ""
"There aren't enougth check points to plot.\n"
" At least two points are required to plot."
msgstr ""
-#: cyclograph/gtk_/gui.py:836
-#: cyclograph/gtk3/gui.py:831
-#: cyclograph/qt/ui_qt.py:964
+#: cyclograph/gtk_/gui.py:847 cyclograph/gtk3/gui.py:842
+#: qt4_ui/ui_qt_ts.py:880
msgid "Title"
msgstr ""
-#: cyclograph/cyclograph.py:231
+#: cyclograph/cyclograph.py:238
msgid "Unable to open file"
msgstr ""
-#: cyclograph/gtk_/gui.py:1426
-#: cyclograph/gtk3/gui.py:1392
-#: cyclograph/qt/ui_qt.py:680
+#: cyclograph/gtk_/gui.py:1483 cyclograph/gtk3/gui.py:1451
+#: qt4_ui/ui_qt_ts.py:606
msgid "Use every point (discouraged)"
msgstr ""
-#: cyclograph/gtk_/gui.py:736
-#: cyclograph/gtk3/gui.py:731
-#: cyclograph/qt/ui_qt.py:945
+#: cyclograph/gtk_/gui.py:737 cyclograph/gtk3/gui.py:732
+#: qt4_ui/ui_qt_ts.py:866
msgid "Visualization"
msgstr ""
-#: cyclograph/gtk_/gui.py:158
-#: cyclograph/gtk3/gui.py:158
+#: cyclograph/gtk_/gui.py:159 cyclograph/gtk3/gui.py:159
msgid "_File"
msgstr ""
-#: cyclograph/gtk_/gui.py:207
-#: cyclograph/gtk_/gui.py:553
-#: cyclograph/gtk3/gui.py:206
-#: cyclograph/gtk3/gui.py:548
+#: cyclograph/gtk_/gui.py:208 cyclograph/gtk_/gui.py:554
+#: cyclograph/gtk3/gui.py:207 cyclograph/gtk3/gui.py:549
msgid "_Options"
msgstr ""
-#: cyclograph/gtk_/gui.py:568
+#: cyclograph/gtk_/gui.py:569
msgid "_Orizzontal lines"
msgstr ""
-#: cyclograph/gtk_/gui.py:576
-#: cyclograph/gtk3/gui.py:568
+#: cyclograph/gtk_/gui.py:577 cyclograph/gtk3/gui.py:569
msgid "_Theme"
msgstr ""
-#: cyclograph/gtk_/gui.py:215
-#: cyclograph/gtk3/gui.py:216
-#: cyclograph/qt/ui_qt.py:312
-#: cyclograph/qt/ui_qt.py:956
-msgid "earthtools.org"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:961
-#: cyclograph/qt/ui_qt.py:963
-#: cyclograph/qt/ui_qt.py:965
+#: qt4_ui/ui_qt_ts.py:877 qt4_ui/ui_qt_ts.py:879 qt4_ui/ui_qt_ts.py:881
msgid "font | dim"
msgstr ""
-#: cyclograph/gtk_/gui.py:214
-#: cyclograph/gtk3/gui.py:214
-#: cyclograph/qt/ui_qt.py:311
-#: cyclograph/qt/ui_qt.py:955
-msgid "geonames.org"
-msgstr ""
-
-#: cyclograph/cyclograph.py:252
+#: cyclograph/cyclograph.py:259
msgid "kml name"
msgstr ""
-#: cyclograph/qt/ui_qt.py:540
+#: qt4_ui/ui_qt_ts.py:472
msgid "map"
msgstr ""
-#: cyclograph/qt/ui_qt.py:682
-msgid "message"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:1394
-#: cyclograph/gtk3/gui.py:1360
-#: cyclograph/qt/ui_qt.py:675
+#: cyclograph/gtk_/gui.py:1451 cyclograph/gtk3/gui.py:1419
+#: qt4_ui/ui_qt_ts.py:602
msgid "number of checkpoints"
msgstr ""
-#: cyclograph/cyclograph.py:146
+#: cyclograph/cyclograph.py:149
msgid "old cofiguration issue."
msgstr ""
-#: cyclograph/cyclograph.py:165
-#: cyclograph/cyclograph.py:514
-#: cyclograph/cyclograph.py:523
+#: cyclograph/cyclograph.py:168 cyclograph/cyclograph.py:523
+#: cyclograph/cyclograph.py:532
msgid "slope"
msgstr ""
-#: cyclograph/cyclograph.py:293
+#: cyclograph/cyclograph.py:300
#, python-format
msgid "slope %d"
msgstr ""
-#: cyclograph/qt/gui.py:794
-#: cyclograph/gtk_/gui.py:1553
-#: cyclograph/gtk3/gui.py:1516
+#: cyclograph/qt/gui.py:819 cyclograph/gtk_/gui.py:1610
+#: cyclograph/gtk3/gui.py:1575
msgid "there aren't coordinates associated with this slope."
msgstr ""
-#: cyclograph/qt/ui_qt.py:294
-msgid "toolbar"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:216
-#: cyclograph/gtk3/gui.py:218
-#: cyclograph/qt/ui_qt.py:313
-#: cyclograph/qt/ui_qt.py:957
-msgid "usgs.net"
-msgstr ""
-
#~ msgid "Add cp"
#~ msgstr "Add"
Binary files /tmp/KQ4ltv67VX/cyclograph-1.6.0/po/it/LC_MESSAGES/cyclograph.mo and /tmp/j4JKOn9qir/cyclograph-1.6.1/po/it/LC_MESSAGES/cyclograph.mo differ
diff -Nru cyclograph-1.6.0/po/it/LC_MESSAGES/cyclograph.po cyclograph-1.6.1/po/it/LC_MESSAGES/cyclograph.po
--- cyclograph-1.6.0/po/it/LC_MESSAGES/cyclograph.po 2013-03-03 11:24:38.000000000 +0000
+++ cyclograph-1.6.1/po/it/LC_MESSAGES/cyclograph.po 2013-09-20 19:36:28.000000000 +0000
@@ -1,825 +1,598 @@
# Cyclograph.
-# Copyright (C) 2010 agron85
+# Copyright (C) 2010 Pierluigi Villani
# This file is distributed under the same license as the Cyclograph package.
#
-# agron85 , 2010, 2011, 2012.
+# Pierluigi Villani , 2010, 2011, 2012, 2013.
# Federico Brega , 2010, 2011.
msgid ""
msgstr ""
"Project-Id-Version: Cyclograph\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-21 21:52+0100\n"
-"PO-Revision-Date: 2013-02-21 21:53+0100\n"
-"Last-Translator: agron85 \n"
+"POT-Creation-Date: 2013-09-18 23:12+0200\n"
+"PO-Revision-Date: 2013-09-18 23:14+0100\n"
+"Last-Translator: Pierluigi Villani \n"
"Language-Team: Italian \n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Italian\n"
-"X-Generator: Lokalize 1.0\n"
+"X-Generator: Poedit 1.5.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: cyclograph/qt/ui_qt.py:336
+#: qt4_ui/ui_qt_ts.py:289
msgid " Create Kml"
msgstr " Crea Kml"
-#: cyclograph/qt/ui_qt.py:334
+#: qt4_ui/ui_qt_ts.py:287
msgid "&Create Kml"
msgstr "&Crea Kml"
-#: cyclograph/qt/ui_qt.py:333
-msgid "&Delete configuration file"
-msgstr "&Cancella i file di configurazione"
-
-#: cyclograph/qt/ui_qt.py:316
-msgid "&Description"
-msgstr "&Descrizione"
-
-#: cyclograph/qt/ui_qt.py:317
-msgid "&Gradient"
-msgstr "&Pendenza"
-
-#: cyclograph/qt/ui_qt.py:297
-msgid "&Import KML"
-msgstr "&Importa KML"
-
-#: cyclograph/qt/ui_qt.py:293
+#: qt4_ui/ui_qt_ts.py:270
msgid "&Kml server"
msgstr "&Server KML"
-#: cyclograph/qt/ui_qt.py:314
+#: qt4_ui/ui_qt_ts.py:275
msgid "&New"
msgstr "&Nuovo"
-#: cyclograph/qt/ui_qt.py:295
+#: qt4_ui/ui_qt_ts.py:271
msgid "&Open"
msgstr "&Apri"
-#: cyclograph/qt/gui.py:462
+#: cyclograph/qt/gui.py:465
msgid "&Options"
msgstr "&Opzioni"
-#: cyclograph/qt/gui.py:443
-#: cyclograph/qt/ui_qt.py:304
+#: cyclograph/qt/gui.py:446
msgid "&Orizzontal lines"
msgstr "&Linee orizzontali"
-#: cyclograph/qt/ui_qt.py:340
+#: qt4_ui/ui_qt_ts.py:292
msgid "&Preferences"
msgstr "&Preferenze"
-#: cyclograph/qt/ui_qt.py:301
+#: qt4_ui/ui_qt_ts.py:273
msgid "&Quit"
msgstr "&Esci"
-#: cyclograph/qt/ui_qt.py:299
+#: qt4_ui/ui_qt_ts.py:272
msgid "&Save"
msgstr "&Salva"
-#: cyclograph/qt/ui_qt.py:306
-msgid "&Save preferences"
-msgstr "&Salva preferenze"
-
-#: cyclograph/qt/gui.py:474
+#: cyclograph/qt/gui.py:477
msgid "&Saving resolution"
msgstr "&Risoluzione del salvataggio"
-#: cyclograph/qt/ui_qt.py:305
-msgid "&Slope colors..."
-msgstr "&Colori salita"
-
-#: cyclograph/qt/gui.py:469
+#: cyclograph/qt/gui.py:472
msgid "&Theme"
msgstr "&Temi"
-#: cyclograph/qt/ui_qt.py:318
-msgid "&Title"
-msgstr "&Titolo"
-
-#: cyclograph/qt/ui_qt.py:307
-msgid "&Use default preferences"
-msgstr "&Usa le preferenze di default"
-
-#: cyclograph/qt/ui_qt.py:321
-msgid "+"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:326
-msgid "-"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:950
-msgid "1024 x 768"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:605
-#: cyclograph/gtk3/gui.py:597
-#: cyclograph/qt/ui_qt.py:309
-msgid "1024x768"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:951
-msgid "1280 x 800"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:606
-#: cyclograph/gtk3/gui.py:598
-#: cyclograph/qt/ui_qt.py:310
-msgid "1280x800"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:952
-msgid "1600 x 1200"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:607
-#: cyclograph/gtk3/gui.py:599
-msgid "1600x1200"
-msgstr ""
-
-#: cyclograph/qt/gui.py:447
-#: cyclograph/qt/ui_qt.py:331
-#, fuzzy
+#: cyclograph/qt/gui.py:450
msgid "3D &effect"
msgstr "&Effetto 3d"
-#: cyclograph/gtk_/gui.py:571
+#: cyclograph/gtk_/gui.py:572
msgid "3D _effect"
msgstr "_Effetto 3d"
-#: cyclograph/gtk_/gui.py:744
-#: cyclograph/gtk3/gui.py:563
-#: cyclograph/gtk3/gui.py:739
-#: cyclograph/qt/ui_qt.py:947
+#: cyclograph/gtk_/gui.py:745 cyclograph/gtk3/gui.py:564
+#: cyclograph/gtk3/gui.py:740 qt4_ui/ui_qt_ts.py:868
msgid "3D effect"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:949
-msgid "800 x 600"
-msgstr ""
+msgstr "Effetto 3D"
-#: cyclograph/gtk_/gui.py:604
-#: cyclograph/gtk3/gui.py:596
-#: cyclograph/qt/ui_qt.py:308
-msgid "800x600"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:233
-#: cyclograph/gtk3/gui.py:235
-#: cyclograph/qt/ui_qt.py:291
-msgid "?"
-msgstr ""
-
-#: cyclograph/cyclograph.py:119
+#: cyclograph/cyclograph.py:121
msgid "A new version of CycloGraph is out!"
msgstr "é uscita una nuova versione di CycloGraph!"
-#: cyclograph/qt/ui_qt.py:303
+#: qt4_ui/ui_qt_ts.py:274
msgid "About"
msgstr "&Informazioni"
-#: cyclograph/cyclograph.py:588
-#: cyclograph/gtk_/gui.py:104
-#: cyclograph/gtk3/gui.py:104
-#: cyclograph/qt/ui_qt.py:319
+#: cyclograph/cyclograph.py:588 cyclograph/gtk_/gui.py:105
+#: cyclograph/gtk3/gui.py:105 qt4_ui/ui_qt_ts.py:276
msgid "Add"
msgstr "Aggiungi"
-#: cyclograph/gtk_/gui.py:106
-#: cyclograph/gtk3/gui.py:106
+#: cyclograph/gtk_/gui.py:107 cyclograph/gtk3/gui.py:107
msgid "Add a check-point"
msgstr "Aggiungi un punto"
-#: cyclograph/gtk_/gui.py:336
-#: cyclograph/gtk3/gui.py:341
-#: cyclograph/qt/ui_qt.py:729
+#: cyclograph/gtk_/gui.py:337 cyclograph/gtk3/gui.py:342
+#: qt4_ui/ui_qt_ts.py:645
msgid "Altitude [m]"
msgstr "Altezza [m]"
-#: cyclograph/gtk_/gui.py:387
-#: cyclograph/gtk3/gui.py:395
-#: cyclograph/qt/ui_qt.py:506
+#: cyclograph/gtk_/gui.py:388 cyclograph/gtk3/gui.py:396
+#: qt4_ui/ui_qt_ts.py:442
msgid "Altitude:"
msgstr "Altezza:"
-#: cyclograph/cyclograph.py:728
-#: cyclograph/cyclograph.py:764
-#: cyclograph/qt/ui_qt.py:970
+#: cyclograph/cyclograph.py:745 cyclograph/cyclograph.py:781
+#: qt4_ui/ui_qt_ts.py:886
msgid "Author"
msgstr "Autore"
-#: cyclograph/gtk_/gui.py:458
-#: cyclograph/gtk3/gui.py:462
-#: cyclograph/qt/ui_qt.py:439
+#: cyclograph/gtk_/gui.py:459 cyclograph/gtk3/gui.py:463
+#: qt4_ui/ui_qt_ts.py:383
msgid "Author:"
msgstr "Autore:"
-#: cyclograph/gtk_/gui.py:1413
-#: cyclograph/gtk3/gui.py:1379
-#: cyclograph/qt/ui_qt.py:677
+#: cyclograph/gtk_/gui.py:1470 cyclograph/gtk3/gui.py:1438
+#: qt4_ui/ui_qt_ts.py:603
msgid "Automatic"
msgstr "Automatica"
-#: cyclograph/cyclograph.py:724
-#: cyclograph/cyclograph.py:760
+#: cyclograph/cyclograph.py:741 cyclograph/cyclograph.py:777
msgid "Average gradient"
msgstr "Pendenza media"
-#: cyclograph/gtk_/gui.py:472
-#: cyclograph/gtk3/gui.py:470
-#: cyclograph/qt/ui_qt.py:441
-#: cyclograph/slope.py:219
+#: cyclograph/gtk_/gui.py:473 cyclograph/gtk3/gui.py:471
+#: cyclograph/slope.py:220 qt4_ui/ui_qt_ts.py:385
msgid "Average gradient:"
msgstr "Pendenza media:"
-#: cyclograph/gtk_/gui.py:1456
-#: cyclograph/gtk_/gui.py:1482
-#: cyclograph/gtk3/gui.py:1422
-#: cyclograph/gtk3/gui.py:1448
+#: cyclograph/gtk_/gui.py:1513 cyclograph/gtk_/gui.py:1539
+#: cyclograph/gtk3/gui.py:1481 cyclograph/gtk3/gui.py:1507
msgid "Back"
msgstr "Indietro"
-#: cyclograph/qt/glal.py:319
-#: cyclograph/qt/gui.py:810
+#: cyclograph/qt/glal.py:319 cyclograph/qt/gui.py:835
msgid "Cancel"
msgstr "Annulla"
-#: cyclograph/cyclograph.py:183
-#: cyclograph/cyclograph.py:374
+#: cyclograph/gtk_/gui.py:809 cyclograph/gtk3/gui.py:804
+#: qt4_ui/ui_qt_ts.py:874
+msgid "Check online"
+msgstr "Controlla online"
+
+#: cyclograph/cyclograph.py:187 cyclograph/cyclograph.py:381
msgid "Choose a file"
msgstr "Scegli un file"
-#: cyclograph/qt/gui.py:718
-#: cyclograph/gtk_/gui.py:1408
-#: cyclograph/gtk3/gui.py:1374
+#: cyclograph/qt/gui.py:743 cyclograph/gtk_/gui.py:1465
+#: cyclograph/gtk3/gui.py:1433
msgid "Choose the type of import you want"
msgstr "Seleziona il tipo di importazione"
-#: cyclograph/qt/ui_qt.py:725
+#: qt4_ui/ui_qt_ts.py:641
msgid "Close"
msgstr "Chiudi"
-#: cyclograph/qt/gui.py:809
-#: cyclograph/gtk_/gui.py:1601
-#: cyclograph/gtk3/gui.py:1567
+#: cyclograph/qt/gui.py:834 cyclograph/gtk_/gui.py:1658
+#: cyclograph/gtk3/gui.py:1626
msgid "Close without saving"
msgstr "Chiudi senza salvare"
-#: cyclograph/cyclograph.py:723
-#: cyclograph/cyclograph.py:759
+#: cyclograph/cyclograph.py:740 cyclograph/cyclograph.py:776
msgid "Country"
msgstr "Nazione"
-#: cyclograph/gtk_/gui.py:86
-#: cyclograph/gtk3/gui.py:87
-#: cyclograph/qt/ui_qt.py:335
+#: cyclograph/gtk_/gui.py:87 cyclograph/gtk3/gui.py:88 qt4_ui/ui_qt_ts.py:288
msgid "Create"
msgstr "Crea"
-#: cyclograph/gtk_/gui.py:86
-#: cyclograph/gtk3/gui.py:88
+#: cyclograph/gtk_/gui.py:87 cyclograph/gtk3/gui.py:89
msgid "Create KML"
msgstr "Crea un KML"
-#: cyclograph/gtk_/gui.py:1142
-#: cyclograph/gtk3/gui.py:1101
-#: cyclograph/qt/ui_qt.py:70
+#: cyclograph/gtk_/gui.py:1198 cyclograph/gtk3/gui.py:1159
+#: qt4_ui/ui_qt_ts.py:83
msgid "Create Kml"
msgstr "Crea Kml"
-#: cyclograph/qt/ui_qt.py:339
-msgid "Ctrl+Alt+S"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:298
-msgid "Ctrl+I"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:315
-msgid "Ctrl+N"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:296
-msgid "Ctrl+O"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:302
-msgid "Ctrl+Q"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:300
-msgid "Ctrl+S"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:288
-msgid "Cyclograph"
-msgstr "CycloGraph"
-
-#: cyclograph/gtk_/gui.py:115
-#: cyclograph/gtk3/gui.py:115
-#: cyclograph/qt/ui_qt.py:324
+#: cyclograph/gtk_/gui.py:116 cyclograph/gtk3/gui.py:116
+#: qt4_ui/ui_qt_ts.py:280
msgid "Delete"
msgstr "Cancella"
-#: cyclograph/gtk_/gui.py:812
-#: cyclograph/gtk3/gui.py:807
-#: cyclograph/qt/ui_qt.py:960
+#: cyclograph/gtk_/gui.py:823 cyclograph/gtk3/gui.py:818
+#: qt4_ui/ui_qt_ts.py:876
msgid "Description"
msgstr "Descrizione"
-#: cyclograph/gtk_/gui.py:331
-#: cyclograph/gtk3/gui.py:336
-#: cyclograph/qt/ui_qt.py:727
+#: cyclograph/gtk_/gui.py:332 cyclograph/gtk3/gui.py:337
+#: qt4_ui/ui_qt_ts.py:643
msgid "Distance [km]"
msgstr "Distanza [Km]"
-#: cyclograph/qt/gui.py:788
-#: cyclograph/gtk_/gui.py:1544
-#: cyclograph/gtk3/gui.py:1507
+#: cyclograph/qt/gui.py:813 cyclograph/gtk_/gui.py:1601
+#: cyclograph/gtk3/gui.py:1566
msgid "Distance and altitude are required."
msgstr "Distanza e altezza sono richieste."
-#: cyclograph/gtk_/gui.py:386
-#: cyclograph/gtk3/gui.py:394
-#: cyclograph/qt/ui_qt.py:504
+#: cyclograph/gtk_/gui.py:387 cyclograph/gtk3/gui.py:395
+#: qt4_ui/ui_qt_ts.py:440
msgid "Distance:"
msgstr "Distanza:"
-#: cyclograph/qt/glal.py:318
-#: cyclograph/gtk_/glal.py:356
+#: cyclograph/qt/glal.py:318 cyclograph/gtk_/glal.py:355
#: cyclograph/gtk3/glal.py:338
msgid "Downloading altitudes"
msgstr "Scaricamento altezze"
-#: cyclograph/qt/gui.py:618
-#: cyclograph/gtk_/gui.py:1137
-#: cyclograph/gtk_/gui.py:1160
-#: cyclograph/gtk3/gui.py:1096
-#: cyclograph/gtk3/gui.py:1119
-#: cyclograph/qt/ui_qt.py:79
+#: cyclograph/qt/gui.py:643 cyclograph/gtk_/gui.py:1193
+#: cyclograph/gtk_/gui.py:1216 cyclograph/gtk3/gui.py:1154
+#: cyclograph/gtk3/gui.py:1177 qt4_ui/ui_qt_ts.py:92
msgid "Draw on the map"
msgstr "Disegna sulla mappa"
-#: cyclograph/cyclograph.py:730
-#: cyclograph/cyclograph.py:766
-#: cyclograph/gtk_/gui.py:913
-#: cyclograph/gtk3/gui.py:902
+#: cyclograph/cyclograph.py:747 cyclograph/cyclograph.py:783
+#: cyclograph/gtk_/gui.py:924 cyclograph/gtk3/gui.py:913
msgid "E-mail"
-msgstr ""
+msgstr "E-mail"
-#: cyclograph/gtk_/gui.py:465
-#: cyclograph/gtk3/gui.py:466
-#: cyclograph/qt/ui_qt.py:440
-#: cyclograph/qt/ui_qt.py:969
+#: cyclograph/gtk_/gui.py:466 cyclograph/gtk3/gui.py:467
+#: qt4_ui/ui_qt_ts.py:384 qt4_ui/ui_qt_ts.py:885
msgid "E-mail:"
-msgstr ""
+msgstr "E-mail:"
-#: cyclograph/cyclograph.py:610
-#: cyclograph/gtk_/gui.py:111
-#: cyclograph/gtk3/gui.py:111
-#: cyclograph/qt/ui_qt.py:322
+#: cyclograph/cyclograph.py:610 cyclograph/gtk_/gui.py:112
+#: cyclograph/gtk3/gui.py:112 qt4_ui/ui_qt_ts.py:278
msgid "Edit"
msgstr "Modifica"
-#: cyclograph/gtk_/gui.py:113
-#: cyclograph/gtk3/gui.py:113
-#: cyclograph/qt/ui_qt.py:323
+#: cyclograph/gtk_/gui.py:114 cyclograph/gtk3/gui.py:114
+#: qt4_ui/ui_qt_ts.py:279
msgid "Edit a check-point"
msgstr "Modifica un punto"
-#: cyclograph/cyclograph.py:287
+#: cyclograph/cyclograph.py:294
msgid "Error on loading slope"
msgstr "Errore durante il caricamento della salita"
-#: cyclograph/cyclograph.py:335
+#: cyclograph/cyclograph.py:342
msgid "Error while loading data"
msgstr "Errore durante il caricamento dei dati"
-#: cyclograph/qt/ui_qt.py:290
+#: qt4_ui/ui_qt_ts.py:268
msgid "File"
-msgstr ""
+msgstr "File"
-#: cyclograph/cyclograph.py:383
+#: cyclograph/cyclograph.py:390
msgid "File saved"
msgstr "File salvato"
-#: cyclograph/gtk_/gui.py:1455
-#: cyclograph/gtk_/gui.py:1481
-#: cyclograph/gtk3/gui.py:1421
-#: cyclograph/gtk3/gui.py:1447
+#: cyclograph/gtk_/gui.py:1512 cyclograph/gtk_/gui.py:1538
+#: cyclograph/gtk3/gui.py:1480 cyclograph/gtk3/gui.py:1506
msgid "Finish"
msgstr "Fine"
-#: cyclograph/qt/ui_qt.py:966
+#: qt4_ui/ui_qt_ts.py:882
msgid "Fonts"
msgstr "Caratteri"
-#: cyclograph/qt/gui.py:787
-#: cyclograph/gtk_/gui.py:1545
-#: cyclograph/gtk3/gui.py:1506
+#: cyclograph/qt/gui.py:812 cyclograph/gtk_/gui.py:1602
+#: cyclograph/gtk3/gui.py:1565
msgid "Form incomplete"
msgstr "Form incompleto"
-#: cyclograph/qt/ui_qt.py:724
-msgid "Frame"
-msgstr "Riquadro"
-
-#: cyclograph/qt/ui_qt.py:959
+#: qt4_ui/ui_qt_ts.py:875
msgid "General"
msgstr "Generale"
-#: cyclograph/gtk_/gui.py:824
-#: cyclograph/gtk3/gui.py:819
-#: cyclograph/qt/ui_qt.py:962
+#: cyclograph/gtk_/gui.py:835 cyclograph/gtk3/gui.py:830
+#: qt4_ui/ui_qt_ts.py:878
msgid "Gradient"
msgstr "Pendenza"
-#: cyclograph/qt/ui_qt.py:967
+#: qt4_ui/ui_qt_ts.py:883
msgid "Gradient colors"
msgstr "Colori salita"
-#: cyclograph/cyclograph.py:726
-#: cyclograph/cyclograph.py:762
+#: cyclograph/cyclograph.py:743 cyclograph/cyclograph.py:779
msgid "Height difference"
msgstr "Dislivello"
-#: cyclograph/gtk_/gui.py:482
-#: cyclograph/gtk3/gui.py:474
-#: cyclograph/qt/ui_qt.py:443
-#: cyclograph/slope.py:221
+#: cyclograph/gtk_/gui.py:483 cyclograph/gtk3/gui.py:475
+#: cyclograph/slope.py:222 qt4_ui/ui_qt_ts.py:387
msgid "Height difference:"
msgstr "Dislivello:"
-#: cyclograph/cyclograph.py:727
-#: cyclograph/cyclograph.py:763
-#: cyclograph/slope.py:222
+#: cyclograph/cyclograph.py:744 cyclograph/cyclograph.py:780
+#: cyclograph/slope.py:223
msgid "Height gain"
msgstr "Aumento in altezza"
-#: cyclograph/gtk_/gui.py:487
-#: cyclograph/gtk3/gui.py:476
-#: cyclograph/qt/ui_qt.py:444
+#: cyclograph/gtk_/gui.py:488 cyclograph/gtk3/gui.py:477
+#: qt4_ui/ui_qt_ts.py:388
msgid "Height gain:"
msgstr "Aumento in altezza:"
-#: cyclograph/gtk_/gui.py:1594
-#: cyclograph/gtk3/gui.py:1560
+#: cyclograph/gtk_/gui.py:1651 cyclograph/gtk3/gui.py:1619
msgid "If you don't save, all your changes will be permanently lost."
msgstr "Se non salvi, tutte le modifiche andranno perse."
-#: cyclograph/gtk_/gui.py:131
-#: cyclograph/gtk3/gui.py:131
-#: cyclograph/qt/ui_qt.py:329
+#: cyclograph/gtk_/gui.py:132 cyclograph/gtk3/gui.py:132
+#: qt4_ui/ui_qt_ts.py:284
msgid "Info"
-msgstr ""
+msgstr "Info"
-#: cyclograph/gtk_/gui.py:132
-#: cyclograph/gtk3/gui.py:132
-#: cyclograph/qt/ui_qt.py:330
+#: cyclograph/gtk_/gui.py:133 cyclograph/gtk3/gui.py:133
+#: qt4_ui/ui_qt_ts.py:285
msgid "Informations about the slope"
msgstr " Informazioni sulla salita"
-#: cyclograph/gtk_/gui.py:784
-#: cyclograph/gtk3/gui.py:779
-#: cyclograph/qt/ui_qt.py:954
+#: cyclograph/gtk_/gui.py:785 cyclograph/gtk3/gui.py:780
+#: qt4_ui/ui_qt_ts.py:871
msgid "Kml server"
msgstr "kml server"
-#: cyclograph/qt/gui.py:610
-#: cyclograph/gtk_/gui.py:127
-#: cyclograph/gtk_/gui.py:1110
-#: cyclograph/gtk3/gui.py:127
-#: cyclograph/gtk3/gui.py:1067
-#: cyclograph/qt/ui_qt.py:341
-#: cyclograph/qt/ui_qt.py:342
+#: cyclograph/gtk_/gui.py:804 cyclograph/gtk3/gui.py:799
+#: qt4_ui/ui_qt_ts.py:873
+msgid "Latest version"
+msgstr "Ultima versione"
+
+#: cyclograph/qt/gui.py:614 cyclograph/gtk_/gui.py:128
+#: cyclograph/gtk_/gui.py:1123 cyclograph/gtk3/gui.py:128
+#: cyclograph/gtk3/gui.py:1080 qt4_ui/ui_qt_ts.py:293 qt4_ui/ui_qt_ts.py:294
msgid "Map"
msgstr "Mappa"
-#: cyclograph/cyclograph.py:725
-#: cyclograph/cyclograph.py:761
+#: cyclograph/cyclograph.py:742 cyclograph/cyclograph.py:778
msgid "Max gradient"
msgstr "Pendenza massima"
-#: cyclograph/gtk_/gui.py:477
-#: cyclograph/gtk3/gui.py:472
-#: cyclograph/qt/ui_qt.py:442
-#: cyclograph/slope.py:220
+#: cyclograph/gtk_/gui.py:478 cyclograph/gtk3/gui.py:473
+#: cyclograph/slope.py:221 qt4_ui/ui_qt_ts.py:386
msgid "Max gradient:"
msgstr "Pendenza massima:"
-#: cyclograph/qt/ui_qt.py:71
+#: qt4_ui/ui_qt_ts.py:84
msgid "Mode"
msgstr "Modalità"
-#: cyclograph/gtk_/gui.py:1170
-#: cyclograph/gtk3/gui.py:1130
+#: cyclograph/gtk_/gui.py:1226 cyclograph/gtk3/gui.py:1188
msgid "Modes"
msgstr "Modalità"
-#: cyclograph/cyclograph.py:722
-#: cyclograph/cyclograph.py:729
-#: cyclograph/cyclograph.py:758
-#: cyclograph/cyclograph.py:765
-#: cyclograph/gtk_/gui.py:341
-#: cyclograph/gtk_/gui.py:903
-#: cyclograph/gtk3/gui.py:346
-#: cyclograph/gtk3/gui.py:892
-#: cyclograph/qt/ui_qt.py:731
+#: cyclograph/cyclograph.py:739 cyclograph/cyclograph.py:746
+#: cyclograph/cyclograph.py:775 cyclograph/cyclograph.py:782
+#: cyclograph/gtk_/gui.py:342 cyclograph/gtk_/gui.py:914
+#: cyclograph/gtk3/gui.py:347 cyclograph/gtk3/gui.py:903
+#: qt4_ui/ui_qt_ts.py:647
msgid "Name"
msgstr "Nome"
-#: cyclograph/gtk_/gui.py:388
-#: cyclograph/gtk_/gui.py:444
-#: cyclograph/gtk3/gui.py:396
-#: cyclograph/gtk3/gui.py:454
-#: cyclograph/qt/ui_qt.py:436
-#: cyclograph/qt/ui_qt.py:505
-#: cyclograph/qt/ui_qt.py:968
+#: cyclograph/gtk_/gui.py:389 cyclograph/gtk_/gui.py:445
+#: cyclograph/gtk3/gui.py:397 cyclograph/gtk3/gui.py:455
+#: qt4_ui/ui_qt_ts.py:380 qt4_ui/ui_qt_ts.py:441 qt4_ui/ui_qt_ts.py:884
msgid "Name:"
msgstr "Nome:"
-#: cyclograph/cyclograph.py:268
+#: cyclograph/cyclograph.py:275
msgid "Network error : unable to create an handler to download kml route."
-msgstr "Errore di rete: impossibile creare un gestore per scaricare il percorso del kml."
+msgstr ""
+"Errore di rete: impossibile creare un gestore per scaricare il percorso del "
+"kml."
-#: cyclograph/gtk_/gui.py:84
-#: cyclograph/gtk3/gui.py:83
+#: cyclograph/gtk_/gui.py:85 cyclograph/gtk3/gui.py:84
msgid "New"
msgstr "Nuovo"
-#: cyclograph/gtk_/gui.py:84
-#: cyclograph/gtk3/gui.py:84
+#: cyclograph/gtk_/gui.py:85 cyclograph/gtk3/gui.py:85
msgid "New Slope"
msgstr " Nuova Salita"
-#: cyclograph/gtk_/gui.py:1432
-#: cyclograph/gtk3/gui.py:1398
-#: cyclograph/qt/ui_qt.py:681
+#: cyclograph/gtk_/gui.py:1489 cyclograph/gtk3/gui.py:1457
+#: qt4_ui/ui_qt_ts.py:607
msgid "Next"
msgstr "Avanti"
-#: cyclograph/qt/gui.py:793
-#: cyclograph/gtk_/gui.py:1554
-#: cyclograph/gtk3/gui.py:1515
+#: cyclograph/qt/gui.py:818 cyclograph/gtk_/gui.py:1611
+#: cyclograph/gtk3/gui.py:1574
msgid "No coordinates"
msgstr "Nessuna coordinata"
-#: cyclograph/qt/gui.py:781
-#: cyclograph/gtk_/gui.py:1536
-#: cyclograph/gtk3/gui.py:1497
+#: cyclograph/qt/gui.py:806 cyclograph/gtk_/gui.py:1593
+#: cyclograph/gtk3/gui.py:1556
msgid "No route"
msgstr "Nessun percorso"
-#: cyclograph/qt/gui.py:800
-#: cyclograph/gtk_/gui.py:1564
-#: cyclograph/gtk3/gui.py:1524
+#: cyclograph/qt/gui.py:825 cyclograph/gtk_/gui.py:1621
+#: cyclograph/gtk3/gui.py:1583
msgid "Not enough check points"
msgstr "Non ci sono abbastanza check point"
-#: cyclograph/cyclograph.py:768
-#: cyclograph/gtk_/gui.py:500
-#: cyclograph/gtk3/gui.py:479
+#: cyclograph/cyclograph.py:785 cyclograph/gtk_/gui.py:501
+#: cyclograph/gtk3/gui.py:480
msgid "Note"
msgstr "Note"
-#: cyclograph/qt/ui_qt.py:438
+#: qt4_ui/ui_qt_ts.py:382
msgid "Note:"
msgstr "Note:"
-#: cyclograph/qt/gui.py:617
-#: cyclograph/gtk_/gui.py:1136
-#: cyclograph/gtk_/gui.py:1159
-#: cyclograph/gtk3/gui.py:1095
-#: cyclograph/gtk3/gui.py:1118
-#: cyclograph/qt/ui_qt.py:77
+#: cyclograph/qt/gui.py:642 cyclograph/gtk_/gui.py:1192
+#: cyclograph/gtk_/gui.py:1215 cyclograph/gtk3/gui.py:1153
+#: cyclograph/gtk3/gui.py:1176 qt4_ui/ui_qt_ts.py:90
msgid "OSRM"
-msgstr ""
+msgstr "OSRM"
-#: cyclograph/cyclograph.py:237
+#: cyclograph/cyclograph.py:244
msgid "Old file format: please save it again."
msgstr "Vecchio formato di file: salvare di nuovo"
-#: cyclograph/gtk_/gui.py:85
-#: cyclograph/gtk3/gui.py:85
+#: cyclograph/gtk_/gui.py:86 cyclograph/gtk3/gui.py:86
msgid "Open"
msgstr "Apri"
-#: cyclograph/qt/gui.py:616
-#: cyclograph/gtk_/gui.py:1135
-#: cyclograph/gtk_/gui.py:1158
-#: cyclograph/gtk3/gui.py:1094
-#: cyclograph/gtk3/gui.py:1117
-#: cyclograph/qt/ui_qt.py:75
+#: cyclograph/qt/gui.py:641 cyclograph/gtk_/gui.py:1191
+#: cyclograph/gtk_/gui.py:1214 cyclograph/gtk3/gui.py:1152
+#: cyclograph/gtk3/gui.py:1175 qt4_ui/ui_qt_ts.py:88
msgid "Open Route Service"
-msgstr ""
+msgstr "Open Route Service"
-#: cyclograph/gtk_/gui.py:85
-#: cyclograph/gtk3/gui.py:86
+#: cyclograph/gtk_/gui.py:86 cyclograph/gtk3/gui.py:87
msgid "Open Slope"
msgstr " Apri Salita"
-#: cyclograph/qt/ui_qt.py:292
+#: qt4_ui/ui_qt_ts.py:269
msgid "Options"
msgstr "&Opzioni"
-#: cyclograph/gtk_/gui.py:741
-#: cyclograph/gtk3/gui.py:560
-#: cyclograph/gtk3/gui.py:736
-#: cyclograph/qt/ui_qt.py:946
+#: cyclograph/gtk_/gui.py:742 cyclograph/gtk3/gui.py:561
+#: cyclograph/gtk3/gui.py:737 qt4_ui/ui_qt_ts.py:867
msgid "Orizzontal lines"
msgstr "Linee orizzontali"
-#: cyclograph/gtk_/glal.py:357
-#: cyclograph/gtk3/glal.py:339
+#: cyclograph/gtk_/glal.py:356 cyclograph/gtk3/glal.py:339
msgid "Please wait, Cycograph is downloading altitudes."
msgstr "attendere, Cyclograph sta scaricando le altimetrie"
-#: cyclograph/gtk_/gui.py:123
-#: cyclograph/gtk3/gui.py:123
-#: cyclograph/qt/ui_qt.py:327
+#: cyclograph/gtk_/gui.py:124 cyclograph/gtk3/gui.py:124
+#: qt4_ui/ui_qt_ts.py:282
msgid "Plot"
msgstr "Disegna"
-#: cyclograph/gtk_/gui.py:124
-#: cyclograph/gtk3/gui.py:124
-#: cyclograph/qt/ui_qt.py:328
+#: cyclograph/gtk_/gui.py:125 cyclograph/gtk3/gui.py:125
+#: qt4_ui/ui_qt_ts.py:283
msgid "Plot your slope"
msgstr "Disegna la salita"
-#: cyclograph/gtk_/gui.py:715
-#: cyclograph/gtk3/gui.py:708
-#: cyclograph/qt/ui_qt.py:944
+#: cyclograph/gtk_/gui.py:716 cyclograph/gtk3/gui.py:709
+#: qt4_ui/ui_qt_ts.py:865
msgid "Preferences"
msgstr "Preferenze"
-#: cyclograph/qt/ui_qt.py:320
+#: qt4_ui/ui_qt_ts.py:277
msgid "Press + on the keyboard to add a check-point"
msgstr "Premere + sulla tastiera per aggiungere un check-point"
-#: cyclograph/qt/ui_qt.py:325
+#: qt4_ui/ui_qt_ts.py:281
msgid "Press - on the keyboard to remove the selected check-point"
msgstr "Premere - sulla tastiera per rimuovere il check-point selezionato"
-#: cyclograph/gtk_/gui.py:117
-#: cyclograph/gtk3/gui.py:117
+#: cyclograph/gtk_/gui.py:118 cyclograph/gtk3/gui.py:118
msgid "Remove a check-point"
msgstr "Rimuove check-point"
-#: cyclograph/gtk_/gui.py:751
-#: cyclograph/gtk3/gui.py:746
-#: cyclograph/qt/ui_qt.py:948
+#: cyclograph/gtk_/gui.py:752 cyclograph/gtk3/gui.py:747
+#: qt4_ui/ui_qt_ts.py:869
msgid "Resolution"
msgstr "Risoluzione"
-#: cyclograph/gtk_/gui.py:930
-#: cyclograph/gtk3/gui.py:919
+#: cyclograph/gtk_/gui.py:941 cyclograph/gtk3/gui.py:930
msgid "Restore Default"
msgstr "Ripristina default"
-#: cyclograph/qt/gui.py:434
-#: cyclograph/qt/gui.py:808
-#: cyclograph/gtk_/gui.py:87
-#: cyclograph/gtk3/gui.py:89
+#: cyclograph/qt/gui.py:437 cyclograph/qt/gui.py:833 cyclograph/gtk_/gui.py:88
+#: cyclograph/gtk3/gui.py:90
msgid "Save"
-msgstr "&Salva"
+msgstr "Salva"
-#: cyclograph/qt/ui_qt.py:337
+#: qt4_ui/ui_qt_ts.py:290
msgid "Save &As"
msgstr "Salva &come"
-#: cyclograph/qt/gui.py:438
+#: cyclograph/qt/gui.py:441
msgid "Save PDF"
msgstr "Salva PDF"
-#: cyclograph/gtk_/gui.py:87
-#: cyclograph/gtk3/gui.py:90
+#: cyclograph/gtk_/gui.py:88 cyclograph/gtk3/gui.py:91
msgid "Save Slope"
msgstr " Salva Salita"
-#: cyclograph/gtk_/gui.py:564
-#: cyclograph/gtk3/gui.py:556
+#: cyclograph/gtk_/gui.py:565 cyclograph/gtk3/gui.py:557
msgid "Save _PDF"
msgstr "Salva _PDF"
-#: cyclograph/gtk_/gui.py:566
-#: cyclograph/gtk3/gui.py:558
+#: cyclograph/gtk_/gui.py:567 cyclograph/gtk3/gui.py:559
msgid "Save _html"
msgstr "Salva _html"
-#: cyclograph/cyclograph.py:355
-#: cyclograph/qt/ui_qt.py:338
+#: cyclograph/cyclograph.py:362 qt4_ui/ui_qt_ts.py:291
msgid "Save as"
msgstr "Salva come"
-#: cyclograph/qt/gui.py:813
-#: cyclograph/gtk_/gui.py:1598
-#: cyclograph/gtk3/gui.py:1564
+#: cyclograph/qt/gui.py:838 cyclograph/gtk_/gui.py:1655
+#: cyclograph/gtk3/gui.py:1623
msgid "Save changes"
msgstr "Salvare le modifiche a"
-#: cyclograph/qt/gui.py:812
-#: cyclograph/gtk_/gui.py:1593
-#: cyclograph/gtk3/gui.py:1559
+#: cyclograph/qt/gui.py:837 cyclograph/gtk_/gui.py:1650
+#: cyclograph/gtk3/gui.py:1618
#, python-format
msgid "Save changes to %s before closing?"
msgstr "Salvare i cambiamenti in %s prima di chiudere?"
-#: cyclograph/qt/gui.py:439
+#: cyclograph/qt/gui.py:442
msgid "Save html"
msgstr "Salva html"
-#: cyclograph/cyclograph.py:688
+#: cyclograph/cyclograph.py:687
+msgid "Save map"
+msgstr "Salva mappa"
+
+#: cyclograph/cyclograph.py:705
msgid "Save plot"
msgstr "Salva kml"
-#: cyclograph/cyclograph.py:744
+#: cyclograph/cyclograph.py:761
msgid "Save plot to html"
msgstr "Salva grafico in html"
-#: cyclograph/cyclograph.py:711
+#: cyclograph/cyclograph.py:728
msgid "Save plot to pdf"
msgstr "Salva grafico in PDF"
-#: cyclograph/gtk_/gui.py:601
-#: cyclograph/gtk3/gui.py:593
+#: cyclograph/gtk_/gui.py:602 cyclograph/gtk3/gui.py:594
msgid "Saving _resolution"
msgstr "_Risoluzione del salvataggio"
-#: cyclograph/gtk_/gui.py:1027
-#: cyclograph/gtk3/gui.py:1007
+#: cyclograph/gtk_/gui.py:1039 cyclograph/gtk3/gui.py:1019
msgid "Select Font"
msgstr "Seleziona lo stile"
-#: cyclograph/gtk_/gui.py:1059
+#: cyclograph/gtk_/gui.py:1071
msgid "Select color"
msgstr "Colori salita"
-#: cyclograph/gtk_/gui.py:1422
-#: cyclograph/gtk3/gui.py:1388
-#: cyclograph/qt/ui_qt.py:678
+#: cyclograph/gtk_/gui.py:1479 cyclograph/gtk3/gui.py:1447
+#: qt4_ui/ui_qt_ts.py:604
msgid "Select the distance rate"
msgstr "Seleziona l'intervallo di distanza"
-#: cyclograph/gtk_/gui.py:1418
-#: cyclograph/gtk3/gui.py:1384
-#: cyclograph/qt/ui_qt.py:679
+#: cyclograph/gtk_/gui.py:1475 cyclograph/gtk3/gui.py:1443
+#: qt4_ui/ui_qt_ts.py:605
msgid "Select the number of checkpoints"
msgstr "Seleziona il numero di checkpoint"
-#: cyclograph/gtk_/gui.py:747
-#: cyclograph/gtk3/gui.py:742
-#: cyclograph/qt/ui_qt.py:958
+#: cyclograph/gtk_/gui.py:748 cyclograph/gtk3/gui.py:743
+#: qt4_ui/ui_qt_ts.py:872
msgid "Show info"
msgstr "Mostra informazioni"
-#: cyclograph/gtk_/gui.py:128
-#: cyclograph/gtk3/gui.py:128
-#: cyclograph/qt/ui_qt.py:343
+#: cyclograph/gtk_/gui.py:129 cyclograph/gtk3/gui.py:129
+#: qt4_ui/ui_qt_ts.py:295
msgid "Show the map of your slope"
msgstr "Mostra la mappa della salita"
-#: cyclograph/gtk_/gui.py:240
-#: cyclograph/gtk3/gui.py:242
-#: cyclograph/qt/ui_qt.py:332
+#: cyclograph/gtk_/gui.py:241 cyclograph/gtk3/gui.py:243
+#: qt4_ui/ui_qt_ts.py:286
msgid "Signal a bug"
msgstr "Segnala un bug"
-#: cyclograph/cyclograph.py:721
-#: cyclograph/cyclograph.py:757
+#: cyclograph/cyclograph.py:738 cyclograph/cyclograph.py:774
msgid "Slope"
msgstr "Salita"
-#: cyclograph/gtk_/gui.py:429
-#: cyclograph/gtk3/gui.py:436
-#: cyclograph/qt/ui_qt.py:435
+#: cyclograph/gtk_/gui.py:430 cyclograph/gtk3/gui.py:437
+#: qt4_ui/ui_qt_ts.py:379
msgid "Slope Info"
msgstr "Info Salita"
-#: cyclograph/qt/gui.py:781
-#: cyclograph/gtk_/gui.py:1535
-#: cyclograph/gtk3/gui.py:1498
+#: cyclograph/qt/gui.py:806 cyclograph/gtk_/gui.py:1592
+#: cyclograph/gtk3/gui.py:1557
msgid "Specify one route first."
msgstr "Specificare prima un percorso."
-#: cyclograph/gtk_/gui.py:451
-#: cyclograph/gtk3/gui.py:458
-#: cyclograph/qt/ui_qt.py:437
+#: cyclograph/gtk_/gui.py:452 cyclograph/gtk3/gui.py:459
+#: qt4_ui/ui_qt_ts.py:381
msgid "State:"
msgstr "Stato:"
-#: cyclograph/qt/ui_qt.py:289
-msgid "Tab 1"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:676
-#: cyclograph/qt/ui_qt.py:683
-msgid "TextLabel"
-msgstr ""
-
-#: cyclograph/qt/gui.py:715
-#: cyclograph/gtk_/gui.py:1443
-#: cyclograph/gtk3/gui.py:1409
+#: cyclograph/qt/gui.py:740 cyclograph/gtk_/gui.py:1500
+#: cyclograph/gtk3/gui.py:1468
#, python-format
msgid ""
"The %s file contains %d points.\n"
@@ -828,9 +601,8 @@
"il file %s contiene %d punti.\n"
"Scegli quanti importarne."
-#: cyclograph/qt/gui.py:717
-#: cyclograph/gtk_/gui.py:1469
-#: cyclograph/gtk3/gui.py:1435
+#: cyclograph/qt/gui.py:742 cyclograph/gtk_/gui.py:1526
+#: cyclograph/gtk3/gui.py:1494
#, python-format
msgid ""
"The %s file contains a route of %d Km.\n"
@@ -839,15 +611,13 @@
"il file %s contiene un percorso di %d Km.\n"
"Scegli quale distanza vuoi tra i punti."
-#: cyclograph/gtk_/gui.py:770
-#: cyclograph/gtk3/gui.py:765
-#: cyclograph/qt/ui_qt.py:953
+#: cyclograph/gtk_/gui.py:771 cyclograph/gtk3/gui.py:766
+#: qt4_ui/ui_qt_ts.py:870
msgid "Theme"
msgstr "Tema"
-#: cyclograph/qt/gui.py:801
-#: cyclograph/gtk_/gui.py:1562
-#: cyclograph/gtk3/gui.py:1525
+#: cyclograph/qt/gui.py:826 cyclograph/gtk_/gui.py:1619
+#: cyclograph/gtk3/gui.py:1584
msgid ""
"There aren't enougth check points to plot.\n"
" At least two points are required to plot."
@@ -855,118 +625,108 @@
"Non ci sono abbastanza punti da disegnare.\n"
" Per il disegno servono almeno 2 punti."
-#: cyclograph/gtk_/gui.py:836
-#: cyclograph/gtk3/gui.py:831
-#: cyclograph/qt/ui_qt.py:964
+#: cyclograph/gtk_/gui.py:847 cyclograph/gtk3/gui.py:842
+#: qt4_ui/ui_qt_ts.py:880
msgid "Title"
msgstr "Titolo"
-#: cyclograph/cyclograph.py:231
+#: cyclograph/cyclograph.py:238
msgid "Unable to open file"
msgstr "Impossibile aprire il file"
-#: cyclograph/gtk_/gui.py:1426
-#: cyclograph/gtk3/gui.py:1392
-#: cyclograph/qt/ui_qt.py:680
+#: cyclograph/gtk_/gui.py:1483 cyclograph/gtk3/gui.py:1451
+#: qt4_ui/ui_qt_ts.py:606
msgid "Use every point (discouraged)"
msgstr "Utilizza tutti i punti (sconsigliato)"
-#: cyclograph/gtk_/gui.py:736
-#: cyclograph/gtk3/gui.py:731
-#: cyclograph/qt/ui_qt.py:945
+#: cyclograph/gtk_/gui.py:737 cyclograph/gtk3/gui.py:732
+#: qt4_ui/ui_qt_ts.py:866
msgid "Visualization"
msgstr "Visualizzazione"
-#: cyclograph/gtk_/gui.py:158
-#: cyclograph/gtk3/gui.py:158
+#: cyclograph/gtk_/gui.py:159 cyclograph/gtk3/gui.py:159
msgid "_File"
msgstr "_File"
-#: cyclograph/gtk_/gui.py:207
-#: cyclograph/gtk_/gui.py:553
-#: cyclograph/gtk3/gui.py:206
-#: cyclograph/gtk3/gui.py:548
+#: cyclograph/gtk_/gui.py:208 cyclograph/gtk_/gui.py:554
+#: cyclograph/gtk3/gui.py:207 cyclograph/gtk3/gui.py:549
msgid "_Options"
msgstr "_Opzioni"
-#: cyclograph/gtk_/gui.py:568
+#: cyclograph/gtk_/gui.py:569
msgid "_Orizzontal lines"
msgstr "_Linee orizzontali"
-#: cyclograph/gtk_/gui.py:576
-#: cyclograph/gtk3/gui.py:568
+#: cyclograph/gtk_/gui.py:577 cyclograph/gtk3/gui.py:569
msgid "_Theme"
msgstr "_Tema"
-#: cyclograph/gtk_/gui.py:215
-#: cyclograph/gtk3/gui.py:216
-#: cyclograph/qt/ui_qt.py:312
-#: cyclograph/qt/ui_qt.py:956
-msgid "earthtools.org"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:961
-#: cyclograph/qt/ui_qt.py:963
-#: cyclograph/qt/ui_qt.py:965
+#: qt4_ui/ui_qt_ts.py:877 qt4_ui/ui_qt_ts.py:879 qt4_ui/ui_qt_ts.py:881
msgid "font | dim"
-msgstr ""
-
-#: cyclograph/gtk_/gui.py:214
-#: cyclograph/gtk3/gui.py:214
-#: cyclograph/qt/ui_qt.py:311
-#: cyclograph/qt/ui_qt.py:955
-msgid "geonames.org"
-msgstr ""
+msgstr "font | dim"
-#: cyclograph/cyclograph.py:252
+#: cyclograph/cyclograph.py:259
msgid "kml name"
msgstr "nome del kml"
-#: cyclograph/qt/ui_qt.py:540
+#: qt4_ui/ui_qt_ts.py:472
+#, fuzzy
msgid "map"
-msgstr ""
-
-#: cyclograph/qt/ui_qt.py:682
-msgid "message"
-msgstr ""
+msgstr "Mappa"
-#: cyclograph/gtk_/gui.py:1394
-#: cyclograph/gtk3/gui.py:1360
-#: cyclograph/qt/ui_qt.py:675
+#: cyclograph/gtk_/gui.py:1451 cyclograph/gtk3/gui.py:1419
+#: qt4_ui/ui_qt_ts.py:602
msgid "number of checkpoints"
msgstr "numero di checkpoint"
-#: cyclograph/cyclograph.py:146
+#: cyclograph/cyclograph.py:149
msgid "old cofiguration issue."
msgstr "problema con una vecchia configurazione"
-#: cyclograph/cyclograph.py:165
-#: cyclograph/cyclograph.py:514
-#: cyclograph/cyclograph.py:523
+#: cyclograph/cyclograph.py:168 cyclograph/cyclograph.py:523
+#: cyclograph/cyclograph.py:532
msgid "slope"
msgstr "Salita"
-#: cyclograph/cyclograph.py:293
+#: cyclograph/cyclograph.py:300
#, python-format
msgid "slope %d"
msgstr "Salita %d"
-#: cyclograph/qt/gui.py:794
-#: cyclograph/gtk_/gui.py:1553
-#: cyclograph/gtk3/gui.py:1516
+#: cyclograph/qt/gui.py:819 cyclograph/gtk_/gui.py:1610
+#: cyclograph/gtk3/gui.py:1575
msgid "there aren't coordinates associated with this slope."
msgstr "non ci sono coordinate associate alla salita"
-#: cyclograph/qt/ui_qt.py:294
-msgid "toolbar"
-msgstr ""
+#~ msgid "&Delete configuration file"
+#~ msgstr "&Cancella i file di configurazione"
-#: cyclograph/gtk_/gui.py:216
-#: cyclograph/gtk3/gui.py:218
-#: cyclograph/qt/ui_qt.py:313
-#: cyclograph/qt/ui_qt.py:957
-msgid "usgs.net"
-msgstr ""
+#~ msgid "&Description"
+#~ msgstr "&Descrizione"
+
+#~ msgid "&Gradient"
+#~ msgstr "&Pendenza"
+
+#~ msgid "&Import KML"
+#~ msgstr "&Importa KML"
+
+#~ msgid "&Save preferences"
+#~ msgstr "&Salva preferenze"
+
+#~ msgid "&Slope colors..."
+#~ msgstr "&Colori salita"
+
+#~ msgid "&Title"
+#~ msgstr "&Titolo"
+
+#~ msgid "&Use default preferences"
+#~ msgstr "&Usa le preferenze di default"
+
+#~ msgid "Cyclograph"
+#~ msgstr "CycloGraph"
+
+#~ msgid "Frame"
+#~ msgstr "Riquadro"
#~ msgid "&Effect 3d"
#~ msgstr "&Effetto 3d"
diff -Nru cyclograph-1.6.0/setup.py cyclograph-1.6.1/setup.py
--- cyclograph-1.6.0/setup.py 2013-02-16 20:56:12.000000000 +0000
+++ cyclograph-1.6.1/setup.py 2013-08-18 10:47:43.000000000 +0000
@@ -1,12 +1,15 @@
#!/usr/bin/env python
from distutils.core import setup
from cyclograph.version import VERSION
+import glob
files = ["openlayers.html",
"map.html",
"google.css",
"draw_on_map.js"]
+icons = glob.glob('pixmaps/icon_*.png') + glob.glob('pixmaps/icon_*svg')
+
setup(name = "cyclograph",
version = VERSION,
description = "route altimetry plotting application",
@@ -22,18 +25,7 @@
scripts = ["cyclograph/cyclograph"],
data_files = [('share/icons/hicolor/scalable/apps', ['pixmaps/cyclograph.svg']),
('share/icons/hicolor/32x32/apps', ['pixmaps/cyclograph.png']),
- ('share/pixmaps', ['pixmaps/icon_add.png',
- 'pixmaps/icon_ckml.png',
- 'pixmaps/icon_delete.png',
- 'pixmaps/icon_info.png',
- 'pixmaps/icon_modify.png',
- 'pixmaps/icon_plot.png',
- 'pixmaps/icon_add.svg',
- 'pixmaps/icon_ckml.svg',
- 'pixmaps/icon_delete.svg',
- 'pixmaps/icon_info.svg',
- 'pixmaps/icon_modify.svg',
- 'pixmaps/icon_plot.svg']),
+ ('share/pixmaps', icons),
('share/locale/en/LC_MESSAGES',
['po/en/LC_MESSAGES/cyclograph.mo']),
('share/locale/it/LC_MESSAGES',