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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + 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',