Thread: [Gpredict-svn] SF.net SVN: gpredict:[358] trunk (Page 7)
Real time satellite tracking and orbit prediction
Status: Beta
Brought to you by:
csete
From: <fi...@us...> - 2009-08-05 08:59:28
|
Revision: 358 http://gpredict.svn.sourceforge.net/gpredict/?rev=358&view=rev Author: fillods Date: 2009-08-05 08:59:13 +0000 (Wed, 05 Aug 2009) Log Message: ----------- new en_GB and en_US translations Modified Paths: -------------- trunk/configure.ac trunk/po/gpredict.pot Added Paths: ----------- trunk/po/en_GB.po trunk/po/en_US.po Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2009-08-05 08:53:47 UTC (rev 357) +++ trunk/configure.ac 2009-08-05 08:59:13 UTC (rev 358) @@ -42,7 +42,7 @@ dnl Add the languages which your application supports here. dnl Note that other progs only have ALL_LINGUAS and AM_GLIB_GNU_GETTEXT -ALL_LINGUAS=fr +ALL_LINGUAS="en_GB en_US fr" GETTEXT_PACKAGE=gpredict AC_SUBST(GETTEXT_PACKAGE) AM_GLIB_GNU_GETTEXT Added: trunk/po/en_GB.po =================================================================== --- trunk/po/en_GB.po (rev 0) +++ trunk/po/en_GB.po 2009-08-05 08:59:13 UTC (rev 358) @@ -0,0 +1,5207 @@ +# British English Translation for gpredict. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gpredict package. +# Michael Stephenson <mic...@go...>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: gpredict\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-05 01:49+0100\n" +"PO-Revision-Date: 2009-08-05 00:53+0100\n" +"Last-Translator: Michael Stephenson <mic...@go...>\n" +"Language-Team: British English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/about.c:58 +msgid "" +"Copyright (C) 2001-2009 Alexandru Csete OZ9AEC\n" +"Contact: oz9aec at googlemail.com\n" +"\n" +"Gpredict is free software; you can redistribute it and mofdify it under the " +"terms of the GNU General Public License as published by the Free Software " +"Foundation; either version 2 of the License, or (at your option) any later " +"version.\n" +"\n" +"This program is distributed free of charge in the hope that it will be " +"useful, but WITHOUT ANY WARRANTY; without even the implied warranty of " +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library " +"General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License along with " +"this program (see Help->License). Otherwise you can find a copy on the FSF " +"website http://www.fsf.org/licensing/licenses/gpl.html or you can write to " +"the\n" +"\n" +"Free Software Foundation, Inc.\n" +"59 Temple Place - Suite 330\n" +"Boston\n" +"MA 02111-1307\n" +"USA.\n" +msgstr "" +"Copyright (C) 2001-2009 Alexandru Csete OZ9AEC\n" +"Contact: oz9aec at googlemail.com\n" +"\n" +"Gpredict is free software; you can redistribute it and mofdify it under the " +"terms of the GNU General Public License as published by the Free Software " +"Foundation; either version 2 of the License, or (at your option) any later " +"version.\n" +"\n" +"This program is distributed free of charge in the hope that it will be " +"useful, but WITHOUT ANY WARRANTY; without even the implied warranty of " +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library " +"General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License along with " +"this program (see Help->License). Otherwise you can find a copy on the FSF " +"website http://www.fsf.org/licensing/licenses/gpl.html or you can write to " +"the\n" +"\n" +"Free Software Foundation, Inc.\n" +"59 Temple Place - Suite 330\n" +"Boston\n" +"MA 02111-1307\n" +"USA.\n" + +#. window title +#. icon file name +#. create window title and file name for window icon +#: ../src/about.c:90 ../src/main.c:177 ../src/sat-log.c:57 +#: ../src/sat-log-browser.c:457 +msgid "GPREDICT" +msgstr "GPREDICT" + +#: ../src/about.c:93 +msgid "" +"Copyright (C) 2001-2008 Alexandru Csete OZ9AEC\n" +"\n" +"Gpredict is available free of charge from:" +msgstr "" +"Copyright (C) 2001-2008 Alexandru Csete OZ9AEC\n" +"\n" +"Gpredict is available free of charge from:" + +#: ../src/about.c:110 +msgid "translator-credits" +msgstr "translator-credits" + +#: ../src/first-time.c:132 ../src/first-time.c:267 ../src/first-time.c:338 +#: ../src/first-time.c:492 ../src/first-time.c:538 ../src/first-time.c:583 +#, c-format +msgid "%s: Check successful." +msgstr "%s: Check successful." + +#: ../src/first-time.c:137 ../src/first-time.c:273 ../src/first-time.c:343 +#: ../src/first-time.c:497 ../src/first-time.c:543 ../src/first-time.c:588 +#, c-format +msgid "%s: Check failed. Creating %s" +msgstr "%s: Check failed. Creating %s" + +#: ../src/first-time.c:148 ../src/first-time.c:284 ../src/first-time.c:352 +#: ../src/first-time.c:506 ../src/first-time.c:552 ../src/first-time.c:597 +#, c-format +msgid "%s: Failed to create %s" +msgstr "%s: Failed to create %s" + +#: ../src/first-time.c:153 ../src/first-time.c:289 ../src/first-time.c:357 +#: ../src/first-time.c:511 ../src/first-time.c:557 ../src/first-time.c:602 +#, c-format +msgid "%s: Created %s." +msgstr "%s: Created %s." + +#: ../src/first-time.c:189 ../src/first-time.c:395 ../src/first-time.c:635 +#, c-format +msgid "%s: Could not open %s." +msgstr "%s: Could not open %s." + +#: ../src/first-time.c:213 +#, c-format +msgid "%s: Found at least one .qth file." +msgstr "%s: Found at least one .qth file." + +#: ../src/first-time.c:224 +#, c-format +msgid "%s: Failed to copy sample.qth" +msgstr "%s: Failed to copy sample.qth" + +#: ../src/first-time.c:231 +#, c-format +msgid "%s: Copied sample.qth to %s/" +msgstr "%s: Copied sample.qth to %s/" + +#: ../src/first-time.c:299 +#, c-format +msgid "%s: Failed to copy Amateur.mod" +msgstr "%s: Failed to copy Amateur.mod" + +#: ../src/first-time.c:306 +#, c-format +msgid "%s: Copied amateur.mod to %s/" +msgstr "%s: Copied amateur.mod to %s/" + +#: ../src/first-time.c:419 +#, c-format +msgid "%s: Found at least one .tle file." +msgstr "%s: Found at least one .tle file." + +#: ../src/first-time.c:447 ../src/first-time.c:665 +#, c-format +msgid "%s: Failed to copy %s" +msgstr "%s: Failed to copy %s" + +#: ../src/first-time.c:454 +#, c-format +msgid "%s: Successfully copied %s" +msgstr "%s: Successfully copied %s" + +#: ../src/first-time.c:658 +#, c-format +msgid "%s: %s does not appear to be in user conf dir; adding." +msgstr "%s: %s does not appear to be in user conf dir; adding." + +#: ../src/first-time.c:674 +#, c-format +msgid "%s: %s already in user conf dir." +msgstr "%s: %s already in user conf dir." + +#: ../src/gpredict-utils.c:293 ../src/gpredict-utils.c:332 +#: ../src/gpredict-utils.c:379 ../src/gpredict-utils.c:421 +#, c-format +msgid "%s:%s: %s called with color = NULL" +msgstr "%s:%s: %s called with color = NULL" + +#: ../src/gpredict-utils.c:338 +#, c-format +msgid "%s:%s: %s called with alpha = NULL" +msgstr "%s:%s: %s called with alpha = NULL" + +#: ../src/gpredict-utils.c:385 +#, c-format +msgid "%s:%s: %s called with rgb = NULL" +msgstr "%s:%s: %s called with rgb = NULL" + +#: ../src/gpredict-utils.c:427 +#, c-format +msgid "%s:%s: %s called with rgba = NULL" +msgstr "%s:%s: %s called with rgba = NULL" + +#: ../src/gtk-azel-plot.c:373 +msgid "Local Time" +msgstr "Local Time" + +#: ../src/gtk-azel-plot.c:383 ../src/pass-to-txt.c:158 +#: ../src/gtk-sky-glance.c:339 +msgid "UTC" +msgstr "UTC" + +#. Az legend +#: ../src/gtk-azel-plot.c:404 ../src/gtk-sat-list.c:55 +#: ../src/sat-pass-dialogs.c:101 +msgid "Az" +msgstr "Az" + +#. El legend +#: ../src/gtk-azel-plot.c:414 ../src/gtk-sat-list.c:56 +#: ../src/sat-pass-dialogs.c:102 +msgid "El" +msgstr "El" + +#: ../src/gtk-polar-plot.c:616 ../src/gtk-polar-view.c:332 +msgid "N" +msgstr "N" + +#: ../src/gtk-polar-plot.c:627 ../src/gtk-polar-view.c:343 +msgid "S" +msgstr "S" + +#: ../src/gtk-polar-plot.c:638 ../src/gtk-polar-view.c:354 +msgid "E" +msgstr "E" + +#: ../src/gtk-polar-plot.c:649 ../src/gtk-polar-view.c:365 +msgid "W" +msgstr "W" + +#: ../src/gtk-polar-plot.c:752 +#, c-format +msgid "%s:%d: Incorrect polar plot orientation." +msgstr "%s:%d: Incorrect polar plot orientation." + +#. next pass and predict passes +#: ../src/gtk-polar-view-popup.c:107 ../src/gtk-sat-list-popup.c:97 +#: ../src/gtk-sat-map-popup.c:106 ../src/gtk-single-sat.c:837 +msgid "Show next pass" +msgstr "Show next pass" + +#: ../src/gtk-polar-view-popup.c:115 ../src/gtk-sat-list-popup.c:108 +#: ../src/gtk-sat-map-popup.c:114 ../src/gtk-single-sat.c:851 +msgid "Future passes" +msgstr "Future passes" + +#. show track +#: ../src/gtk-polar-view-popup.c:134 +msgid "Sky track" +msgstr "Sky track" + +#: ../src/gtk-polar-view-popup.c:197 ../src/gtk-polar-view-popup.c:304 +#: ../src/gtk-sat-map-popup.c:195 ../src/gtk-sat-map-popup.c:248 +#: ../src/gtk-sat-map-popup.c:425 +#, c-format +msgid "%s:%d: Failed to get satellite object." +msgstr "%s:%d: Failed to get satellite object." + +#: ../src/gtk-polar-view-popup.c:404 ../src/gtk-polar-view-popup.c:474 +#: ../src/gtk-sat-list-popup.c:176 ../src/gtk-sat-list-popup.c:246 +#: ../src/gtk-sat-map-popup.c:306 ../src/gtk-sat-map-popup.c:376 +#: ../src/gtk-single-sat.c:1054 ../src/gtk-single-sat.c:1125 +#, c-format +msgid "" +"Satellite %s has no passes\n" +"within the next %d days" +msgstr "" +"Satellite %s has no passes\n" +"within the next %d days" + +#: ../src/gtk-polar-view-popup.c:420 ../src/gtk-sat-list-popup.c:192 +#: ../src/gtk-sat-map-popup.c:322 ../src/gtk-single-sat.c:1070 +#, c-format +msgid "" +"Satellite %s has no passes for\n" +"the current ground station!\n" +"\n" +"This can be because the satellite\n" +"is geostationary, decayed or simply\n" +"never comes above the horizon" +msgstr "" +"Satellite %s has no passes for\n" +"the current ground station!\n" +"\n" +"This can be because the satellite\n" +"is geostationary, decayed or simply\n" +"never comes above the horizon" + +#: ../src/gtk-polar-view-popup.c:493 ../src/gtk-sat-list-popup.c:265 +#: ../src/gtk-sat-map-popup.c:395 ../src/gtk-single-sat.c:1144 +#, c-format +msgid "" +"Satellite %s has no passes for\n" +"the current ground station!" +msgstr "" +"Satellite %s has no passes for\n" +"the current ground station!" + +#: ../src/gtk-polar-view.c:733 +#, c-format +msgid "" +"Next: %s\n" +"in %s%d:%s%d%s%d" +msgstr "" +"Next: %s\n" +"in %s%d:%s%d%s%d" + +#: ../src/gtk-polar-view.c:736 +#, c-format +msgid "" +"Next: %s\n" +"in %s%d%s%d" +msgstr "" +"Next: %s\n" +"in %s%d%s%d" + +#: ../src/gtk-polar-view.c:751 ../src/gtk-sat-map.c:694 +#, c-format +msgid "%s: Can not find NEXT satellite." +msgstr "%s: Can not find NEXT satellite." + +#: ../src/gtk-polar-view.c:754 ../src/gtk-sat-map.c:697 +msgid "Next: ERR" +msgstr "Next: ERR" + +#: ../src/gtk-polar-view.c:760 ../src/gtk-sat-map.c:703 +msgid "Next: N/A" +msgstr "Next: N/A" + +#: ../src/gtk-polar-view.c:916 +#, c-format +msgid "" +"%s\n" +"LOS in %s%d:%s%d%s%d" +msgstr "" +"%s\n" +"LOS in %s%d:%s%d%s%d" + +#: ../src/gtk-polar-view.c:920 +#, c-format +msgid "" +"%s\n" +"LOS in %s%d%s%d" +msgstr "" +"%s\n" +"LOS in %s%d%s%d" + +#: ../src/gtk-polar-view.c:928 +#, c-format +msgid "" +"%s\n" +"Always in range" +msgstr "" +"%s\n" +"Always in range" + +#: ../src/gtk-polar-view.c:1237 +#, c-format +msgid "%s:%d: Could not find satellite (%d) in hash table" +msgstr "%s:%d: Could not find satellite (%d) in hash table" + +#: ../src/gtk-polar-view.c:1285 ../src/gtk-sat-map.c:903 +#, c-format +msgid "%s:%d: Can not find clicked object (%d) in hash table" +msgstr "%s:%d: Can not find clicked object (%d) in hash table" + +#: ../src/gtk-rig-ctrl.c:386 +msgid "<b> Downlink </b>" +msgstr "<b> Downlink </b>" + +#. Downlink doppler +#. Uplink doppler +#: ../src/gtk-rig-ctrl.c:401 ../src/gtk-rig-ctrl.c:466 +msgid "Doppler:" +msgstr "Doppler:" + +#: ../src/gtk-rig-ctrl.c:403 ../src/gtk-rig-ctrl.c:468 +msgid "" +"The Doppler shift according to the range rate and the currently selected " +"downlink frequency" +msgstr "" +"The Doppler shift according to the range rate and the currently selected " +"downlink frequency" + +#: ../src/gtk-rig-ctrl.c:415 ../src/gtk-rig-ctrl.c:480 +msgid "LO:" +msgstr "LO:" + +#: ../src/gtk-rig-ctrl.c:451 +msgid "<b> Uplink </b>" +msgstr "<b> Uplink </b>" + +#: ../src/gtk-rig-ctrl.c:531 ../src/gtk-rot-ctrl.c:420 +msgid "Select target object" +msgstr "Select target object" + +#. tracking button +#: ../src/gtk-rig-ctrl.c:536 ../src/gtk-rot-ctrl.c:425 +msgid "Track" +msgstr "Track" + +#: ../src/gtk-rig-ctrl.c:537 +msgid "" +"Track the satellite transponder.\n" +"Enabling this button will apply Dopper correction to the frequency of the " +"radio." +msgstr "" +"Track the satellite transponder.\n" +"Enabling this button will apply Dopper correction to the frequency of the " +"radio." + +#: ../src/gtk-rig-ctrl.c:545 +msgid "Select a transponder" +msgstr "Select a transponder" + +#. buttons +#: ../src/gtk-rig-ctrl.c:552 +msgid "T" +msgstr "T" + +#: ../src/gtk-rig-ctrl.c:554 +msgid "" +"Tune the radio to this transponder. The uplink and downlink will be set to " +"the center of the transponder passband. In case of beacons, only the " +"downlink will be tuned to the beacon frequency." +msgstr "" +"Tune the radio to this transponder. The uplink and downlink will be set to " +"the center of the transponder passband. In case of beacons, only the " +"downlink will be tuned to the beacon frequency." + +#: ../src/gtk-rig-ctrl.c:560 +msgid "L" +msgstr "L" + +#: ../src/gtk-rig-ctrl.c:562 +msgid "" +"Lock the uplink and the downlink to each other. Whenever you change the " +"downlink (in the controller or on the dial, the uplink will track it " +"according to whether the transponder is inverting or not. Similarly, if you " +"change the uplink the downlink will track it automatically.\n" +"\n" +"If the downlink and uplink are initially out of sync when you enable this " +"function, the current downlink frequency will be used as baseline for " +"setting the new uplink frequency." +msgstr "" +"Lock the uplink and the downlink to each other. Whenever you change the " +"downlink (in the controller or on the dial, the uplink will track it " +"according to whether the transponder is inverting or not. Similarly, if you " +"change the uplink the downlink will track it automatically.\n" +"\n" +"If the downlink and uplink are initially out of sync when you enable this " +"function, the current downlink frequency will be used as baseline for " +"setting the new uplink frequency." + +#. Azimuth +#: ../src/gtk-rig-ctrl.c:581 ../src/gtk-rot-ctrl.c:431 +msgid "Az:" +msgstr "Az:" + +#. Elevation +#: ../src/gtk-rig-ctrl.c:589 ../src/gtk-rot-ctrl.c:441 +msgid "El:" +msgstr "El:" + +#. Range +#: ../src/gtk-rig-ctrl.c:597 +msgid " Range:" +msgstr " Range:" + +#: ../src/gtk-rig-ctrl.c:605 ../src/gtk-rig-ctrl.c:608 +msgid "This is the current distance between the satellite and the observer." +msgstr "This is the current distance between the satellite and the observer." + +#. Range rate +#: ../src/gtk-rig-ctrl.c:612 +msgid " Rate:" +msgstr " Rate:" + +#: ../src/gtk-rig-ctrl.c:620 ../src/gtk-rig-ctrl.c:623 +msgid "" +"The rate of change for the distance between the satellite and the observer." +msgstr "" +"The rate of change for the distance between the satellite and the observer." + +#: ../src/gtk-rig-ctrl.c:626 ../src/gtk-rot-ctrl.c:457 +msgid "Target" +msgstr "Target" + +#. Primary device +#: ../src/gtk-rig-ctrl.c:655 +msgid "1. Device:" +msgstr "1. Device:" + +#: ../src/gtk-rig-ctrl.c:660 +msgid "" +"Select primary radio device.This device will be used for downlink and uplink " +"unless you select a secondary device for uplink" +msgstr "" +"Select primary radio device.This device will be used for downlink and uplink " +"unless you select a secondary device for uplink" + +#: ../src/gtk-rig-ctrl.c:685 ../src/gtk-rig-ctrl.c:728 +#: ../src/gtk-rig-ctrl.c:2368 ../src/gtk-rot-ctrl.c:513 +#: ../src/gtk-rot-ctrl.c:1229 ../src/sat-pref-rig.c:304 +#: ../src/sat-pref-rot.c:270 +#, c-format +msgid "%s:%d: Failed to open hwconf dir (%s)" +msgstr "%s:%d: Failed to open hwconf dir (%s)" + +#. config will be force-loaded after LO spin is created +#. Secondary device +#: ../src/gtk-rig-ctrl.c:698 +msgid "2. Device:" +msgstr "2. Device:" + +#: ../src/gtk-rig-ctrl.c:703 +msgid "" +"Select secondary radio device\n" +"This device will be used for uplink" +msgstr "" +"Select secondary radio device\n" +"This device will be used for uplink" + +#. load config +#: ../src/gtk-rig-ctrl.c:707 ../src/sat-pref-rig-editor.c:236 +#: ../src/sat-pref-rig.c:754 ../src/sat-pref-rig.c:763 +msgid "None" +msgstr "None" + +#. Engage button +#: ../src/gtk-rig-ctrl.c:743 ../src/gtk-rot-ctrl.c:526 +msgid "Engage" +msgstr "Engage" + +#: ../src/gtk-rig-ctrl.c:744 +msgid "Engage the selected radio device" +msgstr "Engage the selected radio device" + +#. Timeout +#: ../src/gtk-rig-ctrl.c:752 ../src/gtk-rot-ctrl.c:532 +msgid "Cycle:" +msgstr "Cycle:" + +#: ../src/gtk-rig-ctrl.c:759 +msgid "This parameter controls the delay between commands sent to the rig." +msgstr "This parameter controls the delay between commands sent to the rig." + +#: ../src/gtk-rig-ctrl.c:766 ../src/gtk-rot-ctrl.c:546 +msgid "msec" +msgstr "msec" + +#: ../src/gtk-rig-ctrl.c:770 ../src/gtk-rot-ctrl.c:575 +msgid "Settings" +msgstr "Settings" + +#: ../src/gtk-rig-ctrl.c:787 +msgid "<span size='large'><b>ΔT: 00:00:00</b></span>" +msgstr "<span size='large'><b>ΔT: 00:00:00</b></span>" + +#: ../src/gtk-rig-ctrl.c:789 +msgid "" +"The time remaining until the next AOS or LOS event, depending on which one " +"comes first." +msgstr "" +"The time remaining until the next AOS or LOS event, depending on which one " +"comes first." + +#: ../src/gtk-rig-ctrl.c:838 ../src/gtk-rot-ctrl.c:638 +#, c-format +msgid "%s:%s: Invalid satellite selection: %d" +msgstr "%s:%s: Invalid satellite selection: %d" + +#: ../src/gtk-rig-ctrl.c:875 +#, c-format +msgid "%s: Inconsistency detected in internal transponder data (%d,%d)" +msgstr "%s: Inconsistency detected in internal transponder data (%d,%d)" + +#: ../src/gtk-rig-ctrl.c:1007 +#, c-format +msgid "%s:%s: Primary device selected: %d" +msgstr "%s:%s: Primary device selected: %d" + +#: ../src/gtk-rig-ctrl.c:1021 ../src/gtk-rig-ctrl.c:2456 +#, c-format +msgid "%s:%d: Failed to allocate memory for radio config" +msgstr "%s:%d: Failed to allocate memory for radio config" + +#: ../src/gtk-rig-ctrl.c:1030 ../src/gtk-rig-ctrl.c:1131 +#, c-format +msgid "%s:%s: Loaded new radio configuration %s" +msgstr "%s:%s: Loaded new radio configuration %s" + +#. update LO widgets +#: ../src/gtk-rig-ctrl.c:1033 ../src/gtk-rig-ctrl.c:1038 +#: ../src/gtk-rig-ctrl.c:1090 ../src/gtk-rig-ctrl.c:1106 +#: ../src/gtk-rig-ctrl.c:1134 +#, c-format +msgid "%.0f MHz" +msgstr "%.0f MHz" + +#: ../src/gtk-rig-ctrl.c:1045 ../src/gtk-rig-ctrl.c:1140 +#, c-format +msgid "%s:%s: Failed to load radio configuration %s" +msgstr "%s:%s: Failed to load radio configuration %s" + +#: ../src/gtk-rig-ctrl.c:1074 +#, c-format +msgid "%s:%s: Secondary device selected: %d" +msgstr "%s:%s: Secondary device selected: %d" + +#: ../src/gtk-rig-ctrl.c:1122 +#, c-format +msgid "%s:%s: Failed to allocate memory for radio config" +msgstr "%s:%s: Failed to allocate memory for radio config" + +#: ../src/gtk-rig-ctrl.c:1178 ../src/gtk-rot-ctrl.c:780 +#, c-format +msgid "%s: Controller does not have a valid configuration" +msgstr "%s: Controller does not have a valid configuration" + +#: ../src/gtk-rig-ctrl.c:1268 ../src/gtk-rot-ctrl.c:808 +#, c-format +msgid "%s missed the deadline" +msgstr "%s missed the deadline" + +#: ../src/gtk-rig-ctrl.c:1300 +#, c-format +msgid "%s: Invalid radio type %d. Setting type to RIG_TYPE_RX" +msgstr "%s: Invalid radio type %d. Setting type to RIG_TYPE_RX" + +#: ../src/gtk-rig-ctrl.c:1314 ../src/gtk-rot-ctrl.c:897 +#, c-format +msgid "%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!" +msgstr "%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!" + +#: ../src/gtk-rig-ctrl.c:1832 ../src/gtk-rig-ctrl.c:2021 +#: ../src/gtk-rot-ctrl.c:965 ../src/gtk-rot-ctrl.c:1074 +#, c-format +msgid "%s:%d: Failed to create socket" +msgstr "%s:%d: Failed to create socket" + +#: ../src/gtk-rig-ctrl.c:1838 ../src/gtk-rig-ctrl.c:2027 +#: ../src/gtk-rot-ctrl.c:971 ../src/gtk-rot-ctrl.c:1080 +#, c-format +msgid "%s:%d Network socket created successfully" +msgstr "%s:%d Network socket created successfully" + +#: ../src/gtk-rig-ctrl.c:1852 ../src/gtk-rig-ctrl.c:2041 +#: ../src/gtk-rot-ctrl.c:985 ../src/gtk-rot-ctrl.c:1094 +#, c-format +msgid "%s:%d: Failed to connect to %s:%d" +msgstr "%s:%d: Failed to connect to %s:%d" + +#: ../src/gtk-rig-ctrl.c:1858 ../src/gtk-rig-ctrl.c:2047 +#: ../src/gtk-rot-ctrl.c:991 ../src/gtk-rot-ctrl.c:1100 +#, c-format +msgid "%s:%d: Connection opened to %s:%d" +msgstr "%s:%d: Connection opened to %s:%d" + +#: ../src/gtk-rig-ctrl.c:1876 ../src/gtk-rig-ctrl.c:2058 +#: ../src/gtk-rot-ctrl.c:1002 ../src/gtk-rot-ctrl.c:1113 +#, c-format +msgid "%s:%d: SIZE ERROR %d / %d" +msgstr "%s:%d: SIZE ERROR %d / %d" + +#: ../src/gtk-rig-ctrl.c:1886 ../src/gtk-rig-ctrl.c:2068 +#: ../src/gtk-rot-ctrl.c:1012 +#, c-format +msgid "%s:%s: Failed to allocate 128 bytes (yes, this means trouble)" +msgstr "%s:%s: Failed to allocate 128 bytes (yes, this means trouble)" + +#: ../src/gtk-rig-ctrl.c:1896 ../src/gtk-rig-ctrl.c:2078 +#, c-format +msgid "%s:%s: Got 0 bytes from rigctld" +msgstr "%s:%s: Got 0 bytes from rigctld" + +#: ../src/gtk-rig-ctrl.c:1901 ../src/gtk-rig-ctrl.c:2083 +#, c-format +msgid "%s:%s: Read %d bytes from rigctld" +msgstr "%s:%s: Read %d bytes from rigctld" + +#: ../src/gtk-rig-ctrl.c:1944 ../src/gtk-rig-ctrl.c:2121 +#, c-format +msgid "%s: Failed to create socket" +msgstr "%s: Failed to create socket" + +#: ../src/gtk-rig-ctrl.c:1950 ../src/gtk-rig-ctrl.c:2127 +#, c-format +msgid "%s: Network socket created successfully" +msgstr "%s: Network socket created successfully" + +#: ../src/gtk-rig-ctrl.c:1964 ../src/gtk-rig-ctrl.c:2141 +#, c-format +msgid "%s: Failed to connect to %s:%d" +msgstr "%s: Failed to connect to %s:%d" + +#: ../src/gtk-rig-ctrl.c:1970 ../src/gtk-rig-ctrl.c:2147 +#, c-format +msgid "%s: Connection opened to %s:%d" +msgstr "%s: Connection opened to %s:%d" + +#: ../src/gtk-rig-ctrl.c:1981 ../src/gtk-rig-ctrl.c:2186 +#, c-format +msgid "%s: SIZE ERROR %d / %d" +msgstr "%s: SIZE ERROR %d / %d" + +#: ../src/gtk-rig-ctrl.c:2012 ../src/gtk-rot-ctrl.c:956 +#, c-format +msgid "%s:%d: NULL storage." +msgstr "%s:%d: NULL storage." + +#: ../src/gtk-rig-ctrl.c:2175 +#, c-format +msgid "%s: Invalid VFO argument. Using VFOA." +msgstr "%s: Invalid VFO argument. Using VFOA." + +#: ../src/gtk-rig-ctrl.c:2219 +#, c-format +msgid "AOS in" +msgstr "AOS in" + +#: ../src/gtk-rig-ctrl.c:2223 +#, c-format +msgid "LOS in" +msgstr "LOS in" + +#: ../src/gtk-rig-ctrl.c:2306 +#, c-format +msgid "%s:%s: GtkSatModule has no target satellite." +msgstr "%s:%s: GtkSatModule has no target satellite." + +#: ../src/gtk-rig-ctrl.c:2318 +#, c-format +msgid "%s:%s: Satellite %d has %d transponder modes." +msgstr "%s:%s: Satellite %d has %d transponder modes." + +#: ../src/gtk-rig-ctrl.c:2329 +#, c-format +msgid "%s:&s: Read transponder '%s' for satellite %d" +msgstr "%s:&s: Read transponder '%s' for satellite %d" + +#: ../src/gtk-rig-ctrl.c:2468 +#, c-format +msgid "%s:%d: Error reading radio configuration %s" +msgstr "%s:%d: Error reading radio configuration %s" + +#: ../src/gtk-rot-ctrl.c:328 ../src/gtk-sat-list.c:85 +#: ../src/sat-pass-dialogs.c:125 ../src/gtk-single-sat.c:56 +msgid "Azimuth" +msgstr "Azimuth" + +#: ../src/gtk-rot-ctrl.c:340 +msgid "Read:" +msgstr "Read:" + +#: ../src/gtk-rot-ctrl.c:367 ../src/gtk-sat-list.c:86 +#: ../src/sat-pass-dialogs.c:126 ../src/gtk-single-sat.c:57 +msgid "Elevation" +msgstr "Elevation" + +#: ../src/gtk-rot-ctrl.c:379 +msgid "Read: " +msgstr "Read: " + +#: ../src/gtk-rot-ctrl.c:426 +msgid "Track the satellite when it is within range" +msgstr "Track the satellite when it is within range" + +#. count down +#: ../src/gtk-rot-ctrl.c:450 +msgid "ΔT:" +msgstr "ΔT:" + +#: ../src/gtk-rot-ctrl.c:485 +msgid "Device:" +msgstr "Device:" + +#: ../src/gtk-rot-ctrl.c:490 +msgid "Select antenna rotator device" +msgstr "Select antenna rotator device" + +#: ../src/gtk-rot-ctrl.c:527 +msgid "Engage the selected rotor device" +msgstr "Engage the selected rotor device" + +#: ../src/gtk-rot-ctrl.c:539 +msgid "This parameter controls the delay between commands sent to the rotator." +msgstr "" +"This parameter controls the delay between commands sent to the rotator." + +#. Tolerance +#: ../src/gtk-rot-ctrl.c:551 +msgid "Tolerance:" +msgstr "Tolerance:" + +#: ../src/gtk-rot-ctrl.c:558 +msgid "" +"This parameter controls the tolerance between the target and rotator values " +"for the rotator.\n" +"If the difference between the target and rotator values is smaller than the " +"tolerance, no new commands are sent" +msgstr "" +"This parameter controls the tolerance between the target and rotator values " +"for the rotator.\n" +"If the difference between the target and rotator values is smaller than the " +"tolerance, no new commands are sent" + +#: ../src/gtk-rot-ctrl.c:568 +msgid "deg" +msgstr "deg" + +#: ../src/gtk-rot-ctrl.c:729 +#, c-format +msgid "%s:%d: Failed to allocate memory for rotator config" +msgstr "%s:%d: Failed to allocate memory for rotator config" + +#: ../src/gtk-rot-ctrl.c:738 +#, c-format +msgid "Loaded new rotator configuration %s" +msgstr "Loaded new rotator configuration %s" + +#: ../src/gtk-rot-ctrl.c:747 +#, c-format +msgid "%s:%d: Failed to load rotator configuration %s" +msgstr "%s:%d: Failed to load rotator configuration %s" + +#: ../src/gtk-rot-ctrl.c:868 ../src/gtk-rot-ctrl.c:869 +#: ../src/gtk-sat-module-popup.c:899 ../src/gtk-sat-module-popup.c:972 +#: ../src/sat-log-browser.c:71 ../src/sat-pref-rig.c:725 +msgid "ERROR" +msgstr "ERROR" + +#: ../src/gtk-rot-ctrl.c:1022 +#, c-format +msgid "%s:%s: Got 0 bytes from rotctld" +msgstr "%s:%s: Got 0 bytes from rotctld" + +#: ../src/gtk-rot-ctrl.c:1027 +#, c-format +msgid "%s:%s: Read %d bytes from rotctld" +msgstr "%s:%s: Read %d bytes from rotctld" + +#: ../src/gtk-sat-data.c:72 +#, c-format +msgid "%s: Can not find #%d in any .tle file." +msgstr "%s: Can not find #%d in any .tle file." + +#: ../src/gtk-sat-data.c:106 +#, c-format +msgid "%s: Found #%d in %s" +msgstr "%s: Found #%d in %s" + +#: ../src/gtk-sat-data.c:116 +#, c-format +msgid "%s: Invalid data for #%d" +msgstr "%s: Invalid data for #%d" + +#: ../src/gtk-sat-data.c:125 +#, c-format +msgid "%s: Good data for #%d" +msgstr "%s: Good data for #%d" + +#: ../src/gtk-sat-data.c:171 ../src/tle-update.c:903 +#, c-format +msgid "%s: Failed to open %s" +msgstr "%s: Failed to open %s" + +#: ../src/gtk-sat-list.c:53 ../src/gtk-sat-tree.c:212 +msgid "Satellite" +msgstr "Satellite" + +#: ../src/gtk-sat-list.c:54 ../src/gtk-sat-tree.c:221 +msgid "Catnum" +msgstr "Catnum" + +#: ../src/gtk-sat-list.c:57 +msgid "Dir" +msgstr "Dir" + +#: ../src/gtk-sat-list.c:58 ../src/sat-pass-dialogs.c:103 +msgid "Ra" +msgstr "Ra" + +#: ../src/gtk-sat-list.c:59 ../src/sat-pass-dialogs.c:104 +msgid "Dec" +msgstr "Dec" + +#: ../src/gtk-sat-list.c:60 ../src/pass-to-txt.c:52 +#: ../src/sat-pass-dialogs.c:105 +msgid "Range" +msgstr "Range" + +#: ../src/gtk-sat-list.c:61 ../src/sat-pass-dialogs.c:106 +msgid "Rate" +msgstr "Rate" + +#. Next Event +#: ../src/gtk-sat-list.c:62 ../src/gtk-sat-list.c:92 +#: ../src/sat-pref-map-view.c:241 ../src/sat-pref-polar-view.c:272 +#: ../src/gtk-single-sat.c:63 +msgid "Next Event" +msgstr "Next Event" + +#: ../src/gtk-sat-list.c:63 ../src/gtk-sat-list.c:93 +#: ../src/gtk-single-sat.c:64 +msgid "Next AOS" +msgstr "Next AOS" + +#: ../src/gtk-sat-list.c:64 ../src/gtk-sat-list.c:94 +#: ../src/gtk-single-sat.c:65 +msgid "Next LOS" +msgstr "Next LOS" + +#: ../src/gtk-sat-list.c:65 ../src/loc-tree.c:146 +#: ../src/sat-pass-dialogs.c:107 ../src/sat-pref-qth.c:195 +msgid "Lat" +msgstr "Lat" + +#: ../src/gtk-sat-list.c:66 ../src/loc-tree.c:166 +#: ../src/sat-pass-dialogs.c:108 ../src/sat-pref-qth.c:208 +msgid "Lon" +msgstr "Lon" + +#: ../src/gtk-sat-list.c:67 ../src/sat-pass-dialogs.c:109 +msgid "SSP" +msgstr "SSP" + +#: ../src/gtk-sat-list.c:68 ../src/pass-to-txt.c:57 +#: ../src/sat-pass-dialogs.c:110 +msgid "Footp" +msgstr "Footp" + +#: ../src/gtk-sat-list.c:69 ../src/loc-tree.c:186 +#: ../src/sat-pass-dialogs.c:111 +msgid "Alt" +msgstr "Alt" + +#: ../src/gtk-sat-list.c:70 ../src/sat-pass-dialogs.c:112 +msgid "Vel" +msgstr "Vel" + +#: ../src/gtk-sat-list.c:71 ../src/sat-pass-dialogs.c:113 +msgid "Dop" +msgstr "Dop" + +#: ../src/gtk-sat-list.c:72 ../src/sat-pass-dialogs.c:114 +msgid "Loss" +msgstr "Loss" + +#: ../src/gtk-sat-list.c:73 ../src/sat-pass-dialogs.c:115 +msgid "Del" +msgstr "Del" + +#: ../src/gtk-sat-list.c:74 ../src/sat-pass-dialogs.c:116 +msgid "MA" +msgstr "MA" + +#: ../src/gtk-sat-list.c:75 ../src/sat-pass-dialogs.c:117 +msgid "Phase" +msgstr "Phase" + +#: ../src/gtk-sat-list.c:76 ../src/pass-to-txt.c:101 +#: ../src/sat-pass-dialogs.c:66 +msgid "Orbit" +msgstr "Orbit" + +#: ../src/gtk-sat-list.c:77 ../src/pass-to-txt.c:65 ../src/pass-to-txt.c:102 +#: ../src/sat-pass-dialogs.c:67 ../src/sat-pass-dialogs.c:118 +msgid "Vis" +msgstr "Vis" + +#: ../src/gtk-sat-list.c:83 +msgid "Satellite Name" +msgstr "Satellite Name" + +#: ../src/gtk-sat-list.c:84 +msgid "Catalogue Number" +msgstr "Catalogue Number" + +#: ../src/gtk-sat-list.c:87 ../src/gtk-single-sat.c:58 +msgid "Direction" +msgstr "Direction" + +#: ../src/gtk-sat-list.c:88 ../src/sat-pass-dialogs.c:127 +msgid "Right Ascension" +msgstr "Right Ascension" + +#: ../src/gtk-sat-list.c:89 ../src/sat-pass-dialogs.c:128 +#: ../src/gtk-single-sat.c:60 +msgid "Declination" +msgstr "Declination" + +#: ../src/gtk-sat-list.c:90 ../src/sat-pass-dialogs.c:129 +#: ../src/gtk-single-sat.c:61 +msgid "Slant Range" +msgstr "Slant Range" + +#: ../src/gtk-sat-list.c:91 ../src/sat-pass-dialogs.c:130 +#: ../src/gtk-single-sat.c:62 +msgid "Range Rate" +msgstr "Range Rate" + +#: ../src/gtk-sat-list.c:95 ../src/sat-pass-dialogs.c:131 +msgid "Latitude" +msgstr "Latitude" + +#: ../src/gtk-sat-list.c:96 ../src/sat-pass-dialogs.c:132 +msgid "Longitude" +msgstr "Longitude" + +#: ../src/gtk-sat-list.c:97 ../src/sat-pass-dialogs.c:133 +msgid "Sub-Satellite Point" +msgstr "Sub-Satellite Point" + +#: ../src/gtk-sat-list.c:98 ../src/sat-pass-dialogs.c:134 +#: ../src/gtk-single-sat.c:69 +msgid "Footprint" +msgstr "Footprint" + +#. altitude +#: ../src/gtk-sat-list.c:99 ../src/sat-pass-dialogs.c:135 +#: ../src/sat-pref-qth-editor.c:318 ../src/gtk-single-sat.c:70 +#: ../src/qth-editor.c:333 +msgid "Altitude" +msgstr "Altitude" + +#: ../src/gtk-sat-list.c:100 ../src/sat-pass-dialogs.c:136 +#: ../src/gtk-single-sat.c:71 +msgid "Velocity" +msgstr "Velocity" + +#: ../src/gtk-sat-list.c:101 ../src/sat-pass-dialogs.c:137 +#: ../src/gtk-single-sat.c:100 +msgid "Doppler Shift @ 100MHz" +msgstr "Doppler Shift @ 100MHz" + +#: ../src/gtk-sat-list.c:102 ../src/sat-pass-dialogs.c:138 +msgid "Signal Loss @ 100MHz" +msgstr "Signal Loss @ 100MHz" + +#: ../src/gtk-sat-list.c:103 ../src/sat-pass-dialogs.c:139 +#: ../src/gtk-single-sat.c:102 +msgid "Signal Delay" +msgstr "Signal Delay" + +#: ../src/gtk-sat-list.c:104 ../src/sat-pass-dialogs.c:140 +#: ../src/gtk-single-sat.c:103 +msgid "Mean Anomaly" +msgstr "Mean Anomaly" + +#: ../src/gtk-sat-list.c:105 ../src/sat-pass-dialogs.c:141 +#: ../src/gtk-single-sat.c:76 ../src/gtk-single-sat.c:104 +msgid "Orbit Phase" +msgstr "Orbit Phase" + +#: ../src/gtk-sat-list.c:106 ../src/gtk-single-sat.c:105 +msgid "Orbit Number" +msgstr "Orbit Number" + +#: ../src/gtk-sat-list.c:107 ../src/sat-pass-dialogs.c:142 +#: ../src/gtk-single-sat.c:78 +msgid "Visibility" +msgstr "Visibility" + +#: ../src/gtk-sat-list.c:530 +#, c-format +msgid "%s: Invalid GtkSatList!" +msgstr "%s: Invalid GtkSatList!" + +#: ../src/gtk-sat-list.c:593 +#, c-format +msgid "%s: Failed to get data for #%d." +msgstr "%s: Failed to get data for #%d." + +#: ../src/gtk-sat-list.c:599 +#, c-format +msgid "%s: Satellite #%d removed from list." +msgstr "%s: Satellite #%d removed from list." + +#: ../src/gtk-sat-list.c:952 ../src/sat-pass-dialogs.c:700 +#: ../src/sat-pref-qth.c:769 +#, c-format +msgid "%s:%d: Invalid column: %d" +msgstr "%s:%d: Invalid column: %d" + +#: ../src/gtk-sat-list.c:1196 +#, c-format +msgid "%s: FIXME I am not implemented" +msgstr "%s: FIXME I am not implemented" + +#: ../src/gtk-sat-list.c:1294 +#, c-format +msgid "%s:%d Failed to get data for %d." +msgstr "%s:%d Failed to get data for %d." + +#: ../src/gtk-sat-list.c:1307 ../src/sat-pass-dialogs.c:1413 +#, c-format +msgid "%s:%d: There is no selection; skip popup." +msgstr "%s:%d: There is no selection; skip popup." + +#: ../src/gtk-sat-list-col-sel.c:153 +msgid "Column Name" +msgstr "Column Name" + +#: ../src/gtk-sat-list-col-sel.c:162 ../src/sat-vis.c:41 +msgid "Visible" +msgstr "Visible" + +#: ../src/gtk-sat-list-col-sel.c:169 +msgid "Row" +msgstr "Row" + +#: ../src/gtk-sat-map-ground-track.c:82 +#, c-format +msgid "%s: Creating ground track for %s" +msgstr "%s: Creating ground track for %s" + +#: ../src/gtk-sat-map-ground-track.c:97 +#, c-format +msgid "%s: Start orbit: %d" +msgstr "%s: Start orbit: %d" + +#: ../src/gtk-sat-map-ground-track.c:100 +#, c-format +msgid "%s: End orbit %d" +msgstr "%s: End orbit %d" + +#: ../src/gtk-sat-map-ground-track.c:121 +#, c-format +msgid "%s: T0: %f (%d)" +msgstr "%s: T0: %f (%d)" + +#: ../src/gtk-sat-map-ground-track.c:144 +#, c-format +msgid "%s: MAYDAY: Insufficient memory for ground track!" +msgstr "%s: MAYDAY: Insufficient memory for ground track!" + +#: ../src/gtk-sat-map-ground-track.c:191 +#, c-format +msgid "%s: Updating ground track for %s" +msgstr "%s: Updating ground track for %s" + +#: ../src/gtk-sat-map-ground-track.c:221 +#, c-format +msgid "%s: Deleting ground track for %s" +msgstr "%s: Deleting ground track for %s" + +#: ../src/gtk-sat-map-ground-track.c:239 +#, c-format +msgid "%s: Could not find part %d of ground track" +msgstr "%s: Could not find part %d of ground track" + +#. highlight cov. area +#: ../src/gtk-sat-map-popup.c:133 +msgid "Highlight footprint" +msgstr "Highlight footprint" + +#. show track +#: ../src/gtk-sat-map-popup.c:142 +msgid "Ground Track" +msgstr "Ground Track" + +#. target +#: ../src/gtk-sat-map-popup.c:154 +msgid "Set Target" +msgstr "Set Target" + +#: ../src/gtk-sat-map.c:671 +#, c-format +msgid "<span background=\"#%s\"> Next: %s in %s%d:%s%d%s%d </span>" +msgstr "<span background=\"#%s\"> Next: %s in %s%d:%s%d%s%d </span>" + +#: ../src/gtk-sat-map.c:677 +#, c-format +msgid "<span background=\"#%s\"> Next: %s in %s%d%s%d </span>" +msgstr "<span background=\"#%s\"> Next: %s in %s%d%s%d </span>" + +#: ../src/gtk-sat-map.c:1048 +#, c-format +msgid "%s:%d: Loading map file %s" +msgstr "%s:%d: Loading map file %s" + +#: ../src/gtk-sat-map.c:1054 +#, c-format +msgid "%s:%d: Map file found" +msgstr "%s:%d: Map file found" + +#: ../src/gtk-sat-map.c:1059 +#, c-format +msgid "%s:%d: Could not find map file %s" +msgstr "%s:%d: Could not find map file %s" + +#: ../src/gtk-sat-map.c:1067 +#, c-format +msgid "%s:%d: Using default map: %s" +msgstr "%s:%d: Using default map: %s" + +#: ../src/gtk-sat-map.c:1076 +#, c-format +msgid "%s:%d: Error loading map file (%s)" +msgstr "%s:%d: Error loading map file (%s)" + +#: ../src/gtk-sat-module.c:267 +#, c-format +msgid "%s: Module %s is not valid." +msgstr "%s: Module %s is not valid." + +#: ../src/gtk-sat-module.c:310 +msgid "Module options / shortcuts" +msgstr "Module options / shortcuts" + +#: ../src/gtk-sat-module.c:316 +msgid "Close this module." +msgstr "Close this module." + +#: ../src/gtk-sat-module.c:450 +#, c-format +msgid "%s:%d: Invalid module layout (%d)" +msgstr "%s:%d: Invalid module layout (%d)" + +#: ../src/gtk-sat-module.c:477 +#, c-format +msgid "%s:%d: Invalid child number (%d)" +msgstr "%s:%d: Invalid child number (%d)" + +#: ../src/gtk-sat-module.c:514 +#, c-format +msgid "" +"%s:%d: Invalid child type (%d)\n" +"Using GtkSatList..." +msgstr "" +"%s:%d: Invalid child type (%d)\n" +"Using GtkSatList..." + +#: ../src/gtk-sat-module.c:553 +#, c-format +msgid "%s: Could not load config data from %s (%s)." +msgstr "%s: Could not load config data from %s (%s)." + +#: ../src/gtk-sat-module.c:563 +#, c-format +msgid "%s: Reading configuration from %s" +msgstr "%s: Reading configuration from %s" + +#: ../src/gtk-sat-module.c:607 +#, c-format +msgid "%s: Can not load default QTH file %s; using built-in defaults" +msgstr "%s: Can not load default QTH file %s; using built-in defaults" + +#. settings are really screwed up; we need some safe values here +#: ../src/gtk-sat-module.c:611 ../src/gtk-sat-module.c:612 +msgid "Error" +msgstr "Error" + +#: ../src/gtk-sat-module.c:681 ../src/mod-cfg.c:578 +#, c-format +msgid "%s: Failed to get list of satellites (%s)" +msgstr "%s: Failed to get list of satellites (%s)" + +#: ../src/gtk-sat-module.c:703 +#, c-format +msgid "%s: Error reading data for #%d" +msgstr "%s: Error reading data for #%d" + +#: ../src/gtk-sat-module.c:727 +#, c-format +msgid "%s: Read data for #%d" +msgstr "%s: Read data for #%d" + +#: ../src/gtk-sat-module.c:734 +#, c-format +msgid "%s: Sat #%d already in list" +msgstr "%s: Sat #%d already in list" + +#: ../src/gtk-sat-module.c:745 +#, c-format +msgid "%s: Read %d out of %d satellites" +msgstr "%s: Read %d out of %d satellites" + +#: ../src/gtk-sat-module.c:783 +#, c-format +msgid "%s: Previous cycle missed it's deadline." +msgstr "%s: Previous cycle missed it's deadline." + +#: ../src/gtk-sat-module.c:927 ../src/gtk-sat-module.c:1564 +#, c-format +msgid "%f:%d: Unknown child type" +msgstr "%f:%d: Unknown child type" + +#: ../src/gtk-sat-module.c:1087 +#, c-format +msgid "%s: Module %s recevied CLOSE signal." +msgstr "%s: Module %s recevied CLOSE signal." + +#: ../src/gtk-sat-module.c:1097 +#, c-format +msgid "%s: Module %s is in DOCKED state." +msgstr "%s: Module %s is in DOCKED state." + +#: ../src/gtk-sat-module.c:1104 ../src/gtk-sat-module.c:1120 +#: ../src/gtk-sat-module.c:1148 +#, c-format +msgid "" +"%s: Module %s was not found in mod-mgr (%d)\n" +"Internal state is corrupt?" +msgstr "" +"%s: Module %s was not found in mod-mgr (%d)\n" +"Internal state is corrupt?" + +#: ../src/gtk-sat-module.c:1113 +#, c-format +msgid "%s: Module %s is in WINDOW state." +msgstr "%s: Module %s is in WINDOW state." + +#: ../src/gtk-sat-module.c:1141 +#, c-format +msgid "%s: Module %s is in FULLSCREEN state." +msgstr "%s: Module %s is in FULLSCREEN state." + +#: ../src/gtk-sat-module.c:1170 ../src/gtk-sat-module.c:1342 +#, c-format +msgid "%s: Module %s has unknown state: %d" +msgstr "%s: Module %s has unknown state: %d" + +#: ../src/gtk-sat-module.c:1179 +#, c-format +msgid "%s: Module %s closed." +msgstr "%s: Module %s closed." + +#: ../src/gtk-sat-module.c:1220 +#, c-format +msgid "%s: Module %s recevied CONFIG signal." +msgstr "%s: Module %s recevied CONFIG signal." + +#: ../src/gtk-sat-module.c:1229 +#, c-format +msgid "" +"%s: Could not stop timeout callback\n" +"%s: Source ID %d seems invalid." +msgstr "" +"%s: Could not stop timeout callback\n" +"%s: Source ID %d seems invalid." + +#: ../src/gtk-sat-module.c:1247 +#, c-format +msgid "%s: Module configuration failed for some reason." +msgstr "%s: Module configuration failed for some reason." + +#: ../src/gtk-sat-module.c:1510 +#, c-format +msgid "%s: Reloading satellites for module %s" +msgstr "%s: Reloading satellites for module %s" + +#: ../src/gtk-sat-module-popup.c:90 +#, c-format +msgid "%s:%d: %s called with NULL parameter!" +msgstr "%s:%d: %s called with NULL parameter!" + +#: ../src/gtk-sat-module-popup.c:100 +msgid "Detach module" +msgstr "Detach module" + +#: ../src/gtk-sat-module-popup.c:111 +msgid "Attach module" +msgstr "Attach module" + +#: ../src/gtk-sat-module-popup.c:124 +msgid "Leave fullscreen" +msgstr "Leave fullscreen" + +#: ../src/gtk-sat-module-popup.c:133 +msgid "Fullscreen" +msgstr "Fullscreen" + +#. sky at a glance +#: ../src/gtk-sat-module-popup.c:147 +msgid "Sky at a glance" +msgstr "Sky at a glance" + +#. time manager +#: ../src/gtk-sat-module-popup.c:157 ../src/gtk-sat-module-tmg.c:261 +msgid "Time Controller" +msgstr "Time Controller" + +#. Radio Control +#: ../src/gtk-sat-module-popup.c:170 +msgid "Radio Control" +msgstr "Radio Control" + +#. Antenna Control +#: ../src/gtk-sat-module-popup.c:179 +msgid "Antenna Control" +msgstr "Antenna Control" + +#. configure +#: ../src/gtk-sat-module-popup.c:192 +msgid "Configure" +msgstr "Configure" + +#. clone +#: ../src/gtk-sat-module-popup.c:201 +msgid "Clone..." +msgstr "Clone..." + +#. delete module +#: ../src/gtk-sat-module-popup.c:214 ../src/sat-pref-qth.c:490 +#: ../src/sat-pref-rig.c:342 ../src/sat-pref-rot.c:307 +msgid "Delete" +msgstr "Delete" + +#. close +#: ../src/gtk-sat-module-popup.c:223 +msgid "Close" +msgstr "Close" + +#: ../src/gtk-sat-module-popup.c:257 +msgid "" +"A module can not be configured while the radio or rotator controller is " +"active.\n" +"\n" +"Please close the radio and rotator controllers and try again." +msgstr "" +"A module can not be configured while the radio or rotator controller is " +"active.\n" +"\n" +"Please close the radio and rotator controllers and try again." + +#. icon file name +#. window title +#: ../src/gtk-sat-module-popup.c:298 +msgid "Clone Module" +msgstr "Clone Module" + +#. label +#: ../src/gtk-sat-module-popup.c:310 +msgid "Name of new module:" +msgstr "Name of new module:" + +#: ../src/gtk-sat-module-popup.c:319 ../src/mod-cfg.c:515 +msgid "" +"Enter a short name for this module.\n" +"Allowed characters: 0..9, a..z, A..Z, - and _" +msgstr "" +"Enter a short name for this module.\n" +"Allowed characters: 0..9, a..z, A..Z, - and _" + +#: ../src/gtk-sat-module-popup.c:321 ../src/mod-cfg.c:517 +msgid "" +"The name will be used to identify the module and it is also used a file name " +"for saving the data.Max length is 25 characters." +msgstr "" +"The name will be used to identify the module and it is also used a file name " +"for saving the data.Max length is 25 characters." + +#. check button +#: ../src/gtk-sat-module-popup.c:338 +msgid "Open module when created" +msgstr "Open module when created" + +#: ../src/gtk-sat-module-popup.c:342 +msgid "If checked, the new module will be opened after it has been created" +msgstr "If checked, the new module will be opened after it has been created" + +#: ../src/gtk-sat-module-popup.c:358 +#, c-format +msgid "%s:%d: Cloning %s => %s" +msgstr "%s:%d: Cloning %s => %s" + +#: ../src/gtk-sat-module-popup.c:376 +#, c-format +msgid "%s:%d: Failed to clone %s." +msgstr "%s:%d: Failed to clone %s." + +#: ../src/gtk-sat-module-popup.c:381 +#, c-format +msgid "%s:%d: Successfully cloned %s." +msgstr "%s:%d: Successfully cloned %s." + +#: ../src/gtk-sat-module-popup.c:466 +#, c-format +msgid "%s:%d: Cloning cancelled by user." +msgstr "%s:%d: Cloning cancelled by user." + +#: ../src/gtk-sat-module-popup.c:472 +#, c-format +msgid "%s:%d: Cloning interrupted." +msgstr "%s:%d: Cloning interrupted." + +#: ../src/gtk-sat-module-popup.c:659 ../src/gtk-sat-module-popup.c:802 +#, c-format +msgid "%s:%d: Unknown module state: %d" +msgstr "%s:%d: Unknown module state: %d" + +#: ../src/gtk-sat-module-popup.c:828 +#, c-format +msgid "The sky at a glance (%s)" +msgstr "The sky at a glance (%s)" + +#: ../src/gtk-sat-module-popup.c:894 +msgid "" +"You have no radio configuration!\n" +"Please configure a radio first." +msgstr "" +"You have no radio configuration!\n" +"Please configure a radio first." + +#: ../src/gtk-sat-module-popup.c:907 +#, c-format +msgid "Gpredict Radio Control: %s" +msgstr "Gpredict Radio Control: %s" + +#: ../src/gtk-sat-module-popup.c:967 +msgid "" +"You have no rotator configuration!\n" +"Please configure an antenna rotator first." +msgstr "" +"You have no rotator configuration!\n" +"Please configure an antenna rotator first." + +#: ../src/gtk-sat-module-popup.c:980 +#, c-format +msgid "Gpredict Rotator Control: %s" +msgstr "Gpredict Rotator Control: %s" + +#: ../src/gtk-sat-module-popup.c:1066 +#, c-format +msgid "" +"This operation will permanently delete\n" +"<b>%s</b>\n" +"from the disk.\n" +"Do you you want to proceed?" +msgstr "" +"This operation will permanently delete\n" +"<b>%s</b>\n" +"from the disk.\n" +"Do you you want to proceed?" + +#: ../src/gtk-sat-module-popup.c:1076 +#, c-format +msgid "%s:%d: Failed to delete %s." +msgstr "%s:%d: Failed to delete %s." + +#: ../src/gtk-sat-module-popup.c:1081 +#, c-format +msgid "%s:%d: %s deleted permanently." +msgstr "%s:%d: %s deleted permanently." + +#: ../src/gtk-sat-module-tmg.c:70 +#, c-format +msgid "%s: Time Controller for %s is already active" +msgstr "%s: Time Controller for %s is already active" + +#: ../src/gtk-sat-module-tmg.c:94 +msgid "Play forward" +msgstr "Play forward" + +#: ../src/gtk-sat-module-tmg.c:104 +msgid "Stop" +msgstr "Stop" + +#: ../src/gtk-sat-module-tmg.c:115 +msgid "Play backwards" +msgstr "Play backwards" + +#. reset time +#. reset button +#: ../src/gtk-sat-module-tmg.c:120 ../src/sat-pref-conditions.c:427 +#: ../src/sat-pref-single-sat.c:222 ../src/sat-pref-debug.c:141 +#: ../src/sat-pref-formats.c:118 ../src/sat-pref-layout.c:576 +#: ../src/sat-pref-list-view.c:253 ../src/sat-pref-map-view.c:644 +#: ../src/sat-pref-multi-pass.c:190 ../src/sat-pref-polar-view.c:577 +#: ../src/sat-pref-refresh.c:419 ../src/sat-pref-single-pass.c:184 +#: ../src/sat-pref-sky-at-glance.c:491 ../src/sat-pref-tle.c:348 +msgid "Reset" +msgstr "Reset" + +#: ../src/gtk-sat-module-tmg.c:122 +msgid "Reset to current date and time" +msgstr "Reset to current date and time" + +#: ../src/gtk-sat-module-tmg.c:129 ../src/gtk-sat-module-tmg.c:576 +msgid "<b>Real-Time</b>" +msgstr "<b>Real-Time</b>" + +#. hour +#: ../src/gtk-sat-module-tmg.c:149 +msgid " Hour:" +msgstr " Hour:" + +#: ../src/gtk-sat-module-tmg.c:161 +msgid "Use this control to set the hour" +msgstr "Use this control to set the hour" + +#. minutes +#: ../src/gtk-sat-module-tmg.c:169 +msgid " Min:" +msgstr " Min:" + +#: ../src/gtk-sat-module-tmg.c:181 +msgid "Use this control to set the minutes" +msgstr "Use this control to set the minutes" + +#. seconds +#: ../src/gtk-sat-module-tmg.c:189 +msgid " Sec:" +msgstr " Sec:" + +#: ../src/gtk-sat-module-tmg.c:201 +msgid "Use this control to set the seconds" +msgstr "Use this control to set the seconds" + +#. milliseconds +#: ../src/gtk-sat-module-tmg.c:209 +msgid " Msec:" +msgstr " Msec:" + +#: ../src/gtk-sat-module-tmg.c:221 +msgid "Use this control to set the milliseconds" +msgstr "Use this control to set the milliseconds" + +#. time throttle +#: ../src/gtk-sat-module-tmg.c:229 +msgid "Throttle:" +msgstr "Throttle:" + +#: ../src/gtk-sat-module-tmg.c:241 +msgid "Time throttle / compression factor" +msgstr "Time throttle / compression factor" + +#: ../src/gtk-sat-module-tmg.c:282 +#, c-format +msgid "%s: Time Controller for %s launched" +msgstr "%s: Time Controller for %s launched" + +#: ../src/gtk-sat-module-tmg.c:313 +#, c-format +msgid "%s: Time Controller for %s closed. Time reset." +msgstr "%s: Time Controller for %s closed. Time reset." + +#: ../src/gtk-sat-module-tmg.c:483 +#, c-format +msgid "%s: %d/%d/%d %d:%d:%d.%d" +msgstr "%s: %d/%d/%d %d:%d:%d.%d" + +#: ../src/gtk-sat-module-tmg.c:567 +msgid "<b>Simulated Real-Time</b>" +msgstr "<b>Simulated Real-Time</b>" + +#: ../src/gtk-sat-module-tmg.c:571 +msgid "<b>Manual Control</b>" +msgstr "<b>Manual Control</b>" + +#: ../src/gtk-sat-tree.c:231 +msgid "Epoch" +msgstr "Epoch" + +#: ../src/gtk-sat-tree.c:244 +msgid "Selected" +msgstr "Selected" + +#. expand and collabse buttons +#: ../src/gtk-sat-tree.c:266 +msgid "Expand" +msgstr "Expand" + +#: ../src/gtk-sat-tree.c:269 +msgid "Expand all nodes in the tree to make it searchable" +msgstr "Expand all nodes in the tree to make it searchable" + +#: ../src/gtk-sat-tree.c:273 +msgid "Collapse" +msgstr "Collapse" + +#: ../src/gtk-sat-tree.c:276 +msgid "Collapse all nodes in the tree" +msgstr "Collapse all nodes in the tree" + +#: ../src/gtk-sat-tree.c:332 +#, c-format +msgid "%s:%d: Directory is: %s" +msgstr "%s:%d: Directory is: %s" + +#: ../src/gtk-sat-tree.c:340 +#, c-format +msgid "%s:%d: No .tle files found in %s." +msgstr "%s:%d: No .tle files found in %s." + +#: ../src/gtk-sat-tree.c:378 +#, c-format +msgid "%s:%d: Read %d sats from %s " +msgstr "%s:%d: Read %d sats from %s " + +#: ../src/gtk-sat-tree.c:420 +#, c-format +msgid "%s:%d: Failed to open %s (%s)" +msgstr "%s:%d: Failed to open %s (%s)" + +#: ../src/gtk-sat-tree.c:521 ../src/gtk-sat-tree.c:654 +#, c-format +msgid "%s:%d: Satellite %d selected." +msgstr "%s:%d: Satellite %d selected." + +#: ../src/gtk-sat-tree.c:537 ../src/gtk-sat-tree.c:659 +#, c-format +msgid "%s:%d: Satellite %d already selected; skip..." +msgstr "%s:%d: Satellite %d already selected; skip..." + +#: ../src/gtk-sat-tree.c:545 +#, c-format +msgid "%s:%d: Satellite %d de-selected." +msgstr "%s:%d: Satellite %d de-selected." + +#: ../src/gtk-sat-tree.c:581 ../src/gtk-sat-tree.c:734 +#, c-format +msgid "%s: Invalid GtkSatTree!" +msgstr "%s: Invalid GtkSatTree!" + +#: ../src/gtk-sat-tree.c:603 +#, c-format +msgid "%s: Satellite %d already selected; skip..." +msgstr "%s: Satellite %d already selected; skip..." + +#: ../src/gtk-sat-tree.c:745 +#, c-format +msgid "%s: There are no satellites selected => NULL." +msgstr "%s: There are no satellites selected => NULL." + +#. location +#: ../src/loc-tree.c:133 ../src/sat-pref-qth.c:188 +#: ../src/sat-pref-qth-editor.c:220 ../src/qth-editor.c:235 +msgid "Location" +msgstr "Location" + +#: ../src/loc-tree.c:205 +msgid "WX" +msgstr "WX" + +#: ../src/loc-tree.c:221 +msgid "X" +msgstr "X" + +#. dialog window +#: ../src/loc-tree.c:258 +msgid "Select Location" +msgstr "Select Location" + +#: ../src/loc-tree.c:293 +#, c-format +msgid "%s: Selected %s" +msgstr "%s: Selected %s" + +#: ../src/loc-tree.c:304 +#, c-format +msgid "%s: No location selected" +msgstr "%s: No location selected" + +#: ../src/loc-tree.c:354 +#, c-format +msgid "%s: %s does not exist!" +msgstr "%s: %s does not exist!" + +#: ../src/loc-tree.c:445 +#, c-format +msgid "%s: Read %d cities." +msgstr "%s: Read %d cities." + +#: ../src/loc-tree.c:463 +#, c-format +msgid "%s: Failed to open locfile (%s)" +msgstr "%s: Failed to open locfile (%s)" + +#: ../src/loc-tree.c:522 +#, c-format +msgid "%s: Invalid column: %d" +msgstr "%s: Invalid column: %d" + +#: ../src/loc-tree.c:670 +#, c-format +msgid "%s: Failed to get parent for %s." +msgstr "%s: Failed to get parent for %s." + +#: ../src/loc-tree.c:684 +#, c-format +msgid "%s: No selection found!" +msgstr "%s: No selection found!" + +#: ../src/main.c:61 +msgid "just to have a pot" +msgstr "just to have a pot" + +#: ../src/main.c:113 +#, c-format +msgid "" +"%s: User config check failed (code %d). This is fatal.\n" +"A possible solution would be to remove the .gpredict2 data dir\n" +"in your home directory" +msgstr "" +"%s: User config check failed (code %d). This is fatal.\n" +"A possible solution would be to remove the .gpredict2 data dir\n" +"in your home directory" + +#: ../src/main.c:124 +#, c-format +msgid "%s: TLE check failed! This is fatal." +msgstr "%s: TLE check failed! This is fatal." + +#: ../src/main.c:427 +#, c-format +msgid "%s: Time threshold has been passed." +msgstr "%s: Time threshold has been passed." + +#: ../src/main.c:435 +#, c-format +msgid "%s: Starting new update thread." +msgstr "%s: Starting new update thread." + +#: ../src/main.c:445 +#, c-format +msgid "%s: Failed to create TLE update thread (%s)" +msgstr "%s: Failed to create TLE update thread (%s)" + +#: ../src/main.c:455 +msgid "" +"Your TLE files are getting out of date.\n" +"You can update them by selecting\n" +"<b>Edit -> Update TLE</b>\n" +"in the menubar." +msgstr "" +"Your TLE files are getting out of date.\n" +"You can update them by selecting\n" +"<b>Edit -> Update TLE</b>\n" +"in the menubar." + +#: ../src/main.c:486 +#, c-format +msgid "%s: Could not find TLE monitoring task (ID = %d)" +msgstr "%s: Could not find TLE monitoring task (ID = %d)" + +#: ../src/menubar.c:88 +msgid "_File" +msgstr "_File" + +#: ../src/menubar.c:89 +msgid "_Edit" +msgstr "_Edit" + +#: ../src/menubar.c:90 +msgid "_Update TLE" +msgstr "_Update TLE" + +#: ../src/menubar.c:91 +msgid "_Tools" +msgstr "_Tools" + +#: ../src/menubar.c:92 +msgid "_Help" +msgstr "_Help" + +#. File menu +#: ../src/menubar.c:95 +msgid "_New module" +msgstr "_New module" + +#: ../src/menubar.c:96 +msgid "Create a new module" +msgstr "Create a new module" + +#: ../src/menubar.c:97 +msgid "_Open module" +msgstr "_Open module" + +#: ../src/menubar.c:98 +msgid "Open an existing module" +msgstr "Open an existing module" + +#: ../src/menubar.c:100 +msgid "Open the message log browser" +msgstr "Open the message log browser" + +#: ../src/menubar.c:101 +msgid "E_xit" +msgstr "E_xit" + +#: ../src/menubar.c:102 +msgid "Exit the program" +msgstr "Exit the program" + +#. Edit menu +#. { "Tle", GTK_STOCK_REFRESH, N_("Update TLE"), NULL, +#. N_("Update Keplerian elements"), NULL}, +#: ../src/menubar.c:107 +msgid "From _network" +msgstr "From _network" + +#: ../src/menubar.c:108 +msgid "Update Keplerian elements from a network server" +msgstr "Update Keplerian elements from a network server" + +#: ../src/menubar.c:110 +msgid "From l_ocal files" +msgstr "From l_ocal files" + +#: ../src/menubar.c:111 +msgid "Update Keplerian elements from local files" +msgstr "Update Keplerian elements from local files" + +#: ../src/menubar.c:113 +msgid "Using TLE _editor" +msgstr "Using TLE _editor" + +#: ../src/menubar.c:114 +msgid "Add or update Keplerian elements using the TLE editor" +msgstr "Add or update Keplerian elements using the TLE editor" + +#: ../src/menubar.c:116 +msgid "_Transponders" +msgstr "_Transponders" + +#: ../src/menubar.c:117 +msgid "Edit satellite transponder frequencies" +msgstr "Edit satellite transponder frequencies" + +#: ../src/menubar.c:119 +msgid "_Preferences" +msgstr "_Preferences" + +#: ../src/menubar.c:120 +msgid "Edit user preferences" +msgstr "Edit user preferences" + +#. Tools menu +#: ../src/menubar.c:123 +msgid "Comm Window" +msgstr "Comm Window" + +#: ../src/menubar.c:124 +msgid "Predict windows between two observers" +msgstr "Predict windows between two observers" + +#: ../src/menubar.c:126 +msgid "Advanced Predict" +msgstr "Advanced Predict" + +#: ../src/menubar.c:127 +msgid "Open advanced pass predictor" +msgstr "Open advanced pass predictor" + +#. Help menu +#: ../src/menubar.c:130 +msgid "Getting Started" +msgstr "Getting Started" + +#: ../src/menubar.c:131 +msgid "Show online user manual, Getting Started Section" +msgstr "Show online user manual, Getting Started Section" + +#: ../src/menubar.c:133 +msgid "User Manual" +msgstr "User Manual" + +#: ../src/menubar.c:134 +msgid "Show online user manual" +msgstr "Show online user manual" + +#: ../src/menubar.c:135 +msgid "_License" +msgstr "_License" + +#: ../src/menubar.c:136 +msgid "Show the Gpredict license" +msgstr "Show the Gpredict license" + +#: ../src/menubar.c:137 +msgid "_News" +msgstr "_News" + +#: ../src/menubar.c:138 +msgid "Show what's new in this release" +msgstr "Show what's new in this release" + +#: ../src/menubar.c:139 +msgid "_About Gpredict" +msgstr "_About Gpredict" + +#: ../src/menubar.c:140 +msgid "Show about dialog" +msgstr "Show about dialog" + +#: ../src/menubar.c:230 +#, c-format +msgid "Failed to build menubar: %s" +msgstr "Failed to build menubar: %s" + +#: ../src/menubar.c:267 +#, c-format +msgid "%s: Starting new module configurator..." +msgstr "%s: Starting new module configurator..." + +#: ../src/menubar.c:274 +#, c-format +msgid "%s: New module name is %s." +msgstr "%s: New module name is %s." + +#: ../src/menubar.c:295 ../src/menubar.c:363 +#, c-format +msgid "Could not open %s. Please examine the log messages for details." +msgstr "Could not open %s. Please examine the log messages for details." + +#: ../src/menubar.c:319 +#, c-format +msgid "%s: New module config cancelled." +msgstr "%s: New module config cancelled." + +#: ../src/menubar.c:335 +#, c-format +msgid "%s: Open existing module..." +msgstr "%s: Open existing module..." + +#: ../src/menubar.c:342 +#, c-format +msgid "%s: Open module %s." +msgstr "%s: Open module %s." + +#: ../src/menubar.c:401 +#, c-format +msgid "%s: Open module cancelled." +msgstr "%s: Open module cancelled." + +#. create new dialog with progress indicator +#: ../src/menubar.c:456 ../src/menubar.c:626 ../src/sat-pref-general.c:61 +msgid "TLE Update" +msgstr "TLE Update" + +#: ../src/menubar.c:477 +msgid "<b>Updating TLE files from network</b>" +msgstr "<b>Updating TLE files from network</b>" + +#. statistics +#: ../src/menubar.c:490 ../src/menubar.c:660 +msgid "" +"Satellites updated:\t 0\n" +"Satellites skipped:\t 0\n" +"Missing Satellites:\t 0\n" +msgstr "" +"Satellites updated:\t 0\n" +"Satellites skipped:\t 0\n" +"Missing Satellites:\t 0\n" + +#: ../src/menubar.c:516 ../src/menubar.c:686 +msgid "Finished" +msgstr "Finished" + +#. create file chooser +#: ../src/menubar.c:569 +msgid "Select directory" +msgstr "Select directory" + +#. create label +#: ../src/menubar.c:575 +msgid "Select TLE directory:" +msgstr "Select TLE directory:" + +#. create the dalog +#: ../src/menubar.c:584 +msgid "Update TLE from files" +msgstr "Update TLE from files" + +#: ../src/menubar.c:619 +#, c-format +msgid "%s: Running TLE update from %s" +msgstr "%s: Running TLE update from %s" + +#: ../src/menubar.c:646 +msgid "<b>Updating TLE files from files</b>" +msgstr "<b>Updating TLE files from files</b>" + +#: ../src/menubar.c:714 ../src/menubar.c:738 ../src/menubar.c:759 +msgid "This function is still under development." +msgstr "This function is still under development." + +#: ../src/menubar.c:845 +#, c-format +msgid "%s:%s: Scanning directory %s for modules." +msgstr "%s:%s: Scanning directory %s for modules." + +#: ../src/menubar.c:868 +#, c-format +msgid "%s:%d: Failed to open module dir %s (%s)" +msgstr "%s:%d: Failed to open module dir %s (%s)" + +#: ../src/menubar.c:883 +msgid "" +"You do not have any modules set up yet. Please use File->New in order to " +"create a module." +msgstr "" +"You do not have any modules set up yet. Please use File->New in order to " +"create a module." + +#: ../src/menubar.c:901 +msgid "Module" +msgstr "Module" + +#. create dialog +#: ../src/menubar.c:909 +msgid "Select a module" +msgstr "Select a module" + +#: ../src/menubar.c:936 +#, c-format +msgid "%s:%s: Selected module is: %s" +msgstr "%s:%s: Selected module is: %s" + +#: ../src/menubar.c:941 +#, c-format +msgid "%s:%s: No selection is list of modules." +msgstr "%s:%s: No selection is list of modules." + +#: ../src/mod-cfg.c:148 +#, c-format +msgid "%s: Already have module %s. Ask user to confirm..." +msgstr "%s: Already have module %s. Ask user to confirm..." + +#: ../src/mod-cfg.c:157 +#, c-format +msgid "" +"There is already a module called %s.\n" +"Do you want to overwrite this module?" +msgstr "" +"There is already a module called %s.\n" +"Do you want to overwrite this module?" + +#: ../src/mod-cfg.c:183 +#, c-format +msgid "%s: Error while saving module data (%d)." +msgstr "%s: Error while saving module data (%d)." + +#: ../src/mod-cfg.c:194 ../src/mod-cfg.c:283 +#, c-format +msgid "%s: User tried to create module with no sats." +msgstr "%s: User tried to create module with no sats." + +#: ../src/mod-cfg.c:206 ../src/mod-cfg.c:294 +msgid "Please select at least one satellite from the list." +msgstr "Please select at least one satellite from the list." + +#: ../src/mod-cfg.c:344 +#, c-format +msgid "%s: Attempt to save data to empty file name." +msgstr "%s: Attempt to save data to empty file name." + +#: ../src/mod-cfg.c:351 +#, c-format +msgid "%s: Attempt to save NULL data." +msgstr "%s: Attempt to save NULL data." + +#: ../src/mod-cfg.c:362 ../src/sat-cfg.c:305 +#, c-format +msgid "%s: Could not create config data (%s)." +msgstr "%s: Could not create config data (%s)." + +#: ../src/mod-cfg.c:380 ../src/sat-cfg.c:324 +#, c-format +msgid "%s: Could not create config file (%s)." +msgstr "%s: Could not create config file (%s)." + +#: ../src/mod-cfg.c:399 ../src/sat-cfg.c:343 +#, c-format +msgid "%s: Error writing config data (%s)." +msgstr "%s: Error writing config data (%s)." + +#: ../src/mod-cfg.c:408 ../src/sat-cfg.c:352 +#, c-format +msgid "%s: Wrote only %d out of %d chars." +msgstr "%s: Wrote only %d out of %d chars." + +#: ../src/mod-cfg.c:415 +#, c-format +ms... [truncated message content] |
From: <fi...@us...> - 2009-08-05 10:42:51
|
Revision: 360 http://gpredict.svn.sourceforge.net/gpredict/?rev=360&view=rev Author: fillods Date: 2009-08-05 10:42:43 +0000 (Wed, 05 Aug 2009) Log Message: ----------- Set default host to localhost for rigctld/rotctld, working around a crash when field is left empty. Modified Paths: -------------- trunk/ChangeLog trunk/src/sat-pref-rig-editor.c trunk/src/sat-pref-rot-editor.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-08-05 09:40:34 UTC (rev 359) +++ trunk/ChangeLog 2009-08-05 10:42:43 UTC (rev 360) @@ -1,3 +1,10 @@ +2009-08-05 Stephane Fillod <fillods at users.sf.net> + + * src/sat-pref-rig-editor.c: + * src/sat-pref-rot-editor.c: + Set default host to localhost for rigctld/rotctld, working around + a crash when field is left empty. + 2009-08-05 Michael Stephenson <mickstephenson at googlemail.com> * src/gtk-sat-module-popup.c: @@ -12,6 +19,7 @@ * src/gtk-rot-ctrl.c: Spelling corrections. + * configure.ac: * po/en_US.po: * po/en_GB.po: US and British translations. Modified: trunk/src/sat-pref-rig-editor.c =================================================================== --- trunk/src/sat-pref-rig-editor.c 2009-08-05 09:40:34 UTC (rev 359) +++ trunk/src/sat-pref-rig-editor.c 2009-08-05 10:42:43 UTC (rev 360) @@ -177,6 +177,7 @@ host = gtk_entry_new (); gtk_entry_set_max_length (GTK_ENTRY (host), 50); + gtk_entry_set_text (GTK_ENTRY (host), "localhost"); gtk_widget_set_tooltip_text (host, _("Enter the host where rigctld is running. "\ "You can use both host name and IP address, "\ @@ -371,7 +372,7 @@ clear_widgets () { gtk_entry_set_text (GTK_ENTRY (name), ""); - gtk_entry_set_text (GTK_ENTRY (host), ""); + gtk_entry_set_text (GTK_ENTRY (host), "localhost"); gtk_spin_button_set_value (GTK_SPIN_BUTTON (port), 4532); /* hamlib default? */ gtk_spin_button_set_value (GTK_SPIN_BUTTON (lo), 0); gtk_spin_button_set_value (GTK_SPIN_BUTTON (loup), 0); Modified: trunk/src/sat-pref-rot-editor.c =================================================================== --- trunk/src/sat-pref-rot-editor.c 2009-08-05 09:40:34 UTC (rev 359) +++ trunk/src/sat-pref-rot-editor.c 2009-08-05 10:42:43 UTC (rev 360) @@ -174,9 +174,13 @@ host = gtk_entry_new (); gtk_entry_set_max_length (GTK_ENTRY (host), 50); + gtk_entry_set_text (GTK_ENTRY (host), "localhost"); gtk_widget_set_tooltip_text (host, - _("Enter the host where rogctld is running. You can use both host name "\ - " and IP address, e.g. 192.168.1.100")); + _("Enter the host where rigctld is running. "\ + "You can use both host name and IP address, "\ + "e.g. 192.168.1.100\n\n"\ + "If gpredict and rotctld are running on the "\ + "same computer, use localhost")); gtk_table_attach_defaults (GTK_TABLE (table), host, 1, 4, 1, 2); /* port */ @@ -298,7 +302,7 @@ clear_widgets () { gtk_entry_set_text (GTK_ENTRY (name), ""); - gtk_entry_set_text (GTK_ENTRY (host), ""); + gtk_entry_set_text (GTK_ENTRY (host), "localhost"); gtk_spin_button_set_value (GTK_SPIN_BUTTON (port), 4533); /* hamlib default? */ gtk_combo_box_set_active (GTK_COMBO_BOX (aztype), ROT_AZ_TYPE_360); gtk_spin_button_set_value (GTK_SPIN_BUTTON (minaz), 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-09-24 16:14:41
|
Revision: 431 http://gpredict.svn.sourceforge.net/gpredict/?rev=431&view=rev Author: csete Date: 2009-09-24 16:14:31 +0000 (Thu, 24 Sep 2009) Log Message: ----------- Some progress with the satellite selector. Modified Paths: -------------- trunk/ChangeLog trunk/src/gtk-sat-selector.c trunk/src/mod-cfg.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-09-24 12:00:21 UTC (rev 430) +++ trunk/ChangeLog 2009-09-24 16:14:31 UTC (rev 431) @@ -1,3 +1,12 @@ +2009-09-24 Alexandru Csete <oz9aec at gmail.com> + + * src/gtk-sat-selector.c: + Fixed a bug that caused tree models to be deleted when selecting a new satellite group. + + * src/mod-cfg.c: + Added list of selected satellites. + + 2009-09-23 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sat-selector.[ch]: Modified: trunk/src/gtk-sat-selector.c =================================================================== --- trunk/src/gtk-sat-selector.c 2009-09-24 12:00:21 UTC (rev 430) +++ trunk/src/gtk-sat-selector.c 2009-09-24 16:14:31 UTC (rev 431) @@ -269,7 +269,7 @@ //gtk_box_pack_start (GTK_BOX (widget), GTK_SAT_SELECTOR (widget)->groups, FALSE, FALSE, 0); //gtk_box_pack_start (GTK_BOX (widget), GTK_SAT_SELECTOR (widget)->swin, TRUE, TRUE, 0); - table = gtk_table_new (5, 2, FALSE); + table = gtk_table_new (7, 4, TRUE); /* Search */ gtk_table_attach (GTK_TABLE (table), gtk_label_new (_("Search:")), 0, 1, 0, 1, @@ -279,18 +279,18 @@ /* this enables automatic search */ gtk_tree_view_set_search_entry (GTK_TREE_VIEW (GTK_SAT_SELECTOR (widget)->tree), GTK_ENTRY (GTK_SAT_SELECTOR (widget)->search)); - gtk_table_attach (GTK_TABLE (table), GTK_SAT_SELECTOR (widget)->search, 1, 2, 0, 1, + gtk_table_attach (GTK_TABLE (table), GTK_SAT_SELECTOR (widget)->search, 1, 4, 0, 1, GTK_FILL, GTK_FILL, 0, 0); /* Group selector */ gtk_table_attach (GTK_TABLE (table), gtk_label_new (_("Group:")), 0, 1, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); - gtk_table_attach (GTK_TABLE (table), GTK_SAT_SELECTOR (widget)->groups, 1, 2, 1, 2, + gtk_table_attach (GTK_TABLE (table), GTK_SAT_SELECTOR (widget)->groups, 1, 4, 1, 2, GTK_FILL, GTK_FILL, 0, 0); /* satellite list */ - gtk_table_attach (GTK_TABLE (table), GTK_SAT_SELECTOR (widget)->swin, 0, 2, 2, 5, + gtk_table_attach (GTK_TABLE (table), GTK_SAT_SELECTOR (widget)->swin, 0, 4, 2, 7, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 0, 0); /* Add tabel to main container */ Modified: trunk/src/mod-cfg.c =================================================================== --- trunk/src/mod-cfg.c 2009-09-24 12:00:21 UTC (rev 430) +++ trunk/src/mod-cfg.c 2009-09-24 16:14:31 UTC (rev 431) @@ -37,7 +37,7 @@ | ---------------------------------- | | Satellites | | +--------------------------+-----+ | -| | Name | Sel | | +| | Available Satellites | Sel | | | +--------------------------+-----+ | | | > Amateur | | | | | v Weather | | | @@ -96,9 +96,17 @@ static void edit_advanced_settings (GtkDialog *parent, GKeyFile *cfgdata); +static GtkWidget *create_selected_sats_list (GKeyFile *cfgdata, gboolean new); +static void add_selected_sat (GtkListStore *store, gint catnum); + static void sat_activated_cb (GtkSatSelector *selector, gint catnr, gpointer data); +static gint compare_func (GtkTreeModel *model, + GtkTreeIter *a, + GtkTreeIter *b, + gpointer userdata); + /** \brief Create a new module. * * This function creates a new module. The name of the module is @@ -239,7 +247,7 @@ /** \brief Edit configuration for an existing module. * \param modname The name of the module to edit. * \param cfgdata Configuration data for the module. - * \param toplevel Pointer to the topleve window. + * \param toplevel Pointer to the toplevel window. * * This function allows the user to edit the configuration * of the module specified by modname. The changes are stored @@ -456,8 +464,9 @@ { GtkWidget *dialog; GtkWidget *add; - GtkWidget *table; + GtkWidget *table; GtkWidget *label; + GtkWidget *swin; GtkTooltips *tooltips; gchar *icon; /* window icon file name */ @@ -602,18 +611,193 @@ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), tree, TRUE, TRUE, 0); /*** NEW CODE ***/ + /* satellite selector */ GtkWidget *selector = gtk_sat_selector_new (0); g_signal_connect (selector, "sat-activated", G_CALLBACK (sat_activated_cb), NULL); - gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), selector, TRUE, TRUE, 0); + /* list of selected satellites */ + satlist = create_selected_sats_list (cfgdata, new); + swin = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_container_add (GTK_CONTAINER (swin), satlist); + + table = gtk_table_new (7, 9, TRUE); + gtk_table_attach_defaults (GTK_TABLE (table), selector, 0, 4, 0, 7); + gtk_table_attach_defaults (GTK_TABLE (table), swin, 5, 9, 2, 7); + + gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), table, TRUE, TRUE, 0); + gtk_widget_show_all (GTK_DIALOG (dialog)->vbox); return dialog; } +/** \brief Create the list containing the selected satellites. + * \param new Flag indicating whether the module config window is for a new module. + * \returns A newly created GtkTreeView widget. + * + */ +static GtkWidget *create_selected_sats_list (GKeyFile *cfgdata, gboolean new) +{ + GtkWidget *satlist; + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; + GtkListStore *store; + + + satlist = gtk_tree_view_new (); + + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes (_("Selected Satellites"), renderer, + "text", GTK_SAT_SELECTOR_COL_NAME, + NULL); + gtk_tree_view_insert_column (GTK_TREE_VIEW (satlist), column, -1); + gtk_tree_view_column_set_visible (column, TRUE); + + /* catalogue number */ + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes (_("Catnum"), renderer, + "text", GTK_SAT_SELECTOR_COL_CATNUM, + NULL); + gtk_tree_view_insert_column (GTK_TREE_VIEW (satlist), column, -1); + gtk_tree_view_column_set_visible (column, FALSE); + + /* epoch */ + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes (_("Epoch"), renderer, + "text", GTK_SAT_SELECTOR_COL_EPOCH, + NULL); + gtk_tree_view_insert_column (GTK_TREE_VIEW (satlist), column, -1); + gtk_tree_view_column_set_visible (column, FALSE); + + + /* create the model */ + store = gtk_list_store_new (GTK_SAT_SELECTOR_COL_NUM, + G_TYPE_STRING, // name + G_TYPE_INT, // catnum + G_TYPE_DOUBLE // epoch + ); + + /* sort the list by name */ + gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (store), + GTK_SAT_SELECTOR_COL_NAME, + compare_func, + NULL, + NULL); + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), + GTK_SAT_SELECTOR_COL_NAME, + GTK_SORT_ASCENDING); + + /* If we are editing an existing module, load the satellites into the list */ + if (!new) { + gint *sats = NULL; + gsize length; + GError *error = NULL; + guint i; + + sats = g_key_file_get_integer_list (cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_SATS_KEY, + &length, + &error); + + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to get list of satellites (%s)"), + __FUNCTION__, error->message); + + g_clear_error (&error); + + /* GLib API says nothing about the contents in case of error */ + if (sats) { + g_free (sats); + } + + } + else { + for (i = 0; i < length; i++) { + add_selected_sat (store, sats[i]); + g_print ("ADD: %d\n", sats[i]); + } + g_free (sats); + } + + } + + gtk_tree_view_set_model (GTK_TREE_VIEW (satlist), GTK_TREE_MODEL(store)); + g_object_unref (store); + + return satlist; +} + + +/** \brief Add a satellite to the list of selected satellites. + * \param store Pointer to the GtkListStore into which the new satellite should be inserted. + * \param catnum Catalog number of the satellite to be added. + */ +static void add_selected_sat (GtkListStore *store, gint catnum) +{ + gint i, sats = 0; + GtkTreeIter iter; + GtkTreeIter node; /* new top level node added to the tree store */ + gint catnr; + gboolean found = FALSE; + sat_t sat; + + + /* check if the satellite is already in the list */ + + /* get number of satellites already in list */ + sats = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (store), NULL); + + /* loop over list entries and check their catnums */ + for (i = 0; i < sats; i++) { + if (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter, NULL, i)) { + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, + GTK_SAT_SELECTOR_COL_CATNUM, &catnr, + -1); + if (catnum == catnr) { + found = TRUE; + } + } + else { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%s: Could not fetch entry %d in satellite list"), + __FILE__, __FUNCTION__, i); + } + + } + + if (found) + return; + + /* if we have made it so far, satellite is not in list */ + + /* Get satellite data */ + if (gtk_sat_data_read_sat (catnum, &sat)) { + /* error */ + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%s: Error reading satellite %d."), + __FILE__, __FUNCTION__, catnum); + } + else { + /* insert satellite into liststore */ + gtk_list_store_append (store, &node); + gtk_list_store_set (store, &node, + GTK_SAT_SELECTOR_COL_NAME, sat.nickname, + GTK_SAT_SELECTOR_COL_CATNUM, catnum, + GTK_SAT_SELECTOR_COL_EPOCH, sat.jul_epoch, + -1); + g_free (sat.name); + g_free (sat.nickname); + } +} + + + /** \brief Manage name changes. * * This function is called when the contents of the name entry changes. @@ -957,3 +1141,34 @@ g_free (satname); } + + +/** \brief Compare two rows of the GtkSatSelector. + * \param model The tree model of the GtkSatSelector. + * \param a The first row. + * \param b The second row. + * \param userdata Not used. + * + * This function is used by the sorting algorithm to compare two rows of the + * GtkSatSelector widget. The unctions works by comparing the character strings + * in the name column. + */ +static gint compare_func (GtkTreeModel *model, + GtkTreeIter *a, + GtkTreeIter *b, + gpointer userdata) +{ + gchar *sat1,*sat2; + gint ret = 0; + + + gtk_tree_model_get(model, a, GTK_SAT_SELECTOR_COL_NAME, &sat1, -1); + gtk_tree_model_get(model, b, GTK_SAT_SELECTOR_COL_NAME, &sat2, -1); + + ret = g_ascii_strcasecmp (sat1, sat2); + + g_free (sat1); + g_free (sat2); + + return ret; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-09-24 22:41:58
|
Revision: 432 http://gpredict.svn.sourceforge.net/gpredict/?rev=432&view=rev Author: csete Date: 2009-09-24 22:41:49 +0000 (Thu, 24 Sep 2009) Log Message: ----------- Finished new module configuration dialog. Fully functional again. Modified Paths: -------------- trunk/ChangeLog trunk/src/Makefile.am trunk/src/gtk-sat-selector.c trunk/src/mod-cfg.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-09-24 16:14:31 UTC (rev 431) +++ trunk/ChangeLog 2009-09-24 22:41:49 UTC (rev 432) @@ -4,9 +4,13 @@ Fixed a bug that caused tree models to be deleted when selecting a new satellite group. * src/mod-cfg.c: - Added list of selected satellites. + Added list of selected satellites and arrow buttons. New satellite selector is now fully + functional and replaces GtkSatTree. + * src/gtk-sat-tree.[ch]: + Removed from build list. + 2009-09-23 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sat-selector.[ch]: Modified: trunk/src/Makefile.am =================================================================== --- trunk/src/Makefile.am 2009-09-24 16:14:31 UTC (rev 431) +++ trunk/src/Makefile.am 2009-09-24 22:41:49 UTC (rev 432) @@ -52,8 +52,7 @@ gtk-sat-module.c gtk-sat-module.h \ gtk-sat-module-popup.c gtk-sat-module-popup.h \ gtk-sat-module-tmg.c gtk-sat-module-tmg.h \ - gtk-sat-selector.c gtk-sat-slector.h \ - gtk-sat-tree.c gtk-sat-tree.h \ + gtk-sat-selector.c gtk-sat-slector.h \ gtk-single-sat.c gtk-single-sat.h \ gtk-sky-glance.c gtk-sky-glance.h \ gui.c gui.h \ Modified: trunk/src/gtk-sat-selector.c =================================================================== --- trunk/src/gtk-sat-selector.c 2009-09-24 16:14:31 UTC (rev 431) +++ trunk/src/gtk-sat-selector.c 2009-09-24 22:41:49 UTC (rev 432) @@ -264,11 +264,6 @@ gtk_container_add (GTK_CONTAINER (GTK_SAT_SELECTOR (widget)->swin), GTK_SAT_SELECTOR (widget)->tree); - - //gtk_container_add (GTK_CONTAINER (widget), GTK_SAT_TREE (widget)->swin); - //gtk_box_pack_start (GTK_BOX (widget), GTK_SAT_SELECTOR (widget)->groups, FALSE, FALSE, 0); - //gtk_box_pack_start (GTK_BOX (widget), GTK_SAT_SELECTOR (widget)->swin, TRUE, TRUE, 0); - table = gtk_table_new (7, 4, TRUE); /* Search */ @@ -286,7 +281,7 @@ gtk_table_attach (GTK_TABLE (table), gtk_label_new (_("Group:")), 0, 1, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_table_attach (GTK_TABLE (table), GTK_SAT_SELECTOR (widget)->groups, 1, 4, 1, 2, - GTK_FILL, GTK_FILL, 0, 0); + GTK_FILL, GTK_SHRINK, 0, 0); /* satellite list */ Modified: trunk/src/mod-cfg.c =================================================================== --- trunk/src/mod-cfg.c 2009-09-24 16:14:31 UTC (rev 431) +++ trunk/src/mod-cfg.c 2009-09-24 22:41:49 UTC (rev 432) @@ -66,21 +66,18 @@ #include "config-keys.h" #include "sat-cfg.h" #include "sat-pref-modules.h" -#include "gtk-sat-tree.h" #include "qth-editor.h" #include "mod-cfg.h" - #include "gtk-sat-selector.h" + extern GtkWidget *app; - /* private widgets */ static GtkWidget *namew; /* GtkEntry widget for module name */ static GtkWidget *locw; /* GtkComboBox for location selection */ -static GtkWidget *tree; /* OBSOLETE GtkSatTree for selecting satellites */ static GtkWidget *satlist; /* list of selected satellites */ @@ -106,7 +103,13 @@ GtkTreeIter *b, gpointer userdata); +static void row_activated_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data); +static void addbut_clicked_cb (GtkButton *button, GtkSatSelector *selector); +static void delbut_clicked_cb (GtkButton *button, GtkSatSelector *selector); + + /** \brief Create a new module. * * This function creates a new module. The name of the module is @@ -121,8 +124,8 @@ mod_cfg_status_t status; gboolean finished = FALSE; gsize num = 0; - guint *sats; + /* create cfg data */ cfgdata = g_key_file_new (); @@ -138,9 +141,9 @@ /* user pressed OK */ case GTK_RESPONSE_OK: - /* FIXME check that user has selected at least one satellite */ - sats = gtk_sat_tree_get_selected (GTK_SAT_TREE (tree), &num); + num = gtk_tree_model_iter_n_children (gtk_tree_view_get_model (GTK_TREE_VIEW (satlist)), NULL); + if (num > 0) { /* we have at least one sat selected */ gchar *filename,*confdir; @@ -198,8 +201,6 @@ finished = TRUE; } - - g_free (sats); } else { sat_log_log (SAT_LOG_LEVEL_DEBUG, @@ -224,7 +225,7 @@ break; /* bring up properties editor */ - case GTK_RESPONSE_HELP: + case GTK_RESPONSE_HELP: edit_advanced_settings (GTK_DIALOG (dialog), cfgdata); finished = FALSE; break; @@ -262,7 +263,6 @@ gint response; gboolean finished = FALSE; gsize num = 0; - guint *sats; mod_cfg_status_t status = MOD_CFG_CANCEL; @@ -279,14 +279,13 @@ case GTK_RESPONSE_OK: /* check that user has selected at least one satellite */ - sats = gtk_sat_tree_get_selected (GTK_SAT_TREE (tree), &num); + num = gtk_tree_model_iter_n_children (gtk_tree_view_get_model (GTK_TREE_VIEW (satlist)), NULL); if (num > 0) { /* we have at least one sat selected */ mod_cfg_apply (cfgdata); finished = TRUE; - g_free (sats); status = MOD_CFG_OK; } else { @@ -467,6 +466,7 @@ GtkWidget *table; GtkWidget *label; GtkWidget *swin; + GtkWidget *addbut, *delbut; GtkTooltips *tooltips; gchar *icon; /* window icon file name */ @@ -571,46 +571,7 @@ gtk_label_set_markup (GTK_LABEL (label), _("<b>Select Satellites:</b>")); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), label, FALSE, FALSE, 5); - /* OBSOLETE satellite selector */ - tree = gtk_sat_tree_new (0); - if (!new) { - /* select satellites */ - gint *sats = NULL; - gsize length; - GError *error = NULL; - guint i; - sats = g_key_file_get_integer_list (cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_SATS_KEY, - &length, - &error); - - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Failed to get list of satellites (%s)"), - __FUNCTION__, error->message); - - g_clear_error (&error); - - /* GLib API says nothing about the contents in case of error */ - if (sats) { - g_free (sats); - } - - } - else { - for (i = 0; i < length; i++) { - gtk_sat_tree_select (GTK_SAT_TREE (tree), sats[i]); - } - g_free (sats); - } - - } - - gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), tree, TRUE, TRUE, 0); - - /*** NEW CODE ***/ /* satellite selector */ GtkWidget *selector = gtk_sat_selector_new (0); g_signal_connect (selector, "sat-activated", @@ -622,10 +583,19 @@ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (swin), satlist); + /* Add and Delete buttons */ + addbut = gpredict_hstock_button (GTK_STOCK_GO_FORWARD, NULL, + _("Add satellite to list of selected satellites.")); + g_signal_connect (addbut, "clicked", G_CALLBACK (addbut_clicked_cb), selector); + delbut = gpredict_hstock_button (GTK_STOCK_GO_BACK, NULL, + _("Remove satellite from the list of selected satellites.")); + g_signal_connect (delbut, "clicked", G_CALLBACK (delbut_clicked_cb), NULL); table = gtk_table_new (7, 9, TRUE); gtk_table_attach_defaults (GTK_TABLE (table), selector, 0, 4, 0, 7); gtk_table_attach_defaults (GTK_TABLE (table), swin, 5, 9, 2, 7); + gtk_table_attach (GTK_TABLE (table), addbut, 4, 5, 4, 5, GTK_SHRINK, GTK_SHRINK, 2, 5); + gtk_table_attach (GTK_TABLE (table), delbut, 4, 5, 5, 6, GTK_SHRINK, GTK_SHRINK, 2, 5); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), table, TRUE, TRUE, 0); @@ -649,6 +619,8 @@ satlist = gtk_tree_view_new (); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (satlist), TRUE); + //gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (satlist), GTK_TREE_VIEW_GRID_LINES_HORIZONTAL); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Selected Satellites"), renderer, @@ -673,6 +645,10 @@ gtk_tree_view_insert_column (GTK_TREE_VIEW (satlist), column, -1); gtk_tree_view_column_set_visible (column, FALSE); + /* "row-activated" signal is used to catch double click events, which means + a satellite has been selected. This will cause the satellite to be deleted */ + g_signal_connect (GTK_TREE_VIEW (satlist), "row-activated", + G_CALLBACK(row_activated_cb), NULL); /* create the model */ store = gtk_list_store_new (GTK_SAT_SELECTOR_COL_NUM, @@ -720,7 +696,6 @@ else { for (i = 0; i < length; i++) { add_selected_sat (store, sats[i]); - g_print ("ADD: %d\n", sats[i]); } g_free (sats); } @@ -963,11 +938,13 @@ */ static void mod_cfg_apply (GKeyFile *cfgdata) { - guint *sats; gsize num; guint i; + guint catnum; gchar *satstr = NULL; gchar *buff; + GtkTreeModel *model; + GtkTreeIter iter; /* store location */ @@ -993,20 +970,34 @@ g_free (buff); - /* store satellites */ - sats = gtk_sat_tree_get_selected (GTK_SAT_TREE (tree), &num); + /* get number of satellites already in list */ + model = gtk_tree_view_get_model (GTK_TREE_VIEW (satlist)); + num = gtk_tree_model_iter_n_children (model, NULL); + + /* loop over list entries and check their catnums */ for (i = 0; i < num; i++) { + if (gtk_tree_model_iter_nth_child (model, &iter, NULL, i)) { + gtk_tree_model_get (model, &iter, + GTK_SAT_SELECTOR_COL_CATNUM, &catnum, + -1); - if (i) { - buff = g_strdup_printf ("%s;%d", satstr, sats[i]); - g_free (satstr); + if (i) { + buff = g_strdup_printf ("%s;%d", satstr, catnum); + g_free (satstr); + } + else { + buff = g_strdup_printf ("%d", catnum); + } + satstr = g_strdup (buff); + g_free (buff); } else { - buff = g_strdup_printf ("%d", sats[i]); + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%s: Could not fetch entry %d in satellite list"), + __FILE__, __FUNCTION__, i); } - satstr = g_strdup (buff); - g_free (buff); + } g_key_file_set_string (cfgdata, @@ -1014,8 +1005,8 @@ MOD_CFG_SATS_KEY, satstr); g_free (satstr); - g_free (sats); + sat_log_log (SAT_LOG_LEVEL_MSG, _("%s: Applied changes to %s."), __FUNCTION__, gtk_entry_get_text (GTK_ENTRY (namew))); @@ -1130,16 +1121,13 @@ */ static void sat_activated_cb (GtkSatSelector *selector, gint catnr, gpointer data) { - gchar *satname; - gint catnum; - gdouble epoch; + GtkListStore *store; - gtk_sat_selector_get_selected (selector, &catnum, &satname, &epoch); - /* Add satellite to selected list */ + store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (satlist))); + add_selected_sat (store, catnr); - g_free (satname); } @@ -1172,3 +1160,79 @@ return ret; } + + +/** \brief Signal handler for managing satellite selection. + * \param view Pointer to the GtkTreeView object. + * \param path The path of the row that was activated. + * \param column The column where the activation occured. + * \param data Pointer to the GtkSatselector widget. + * + * This function is called when the user double clicks on a satellite in the + * list of satellites. The double clicked satellite is removed from the list. + */ +static void row_activated_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data) +{ + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeIter iter; + gboolean haveselection = FALSE; /* this flag is set to TRUE if there is a selection */ + + + /* get the selected row in the treeview */ + selection = gtk_tree_view_get_selection (view); + haveselection = gtk_tree_selection_get_selected (selection, &model, &iter); + + if (haveselection) { + gtk_list_store_remove (GTK_LIST_STORE(model), &iter); + } +} + + +/** \brief Signal handler for "->" button signals. + * \param button Pointer to the button that received the signal. + * \param selector Pointer to the GtkSatSelector. + */ +static void addbut_clicked_cb (GtkButton *button, GtkSatSelector *selector) +{ + GtkListStore *store; + gint catnum = 0; + gchar *name; + gdouble epoch; + + + /* get the selected row in the treeview */ + gtk_sat_selector_get_selected (selector, &catnum, &name, &epoch); + + if (catnum) { + /* Add satellite to selected list */ + store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (satlist))); + add_selected_sat (store, catnum); + } + +} + + +/** \brief Signal handler for "<-" button signals. + * \param button Pointer to the button that received the signal. + * \param selector Pointer to the GtkSatSelector (not used). + */ +static void delbut_clicked_cb (GtkButton *button, GtkSatSelector *selector) +{ + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeIter iter; + gboolean haveselection = FALSE; /* this flag is set to TRUE if there is a selection */ + + + /* get the selected row in the treeview */ + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (satlist)); + haveselection = gtk_tree_selection_get_selected (selection, &model, &iter); + + if (haveselection) { + gtk_list_store_remove (GTK_LIST_STORE(model), &iter); + } + +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-10-01 19:46:40
|
Revision: 468 http://gpredict.svn.sourceforge.net/gpredict/?rev=468&view=rev Author: csete Date: 2009-10-01 19:46:30 +0000 (Thu, 01 Oct 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/NEWS trunk/TODO Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-10-01 18:22:57 UTC (rev 467) +++ trunk/NEWS 2009-10-01 19:46:30 UTC (rev 468) @@ -1,4 +1,4 @@ -Changes in version 1.1 (TBD) +Changes in version 1.1 (4 Oct 2009) - New satellite selector in the module configuration dialog that makes it easier to locate and select satellites. @@ -6,15 +6,13 @@ The old configuration is imported automatically and one can still use Gpredict 1.0 with the old configuration stored in $HOME/.gpredict2/ - Distribution now includes all satellites from CelesTrak. -* Added new Satellite Editor that allows adding/editing/deleting satellite - data in a convenient UI, including... - Added a slider control to the Time Controller. - Added config option to automatically show the sky tracks on the polar view. - Fixed bug 2116693: List view does not sort properly for all time formats. - Fixed bug 2836265: Time controls should wrap around their limits. - Fixed bug 2691499: Sky at glance crashes with empty module. - Include more maps from NASA Visible Earth: Blue Marble Next Generation. -* Binary packages for Windows, Mac OS X, Ubuntu and generic Linux. +- Binary packages for Windows, Mac OS X. Changes in version 1.0 beta 5 (24 May 2005) Modified: trunk/TODO =================================================================== --- trunk/TODO 2009-10-01 18:22:57 UTC (rev 467) +++ trunk/TODO 2009-10-01 19:46:30 UTC (rev 468) @@ -1,7 +1,8 @@ Future plans for gpredict development include: * Show day/night on satmap. -* TLE editor. +* Added new Satellite Editor that allows adding/editing/deleting satellite + data in a convenient UI, including... * Advanced pass predictor. * Predict communication windows between two ground stations. * Determine all orbit types. @@ -22,8 +23,7 @@ * Toggle the ground track on and off for all the satellites on the map. * New layout engine allowing any number of views per module. * SpaceView: New view show the satellites using a movable camera in space. -* SkyView: * The satellite map can show the range circle of the ground station according to the selected satellite. -x Define obstacles for ground stations. -x Feature request 1613758: Command Line Interface to Gpredict. +* Define obstacles for ground stations. +* Feature request 1613758: Command Line Interface to Gpredict. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-10-05 09:07:58
|
Revision: 479 http://gpredict.svn.sourceforge.net/gpredict/?rev=479&view=rev Author: csete Date: 2009-10-05 09:07:47 +0000 (Mon, 05 Oct 2009) Log Message: ----------- Implemented double click in multi-pass table will show the details of the clicked pass. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/sat-pass-dialogs.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-10-05 08:39:13 UTC (rev 478) +++ trunk/ChangeLog 2009-10-05 09:07:47 UTC (rev 479) @@ -1,3 +1,10 @@ +2009-09-05 Alexandru Csete <oz9aec at gmail.com> + + * src/sat-pass-dialogs.c: + Implemented double click in multi-pass table will show the details of the + clicked pass. + + 2009-10-03 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sat-selector-c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-10-05 08:39:13 UTC (rev 478) +++ trunk/NEWS 2009-10-05 09:07:47 UTC (rev 479) @@ -1,4 +1,4 @@ -Changes in version 1.1 (4 Oct 2009) +Changes in version 1.1 (5 Oct 2009) - New satellite selector in the module configuration dialog that makes it easier to locate and select satellites. @@ -8,6 +8,8 @@ - Distribution now includes all satellites from CelesTrak. - Added a slider control to the Time Controller. - Added config option to automatically show the sky tracks on the polar view. +- In the multi pass window one can now double click on any pass to show the + pass details. The right click pop-menu still works. - Fixed bug 2116693: List view does not sort properly for all time formats. - Fixed bug 2836265: Time controls should wrap around their limits. - Fixed bug 2691499: Sky at glance crashes with empty module. Modified: trunk/src/sat-pass-dialogs.c =================================================================== --- trunk/src/sat-pass-dialogs.c 2009-10-05 08:39:13 UTC (rev 478) +++ trunk/src/sat-pass-dialogs.c 2009-10-05 09:07:47 UTC (rev 479) @@ -227,6 +227,8 @@ static gint multi_pass_dialog_delete (GtkWidget *, GdkEvent *, gpointer); static void multi_pass_dialog_destroy (GtkWidget *, gpointer); +static void row_activated_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data); static gboolean popup_menu_cb (GtkWidget *treeview, gpointer data); @@ -1078,6 +1080,13 @@ g_signal_connect (list, "popup-menu", G_CALLBACK (popup_menu_cb), NULL); + + /* "row-activated" signal is used to catch double click events, which means + a pass has been double clicked => show details */ + g_signal_connect (list, "row-activated", + G_CALLBACK(row_activated_cb), toplevel); + + /* scrolled window */ swin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), @@ -1119,7 +1128,7 @@ g_signal_connect (dialog, "response", G_CALLBACK (multi_pass_response), NULL); - g_signal_connect (dialog, "destroy", + g_signal_connect (dialog, "destroy", G_CALLBACK (multi_pass_dialog_destroy), NULL); g_signal_connect (dialog, "delete_event", G_CALLBACK (multi_pass_dialog_delete), NULL); @@ -1306,7 +1315,6 @@ } - /** \brief Manage "popup-menu" events. * \param treeview The tree view in the GtkSatList widget * \param list Pointer to the GtkSatList widget. @@ -1416,5 +1424,52 @@ } +/** \brief Signal handler for managing double clicks in multi-pass dialog. + * \param view Pointer to the GtkTreeView object. + * \param path The path of the row that was activated. + * \param column The column where the activation occured. + * \param data Pointer to the toplevel window. + * + * This function is called when the user double clicks on a pass in the + * multi-pass dialog. This will cause the pass details to be shown. + */ +static void row_activated_cb (GtkTreeView *treeview, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data) +{ + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeIter iter; + GtkWidget *toplevel = GTK_WIDGET (data); + guint rownum = 0; + GSList *passes = NULL; + pass_t *pass = NULL; + qth_t *qth; -/**** FIXME: formalise with the copy in gtk-sat-list */ + + /* get selected satellite */ + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); + + if (gtk_tree_selection_get_selected (selection, &model, &iter)) { + + /* get data */ + passes = (GSList *) g_object_get_data (G_OBJECT (treeview), "passes"); + qth = (qth_t *) g_object_get_data (G_OBJECT (treeview), "qth"); + + gtk_tree_model_get (model, &iter, + MULTI_PASS_COL_NUMBER, &rownum, + -1); + + /* get selected pass */ + pass = copy_pass (PASS (g_slist_nth_data (passes, rownum))); + + show_pass (pass->satname, qth, pass, toplevel); + + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%d: There is no selection; skip popup."), + __FILE__, __LINE__); + } + +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-10-27 21:27:07
|
Revision: 503 http://gpredict.svn.sourceforge.net/gpredict/?rev=503&view=rev Author: csete Date: 2009-10-27 21:26:57 +0000 (Tue, 27 Oct 2009) Log Message: ----------- Fixed bug that broke TLE update from network, caused by attempts to double-lock the tle_in_progress mutex. Modified Paths: -------------- trunk/ChangeLog trunk/src/tle-update.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-10-25 21:37:22 UTC (rev 502) +++ trunk/ChangeLog 2009-10-27 21:26:57 UTC (rev 503) @@ -1,3 +1,10 @@ +2009-10-27 Alexandru Csete <oz9aec at gmail.com> + + * src/tle-update.c: + Fixed bug that broke TLE update from network, caused by attempts to + double-lock the tle_in_progress mutex. + + 2009-10-25 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sat-module-popup.c: Modified: trunk/src/tle-update.c =================================================================== --- trunk/src/tle-update.c 2009-10-25 21:37:22 UTC (rev 502) +++ trunk/src/tle-update.c 2009-10-27 21:26:57 UTC (rev 503) @@ -50,8 +50,8 @@ /* Replace flag with lock */ /* http://library.gnome.org/devel/glib/unstable/glib-Threads.html */ static GStaticMutex tle_in_progress = G_STATIC_MUTEX_INIT ; +static GStaticMutex tle_file_in_progress = G_STATIC_MUTEX_INIT ; - /* private function prototypes */ static size_t my_write_func (void *ptr, size_t size, size_t nmemb, FILE *stream); static gint read_fresh_tle (const gchar *dir, const gchar *fnam, GHashTable *data); @@ -122,8 +122,13 @@ gdouble fraction = 0.0; gdouble start = 0.0; - if (g_static_mutex_trylock(&tle_in_progress)==FALSE) + if (g_static_mutex_trylock(&tle_file_in_progress)==FALSE) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: A TLE update process is already running. Aborting."), + __FUNCTION__); + return; + } /* create hash table */ data = g_hash_table_new_full (g_int_hash, g_int_equal, g_free, free_new_tle); @@ -353,7 +358,7 @@ /* destroy hash tables */ g_hash_table_destroy (data); - g_static_mutex_unlock(&tle_in_progress); + g_static_mutex_unlock(&tle_file_in_progress); } @@ -517,8 +522,13 @@ /* bail out if we are already in an update process */ /*if (tle_in_progress)*/ - if (g_static_mutex_trylock(&tle_in_progress)==FALSE) + if (g_static_mutex_trylock(&tle_in_progress)==FALSE) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: A TLE update process is already running. Aborting."), + __FUNCTION__); + return; + } /*tle_in_progress = TRUE;*/ @@ -627,11 +637,20 @@ /* continue update if we have fetched at least one file */ if (success > 0) { + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Fetched %d files from network; updating..."), + __FUNCTION__, success); /* call update_from_files */ cache = sat_file_name ("cache"); tle_update_from_files (cache, NULL, silent, progress, label1, label2); g_free (cache); + } + else { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Could not fetch any new TLE files from network; aborting..."), + __FUNCTION__); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-11-06 23:24:09
|
Revision: 509 http://gpredict.svn.sourceforge.net/gpredict/?rev=509&view=rev Author: csete Date: 2009-11-06 23:24:00 +0000 (Fri, 06 Nov 2009) Log Message: ----------- Updated credits. Modified Paths: -------------- trunk/AUTHORS trunk/src/about.c Modified: trunk/AUTHORS =================================================================== --- trunk/AUTHORS 2009-11-06 23:05:41 UTC (rev 508) +++ trunk/AUTHORS 2009-11-06 23:24:00 UTC (rev 509) @@ -2,6 +2,9 @@ Contributors: - William J Beksi, KC2EXL, Map view. +- Charles Suprin, AA1VS, various multithread fixes. +- Valentin Yakovenkov, Windows build. +- David VK5DG, transponder data files - Dr. T.S. Kelso, the author original SGP4/SDP4 algorithms in FORTRAN and Pascal. - Neoklis Kyriazis, 5B4AZ, conversion of the algorithms to C. - Damon Chaplin is the author of GooCanvas, which is used extensively in gpredict Modified: trunk/src/about.c =================================================================== --- trunk/src/about.c 2009-11-06 23:05:41 UTC (rev 508) +++ trunk/src/about.c 2009-11-06 23:24:00 UTC (rev 509) @@ -40,6 +40,8 @@ "", "Contributors:", "David VK5DG (Transponder data files)", + "Charles Suprin, AA1VS (Various multithread fixes)", + "Valentin Yakovenkov (Windows build)", "Bruce Cowan (Gio port of TLE updater)", "Damon Chaplin (GooCanvas)", "Dr. T.S. Kelso (SGP4/SDP4 algorithms)", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-11-18 16:41:10
|
Revision: 517 http://gpredict.svn.sourceforge.net/gpredict/?rev=517&view=rev Author: csete Date: 2009-11-18 16:41:02 +0000 (Wed, 18 Nov 2009) Log Message: ----------- Pack transponder list into a scrolled window to prevent long transponder lists from resizing the satellite info dialog. Modified Paths: -------------- trunk/ChangeLog trunk/src/sat-info.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-11-18 16:13:55 UTC (rev 516) +++ trunk/ChangeLog 2009-11-18 16:41:02 UTC (rev 517) @@ -3,7 +3,11 @@ * src/config-keys.h: Added config key for new GRID layout. + * src/sat-info.c: + Pack transponder list into a scrolled window to prevent long transponder lists from + resizing the satellite info dialog. + 2009-11-06 Alexandru Csete <oz9aec at gmail.com> * src/gtk-rig-ctrl.c: Modified: trunk/src/sat-info.c =================================================================== --- trunk/src/sat-info.c 2009-11-18 16:13:55 UTC (rev 516) +++ trunk/src/sat-info.c 2009-11-18 16:41:02 UTC (rev 517) @@ -415,7 +415,7 @@ /** \brief Create transponder table. */ static GtkWidget *create_transponder_table (guint catnum) { - GtkWidget *vbox,*label; + GtkWidget *vbox,*label,*swin; GSList *trsplist = NULL; trsp_t *trsp = NULL; guint i,n; @@ -424,7 +424,7 @@ trsplist = read_transponders (catnum); if (trsplist == NULL) { - vbox = gtk_label_new (_("No transponders")); + swin = gtk_label_new (_("No transponders")); } else { vbox = gtk_vbox_new (FALSE, 0); @@ -498,8 +498,14 @@ } } free_transponders (trsplist); + + /* pack into a scrolled window */ + swin = gtk_scrolled_window_new (NULL,NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + //gtk_container_add (GTK_CONTAINER (swin), vbox); + gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (swin), vbox); } - return vbox; + return swin; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-11-19 08:33:14
|
Revision: 520 http://gpredict.svn.sourceforge.net/gpredict/?rev=520&view=rev Author: csete Date: 2009-11-19 08:33:05 +0000 (Thu, 19 Nov 2009) Log Message: ----------- Sync Modified Paths: -------------- trunk/ChangeLog trunk/src/gtk-sat-module.c trunk/src/gtk-sat-module.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-11-18 22:30:19 UTC (rev 519) +++ trunk/ChangeLog 2009-11-19 08:33:05 UTC (rev 520) @@ -1,6 +1,7 @@ 2009-11-18 Alexandru Csete <oz9aec at gmail.com> * src/config-keys.h: + * src/sat-cfg.[ch]: Added config key for new GRID layout. * src/sat-info.c: @@ -9,7 +10,7 @@ * src/gtk-single-sat.c: Changed satellite selector to list satellites in the main pop-up menu instead of a - submbenu (fewer mouse clicks). + submbenu (fewer mouse clicks). 2009-11-06 Alexandru Csete <oz9aec at gmail.com> Modified: trunk/src/gtk-sat-module.c =================================================================== --- trunk/src/gtk-sat-module.c 2009-11-18 22:30:19 UTC (rev 519) +++ trunk/src/gtk-sat-module.c 2009-11-19 08:33:05 UTC (rev 520) @@ -176,6 +176,8 @@ module->state = GTK_SAT_MOD_STATE_DOCKED; module->busy = g_mutex_new(); + module->grid = NULL; + module->views = NULL; module->layout = GTK_SAT_MOD_LAYOUT_1; module->view_1 = GTK_SAT_MOD_VIEW_MAP; module->view_2 = GTK_SAT_MOD_VIEW_POLAR; @@ -233,6 +235,13 @@ module->satellites = NULL; } + if (module->grid) { + g_free (module->grid); + module->grid = NULL; + } + + /* FIXME: free module->views? */ + (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } @@ -528,6 +537,7 @@ gchar *qthfile; gchar *confdir; gchar **buffv; + guint length; GError *error = NULL; module->cfgdata = g_key_file_new (); @@ -615,7 +625,20 @@ MOD_CFG_TIMEOUT_KEY, SAT_CFG_INT_MODULE_TIMEOUT); - /* layout */ + /* get grid layout configuration (introduced in 1.2) */ + buffer = mod_cfg_get_str (module->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_GRID, + SAT_CFG_STR_MODULE_GRID); + + /* convert to an integer list */ + buffv = g_strsplit (buffer, ";", 0); + length = g_strv_length (buffv); + if ((length == 0) || (length % 5 != 0)) { + + } + + module->layout = mod_cfg_get_int (module->cfgdata, MOD_CFG_GLOBAL_SECTION, MOD_CFG_LAYOUT, Modified: trunk/src/gtk-sat-module.h =================================================================== --- trunk/src/gtk-sat-module.h 2009-11-18 22:30:19 UTC (rev 519) +++ trunk/src/gtk-sat-module.h 2009-11-19 08:33:05 UTC (rev 520) @@ -113,6 +113,10 @@ gint vpanedpos; /*!< Stored position of vpaned */ gint hpanedpos; /*!< Stored pos of hpaned */ + /* layout and children */ + gint *grid; + GSList *views; + /* children */ GtkWidget *child_1; GtkWidget *child_2; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-11-30 16:51:23
|
Revision: 534 http://gpredict.svn.sourceforge.net/gpredict/?rev=534&view=rev Author: csete Date: 2009-11-30 16:51:16 +0000 (Mon, 30 Nov 2009) Log Message: ----------- First functional version of GtkEventList. Modified Paths: -------------- trunk/ChangeLog trunk/src/gtk-event-list.c trunk/src/gtk-event-list.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-11-30 14:31:50 UTC (rev 533) +++ trunk/ChangeLog 2009-11-30 16:51:16 UTC (rev 534) @@ -1,3 +1,12 @@ +2009-11-30 Alexandru Csete <oz9aec at gmail.com> + + * src/gtk-sat-module.c: + Include support for GtkEventList views. + + * src/gtk-event-list.[ch]: + First functional version. + + 2009-11-29 Alexandru Csete <oz9aec at gmail.com> * src/gtk-event-list.[ch]: Modified: trunk/src/gtk-event-list.c =================================================================== --- trunk/src/gtk-event-list.c 2009-11-30 14:31:50 UTC (rev 533) +++ trunk/src/gtk-event-list.c 2009-11-30 16:51:16 UTC (rev 534) @@ -49,13 +49,17 @@ #include "gtk-sat-list-popup.h" +#define EVENT_LIST_COL_DEF (EVENT_LIST_FLAG_NAME | EVENT_LIST_FLAG_AZ | EVENT_LIST_FLAG_EL | EVENT_LIST_FLAG_TIME) + /** \brief Column titles indexed with column symb. refs. */ const gchar *EVENT_LIST_COL_TITLE[EVENT_LIST_COL_NUMBER] = { - N_("Sat"), + N_("Satellite"), N_("Catnum"), - N_("A/L"), - N_("Time") + N_("Az"), + N_("El"), + N_("Event"), + N_("AOS/LOS") }; @@ -63,17 +67,34 @@ const gchar *EVENT_LIST_COL_HINT[EVENT_LIST_COL_NUMBER] = { N_("Satellite Name"), N_("Catalogue Number"), + N_("Azimuth"), + N_("Elevation"), N_("Next event type (A: AOS, L: LOS)"), N_("Countdown until next event") }; +/* field alignments */ const gfloat EVENT_LIST_COL_XALIGN[EVENT_LIST_COL_NUMBER] = { 0.0, // name 0.5, // catnum + 1.0, // az + 1.0, // el 0.5, // event type - 0.5, // time + 1.0, // time }; +/* column head alignments */ +const gfloat EVENT_LIST_HEAD_XALIGN[EVENT_LIST_COL_NUMBER] = { + 0.0, // name + 0.5, // catnum + 0.5, // az + 0.5, // el + 0.5, // event type + 1.0, // time +}; + + + static void gtk_event_list_class_init (GtkEventListClass *class); static void gtk_event_list_init (GtkEventList *list); static void gtk_event_list_destroy (GtkObject *object); @@ -103,6 +124,12 @@ GtkTreeIter *iter, gpointer column); +static void degree_cell_data_function (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); + static gint event_cell_compare_function (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, @@ -214,30 +241,18 @@ /* initialise column flags */ - evlist->flags = 0; -/* if (columns > 0) - evlist->flags = columns; - else - evlist->flags = mod_cfg_get_int (cfgdata, - MOD_CFG_EVLIST_SECTION, - MOD_CFG_EVLIST_COLUMNS, - SAT_CFG_INT_EVLIST_COLUMNS); - */ - - /* get refresh rate and cycle counter */ -/* evlist->refresh = mod_cfg_get_int (cfgdata, - MOD_CFG_EVLIST_SECTION, - MOD_CFG_EVLIST_REFRESH, - SAT_CFG_INT_EVLIST_REFRESH); - */ - evlist->refresh = 1000; + evlist->flags = EVENT_LIST_COL_DEF; + /* FIXME: Not used */ + evlist->refresh = 3; evlist->counter = 1; /* create the tree view and add columns */ evlist->treeview = gtk_tree_view_new (); - gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (evlist->treeview), FALSE); + /* visual appearance of table */ + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (evlist->treeview), TRUE); + gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (evlist->treeview), GTK_TREE_VIEW_GRID_LINES_NONE); /* create treeview columns */ for (i = 0; i < EVENT_LIST_COL_NUMBER; i++) { @@ -249,11 +264,12 @@ renderer, "text", i, NULL); + gtk_tree_view_insert_column (GTK_TREE_VIEW (evlist->treeview), column, -1); /* only aligns the headers */ - gtk_tree_view_column_set_alignment (column, 0.5); + gtk_tree_view_column_set_alignment (column, EVENT_LIST_HEAD_XALIGN[i]); /* set sort id */ gtk_tree_view_column_set_sort_column_id (column, i); @@ -262,9 +278,9 @@ check_and_set_cell_renderer (column, renderer, i); /* hide columns that have not been specified */ - /*if (!(evlist->flags & (1 << i))) { + if (!(evlist->flags & (1 << i))) { gtk_tree_view_column_set_visible (column, FALSE); - }*/ + } } @@ -310,16 +326,17 @@ GtkListStore *liststore; - liststore = gtk_list_store_new (SAT_LIST_COL_NUMBER, + liststore = gtk_list_store_new (EVENT_LIST_COL_NUMBER, G_TYPE_STRING, // name G_TYPE_INT, // catnum + G_TYPE_DOUBLE, // az + G_TYPE_DOUBLE, // el G_TYPE_BOOLEAN, // TRUE if AOS, FALSE if LOS G_TYPE_DOUBLE); // time /* add each satellite from hash table */ g_hash_table_foreach (sats, event_list_add_satellites, liststore); - return GTK_TREE_MODEL (liststore); } @@ -343,6 +360,8 @@ gtk_list_store_set (store, &item, EVENT_LIST_COL_NAME, sat->nickname, EVENT_LIST_COL_CATNUM, sat->tle.catnr, + EVENT_LIST_COL_AZ, sat->az, + EVENT_LIST_COL_EL, sat->el, EVENT_LIST_COL_EVT, (sat->el >= 0) ? TRUE : FALSE, EVENT_LIST_COL_TIME, 0.0, -1); @@ -357,6 +376,7 @@ GtkEventList *evlist = GTK_EVENT_LIST (widget); + /* first, do some sanity checks */ if ((evlist == NULL) || !IS_GTK_EVENT_LIST (evlist)) { sat_log_log (SAT_LOG_LEVEL_BUG, @@ -364,7 +384,14 @@ __FUNCTION__); } + /* get and tranverse the model */ + model = gtk_tree_view_get_model (GTK_TREE_VIEW (evlist->treeview)); + /* update */ + gtk_tree_model_foreach (model, event_list_update_sats, evlist); + + +#if 0 /* check refresh rate */ if (evlist->counter < evlist->refresh) { evlist->counter++; @@ -378,6 +405,7 @@ /* update */ gtk_tree_model_foreach (model, event_list_update_sats, evlist); } +#endif } @@ -387,11 +415,10 @@ GtkTreeIter *iter, gpointer data) { - GtkEventList *satlist = GTK_EVENT_LIST (data); + GtkEventList *evlist = GTK_EVENT_LIST (data); guint *catnum; sat_t *sat; - gchar *buff; - gint retcode; + gdouble number, now; /* get the catalogue number for this row @@ -399,7 +426,7 @@ */ catnum = g_new0 (guint, 1); gtk_tree_model_get (model, iter, EVENT_LIST_COL_CATNUM, catnum, -1); - sat = SAT (g_hash_table_lookup (satlist->satellites, catnum)); + sat = SAT (g_hash_table_lookup (evlist->satellites, catnum)); if (sat == NULL) { /* satellite not tracked anymore => remove */ @@ -415,28 +442,34 @@ } else { - - /**** FIXME *****/ /* update data */ + now = evlist->tstamp; + if (sat->el > 0.0) { + if (sat->los > 0.0) { + number = sat->los - now; + } + else { + number = -1.0; /* Sat is staionary or no event */ + } + } + else { + if (sat->aos > 0.0) { + number = sat->aos - now; + } + else { + number = -1.0; /* Sat is staionary or no event */ + } + } + /* store new data */ -/* gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_AZ, sat->az, - SAT_LIST_COL_EL, sat->el, - SAT_LIST_COL_RANGE, sat->range, - SAT_LIST_COL_RANGE_RATE, sat->range_rate, - SAT_LIST_COL_LAT, sat->ssplat, - SAT_LIST_COL_LON, sat->ssplon, - SAT_LIST_COL_FOOTPRINT, sat->footprint, - SAT_LIST_COL_ALT, sat->alt, - SAT_LIST_COL_VEL, sat->velo, - SAT_LIST_COL_MA, sat->ma, - SAT_LIST_COL_PHASE, sat->phase, - SAT_LIST_COL_ORBIT, sat->orbit, + gtk_list_store_set (GTK_LIST_STORE (model), iter, + EVENT_LIST_COL_AZ, sat->az, + EVENT_LIST_COL_EL, sat->el, + EVENT_LIST_COL_EVT, (sat->el >= 0) ? TRUE : FALSE, + EVENT_LIST_COL_TIME, number, -1); -*/ - } g_free (catnum); @@ -458,6 +491,16 @@ switch (i) { /* Event type */ + case EVENT_LIST_COL_AZ: + case EVENT_LIST_COL_EL: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + degree_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; + + /* Event type */ case EVENT_LIST_COL_EVT: gtk_tree_view_column_set_cell_data_func (column, renderer, @@ -503,11 +546,11 @@ gtk_tree_model_get (model, iter, coli, &value, -1); - if (value = TRUE) { - buff = g_strdup ("L"); + if (value == TRUE) { + buff = g_strdup (_("LOS")); } else { - buff = g_strdup ("A"); + buff = g_strdup (_("AOS")); } /* render the cell */ @@ -527,16 +570,62 @@ gdouble number; gchar *buff; guint coli = GPOINTER_TO_UINT (column); - time_t t; - guint size; + guint h,m,s; + gchar *ch,*cm,*cs; + /* get cell data */ gtk_tree_model_get (model, iter, coli, &number, -1); /* format the time code */ - buff = g_strdup_printf ("%.6f", number); + if (number < 0.0) { + buff = g_strdup(_("Never")); + } + else { + /* convert julian date to seconds */ + s = (guint) (number * 86400); + + /* extract hours */ + h = (guint) floor (s/3600); + s -= 3600*h; + + /* leading zero */ + if ((h > 0) && (h < 10)) + ch = g_strdup ("0"); + else + ch = g_strdup (""); + + /* extract minutes */ + m = (guint) floor (s/60); + s -= 60*m; + + /* leading zero */ + if (m < 10) + cm = g_strdup ("0"); + else + cm = g_strdup (""); + + /* leading zero */ + if (s < 10) + cs = g_strdup (":0"); + else + cs = g_strdup (":"); + + if (h > 0) { + buff = g_strdup_printf ("%s%d:%s%d%s%d", ch, h, cm, m, cs, s); + } + else { + buff = g_strdup_printf ("%s%d%s%d", cm, m, cs, s); + } + + g_free (ch); + g_free (cm); + g_free (cs); + + } + /* render the cell */ g_object_set (renderer, "text", buff, NULL); g_free (buff); @@ -544,6 +633,31 @@ } + +/* general floats with 2 digits + degree char. Used for Az and El */ +static void degree_cell_data_function (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) +{ + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); + + + /* get the value */ + gtk_tree_model_get (model, iter, coli, &number, -1); + + /* format the number */ + buff = g_strdup_printf ("%.2f\302\260", number); + + /* render column */ + g_object_set (renderer, "text", buff, NULL); + g_free (buff); +} + + /** \brief Function to compare to Event cells. * \param model Pointer to the GtkTreeModel. * \param a Pointer to the first element. Modified: trunk/src/gtk-event-list.h =================================================================== --- trunk/src/gtk-event-list.h 2009-11-30 14:31:50 UTC (rev 533) +++ trunk/src/gtk-event-list.h 2009-11-30 16:51:16 UTC (rev 534) @@ -85,6 +85,8 @@ typedef enum { EVENT_LIST_COL_NAME = 0, /*!< Satellite name. */ EVENT_LIST_COL_CATNUM, /*!< Catalogue number. */ + EVENT_LIST_COL_AZ, /*!< Satellite Azimuth. */ + EVENT_LIST_COL_EL, /*!< Satellite Elevation. */ EVENT_LIST_COL_EVT, /*!< Next event (AOS or LOS). */ EVENT_LIST_COL_TIME, /*!< Time countdown. */ EVENT_LIST_COL_NUMBER @@ -96,6 +98,8 @@ typedef enum { EVENT_LIST_FLAG_NAME = 1 << EVENT_LIST_COL_NAME, /*!< Satellite name. */ EVENT_LIST_FLAG_CATNUM = 1 << EVENT_LIST_COL_CATNUM, + EVENT_LIST_FLAG_AZ = 1 << EVENT_LIST_COL_AZ, + EVENT_LIST_FLAG_EL = 1 << EVENT_LIST_COL_EL, EVENT_LIST_FLAG_EVT = 1 << EVENT_LIST_COL_EVT, /*!< Next event (AOS or LOS) */ EVENT_LIST_FLAG_TIME = 1 << EVENT_LIST_COL_TIME, /*!< Time countdown */ } event_list_flag_t; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-12-01 10:46:44
|
Revision: 537 http://gpredict.svn.sourceforge.net/gpredict/?rev=537&view=rev Author: csete Date: 2009-12-01 10:46:35 +0000 (Tue, 01 Dec 2009) Log Message: ----------- Changed some field alignments for the satellite list. Modified Paths: -------------- trunk/ChangeLog trunk/src/gtk-sat-list.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-12-01 10:35:08 UTC (rev 536) +++ trunk/ChangeLog 2009-12-01 10:46:35 UTC (rev 537) @@ -5,7 +5,10 @@ Added configuration keys for GtkEventList. Curently only refresh rate is configurable. + * src/gtk-sat-list.c: + Changed some field alignments. + 2009-11-30 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sat-module.c: Modified: trunk/src/gtk-sat-list.c =================================================================== --- trunk/src/gtk-sat-list.c 2009-12-01 10:35:08 UTC (rev 536) +++ trunk/src/gtk-sat-list.c 2009-12-01 10:46:35 UTC (rev 537) @@ -110,20 +110,20 @@ const gfloat SAT_LIST_COL_XALIGN[SAT_LIST_COL_NUMBER] = { 0.0, // name 0.5, // catnum - 0.0, // az - 0.0, // el + 1.0, // az + 1.0, // el 0.5, // direction 0.0, // RA 0.0, // dec - 0.0, // range - 0.0, // range rate + 1.0, // range + 1.0, // range rate 0.5, // next event 0.5, // AOS 0.5, // LOS - 0.0, // lat - 0.0, // lon - 0.0, // SSP - 0.0, // footprint + 1.0, // lat + 1.0, // lon + 0.5, // SSP + 0.5, // footprint 1.0, // alt 0.0, // vel 0.0, // doppler This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-12-02 15:14:52
|
Revision: 539 http://gpredict.svn.sourceforge.net/gpredict/?rev=539&view=rev Author: csete Date: 2009-12-02 15:14:39 +0000 (Wed, 02 Dec 2009) Log Message: ----------- Use popup menu for GtkEventList. Modified Paths: -------------- trunk/ChangeLog trunk/src/gtk-event-list.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-12-02 15:12:44 UTC (rev 538) +++ trunk/ChangeLog 2009-12-02 15:14:39 UTC (rev 539) @@ -1,3 +1,14 @@ +2009-12-02 alexandru Csete <oz9aec at gmail.com> + + * src/gtk-event-list-popup.[ch]: + New files implementing popup menu for GtkEventList widget. + + * win32/Makefile: + * src/Makefile.am: + * src/gtk-event-list.c: + Enabled usage of gtk-event-list-popup. + + 2009-12-01 Alexandru csete <oz9aec at gmail.com> * src/config-keys.h: Modified: trunk/src/gtk-event-list.c =================================================================== --- trunk/src/gtk-event-list.c 2009-12-02 15:12:44 UTC (rev 538) +++ trunk/src/gtk-event-list.c 2009-12-02 15:14:39 UTC (rev 539) @@ -33,6 +33,7 @@ #include <glib/gi18n.h> #include "sgpsdp/sgp4sdp4.h" #include "gtk-event-list.h" +#include "gtk-event-list-popup.h" #include "sat-log.h" #include "config-keys.h" #include "sat-cfg.h" @@ -45,10 +46,7 @@ # include <build-config.h> #endif -/*** FIXME */ -#include "gtk-sat-list-popup.h" - #define EVENT_LIST_COL_DEF (EVENT_LIST_FLAG_NAME | EVENT_LIST_FLAG_AZ | EVENT_LIST_FLAG_EL | EVENT_LIST_FLAG_TIME) @@ -301,10 +299,10 @@ g_object_unref (model); -/* g_signal_connect (evlist->treeview, "button-press-event", + g_signal_connect (evlist->treeview, "button-press-event", G_CALLBACK (button_press_cb), widget); g_signal_connect (evlist->treeview, "popup-menu", - G_CALLBACK (popup_menu_cb), widget);*/ + G_CALLBACK (popup_menu_cb), widget); evlist->swin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (evlist->swin), @@ -797,7 +795,7 @@ EVENT_LIST_COL_CATNUM, catnum, -1); - sat = SAT (g_hash_table_lookup (GTK_SAT_LIST (list)->satellites, catnum)); + sat = SAT (g_hash_table_lookup (GTK_EVENT_LIST (list)->satellites, catnum)); if (sat == NULL) { sat_log_log (SAT_LOG_LEVEL_MSG, @@ -806,8 +804,8 @@ } else { - gtk_sat_list_popup_exec (sat, GTK_SAT_LIST (list)->qth, event, - GTK_SAT_LIST (list)); + gtk_event_list_popup_exec (sat, GTK_EVENT_LIST (list)->qth, event, + GTK_EVENT_LIST (list)); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-12-21 14:02:55
|
Revision: 545 http://gpredict.svn.sourceforge.net/gpredict/?rev=545&view=rev Author: csete Date: 2009-12-21 14:02:46 +0000 (Mon, 21 Dec 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/AUTHORS trunk/src/about.c Modified: trunk/AUTHORS =================================================================== --- trunk/AUTHORS 2009-12-21 13:59:47 UTC (rev 544) +++ trunk/AUTHORS 2009-12-21 14:02:46 UTC (rev 545) @@ -11,6 +11,7 @@ see http://www.dachaplin.dsl.pipex.com/goocanvas/ - Maidenhead locator functions are based on work done by Stephane Fillod, Nate Bargmann, Dave Hines, Mirko Caserta, and S. R. Sampson. +- Paul Schulz, various patches. Imagery: Most of the maps originate from NASA Visible Earth, http://visibleearth.nasa.gov/ Modified: trunk/src/about.c =================================================================== --- trunk/src/about.c 2009-12-21 13:59:47 UTC (rev 544) +++ trunk/src/about.c 2009-12-21 14:02:46 UTC (rev 545) @@ -40,8 +40,8 @@ "", "Contributors:", "David VK5DG (Transponder data files)", - "Charles Suprin, AA1VS (Various multithread fixes)", - "Valentin Yakovenkov (Windows build)", + "Charles Suprin, AA1VS (Various multithread fixes)", + "Valentin Yakovenkov (Windows build)", "Bruce Cowan (Gio port of TLE updater)", "Damon Chaplin (GooCanvas)", "Dr. T.S. Kelso (SGP4/SDP4 algorithms)", @@ -53,6 +53,7 @@ "Dave Hines (locator.c)", "Mirko Caserta (locator.c)", "S. R. Sampson (locator.c)", + "Paul Schulz (various patches)", "", "Imagery:", "Most of the maps originate from NASA Visible Earth", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fi...@us...> - 2009-12-24 12:55:30
|
Revision: 548 http://gpredict.svn.sourceforge.net/gpredict/?rev=548&view=rev Author: fillods Date: 2009-12-24 12:55:12 +0000 (Thu, 24 Dec 2009) Log Message: ----------- - Clean hangup with rigctld/rotctld - Misc fr.po update Modified Paths: -------------- trunk/po/fr.po trunk/src/gtk-rig-ctrl.c trunk/src/gtk-rot-ctrl.c Modified: trunk/po/fr.po =================================================================== --- trunk/po/fr.po 2009-12-24 10:36:39 UTC (rev 547) +++ trunk/po/fr.po 2009-12-24 12:55:12 UTC (rev 548) @@ -359,7 +359,7 @@ #: ../src/gtk-polar-view-popup.c:107 ../src/gtk-sat-list-popup.c:97 #: ../src/gtk-sat-map-popup.c:106 ../src/gtk-single-sat.c:837 msgid "Show next pass" -msgstr "Montre prochain passage" +msgstr "Montre le prochain passage" #: ../src/gtk-polar-view-popup.c:115 ../src/gtk-sat-list-popup.c:108 #: ../src/gtk-sat-map-popup.c:114 ../src/gtk-single-sat.c:851 @@ -1794,22 +1794,20 @@ msgstr "" #: ../src/gtk-single-sat.c:73 -#, fuzzy msgid "Sig. Loss" -msgstr "Perte" +msgstr "Perte Sig." #: ../src/gtk-single-sat.c:74 msgid "Sig. Delay" -msgstr "" +msgstr "Délai Sig." #: ../src/gtk-single-sat.c:75 msgid "Mean Anom." msgstr "" #: ../src/gtk-single-sat.c:77 -#, fuzzy msgid "Orbit Num." -msgstr "Num Orbite" +msgstr "Num. Orbite" #: ../src/gtk-single-sat.c:84 msgid "Azimuth of the satellite" @@ -2272,7 +2270,7 @@ "Satellites skipped:\t 0\n" "Missing Satellites:\t 0\n" msgstr "" -"Satellites mis-à-jour:\t 0\n" +"Satellites mis à jour:\t 0\n" "Satellites sautés: \t 0\n" "Satellites manquants: \t 0\n" @@ -3212,9 +3210,8 @@ msgstr "Info Satellite" #: ../src/sat-info.c:427 -#, fuzzy msgid "No transponders" -msgstr "Transpondeurs" +msgstr "Aucun Transpondeur" #. we have a range #: ../src/sat-info.c:454 @@ -5029,10 +5026,10 @@ "Missing Satellites:\t %d\n" "New Satellites:\t\t %d" msgstr "" -"Satellites mis-à-jour:\t %d\n" +"Satellites mis à jour:\t %d\n" "Satellites sautés: \t %d\n" "Satellites manquants: \t %d\n" -"Nouveaux Satellites: \t %d" +"Nouveaux satellites: \t %d" #: ../src/tle-update.c:337 #, c-format Modified: trunk/src/gtk-rig-ctrl.c =================================================================== --- trunk/src/gtk-rig-ctrl.c 2009-12-24 10:36:39 UTC (rev 547) +++ trunk/src/gtk-rig-ctrl.c 2009-12-24 12:55:12 UTC (rev 548) @@ -1860,13 +1860,13 @@ if (conf->ptt == PTT_TYPE_CAT) { /* send command get_ptt (t) */ - buff = g_strdup_printf ("t"); - size = 1; + buff = g_strdup_printf ("t\x0aq\x0a"); + size = 4; } else { /* send command \get_dcd */ - buff = g_strdup_printf ("%c",0x8b); - size = 1; + buff = g_strdup_printf ("%c\x0aq\x0a",0x8b); + size = 4; } written = send(sock, buff, size, 0); @@ -1982,9 +1982,9 @@ } /* send command */ - buff = g_strdup_printf ("F %10.0f", freq); + buff = g_strdup_printf ("F %10.0f\x0aq\x0a", freq); - size = 12; + size = 15; written = send(sock, buff, size, 0); if (written != size) { sat_log_log (SAT_LOG_LEVEL_ERROR, @@ -2065,9 +2065,9 @@ } /* send command */ - buff = g_strdup_printf ("f"); + buff = g_strdup_printf ("f\x0aq\x0a"); - size = 1; + size = 4; written = send(sock, buff, size, 0); if (written != size) { sat_log_log (SAT_LOG_LEVEL_ERROR, @@ -2178,23 +2178,23 @@ /* prepare command */ switch (vfo) { case VFO_A: - buff = g_strdup_printf ("V VFOA"); - size = 6; + buff = g_strdup_printf ("V VFOA\x0aq\x0a"); + size = 9; break; case VFO_B: - buff = g_strdup_printf ("V VFOB"); - size = 6; + buff = g_strdup_printf ("V VFOB\x0aq\x0a"); + size = 9; break; case VFO_MAIN: - buff = g_strdup_printf ("V Main"); - size = 6; + buff = g_strdup_printf ("V Main\x0aq\x0a"); + size = 9; break; case VFO_SUB: - buff = g_strdup_printf ("V Sub"); - size = 5; + buff = g_strdup_printf ("V Sub\x0aq\x0a"); + size = 8; break; default: Modified: trunk/src/gtk-rot-ctrl.c =================================================================== --- trunk/src/gtk-rot-ctrl.c 2009-12-24 10:36:39 UTC (rev 547) +++ trunk/src/gtk-rot-ctrl.c 2009-12-24 12:55:12 UTC (rev 548) @@ -991,9 +991,9 @@ } /* send command */ - buff = g_strdup_printf ("p"); + buff = g_strdup_printf ("p\x0aq\x0a"); - size = 1; + size = 4; written = send(sock, buff, size, 0); if (written != size) { sat_log_log (SAT_LOG_LEVEL_ERROR, @@ -1114,9 +1114,9 @@ /* send command */ g_ascii_formatd (azstr, 8, "%7.2f", az); g_ascii_formatd (elstr, 8, "%7.2f", el); - buff = g_strdup_printf ("P %s %s", azstr, elstr); + buff = g_strdup_printf ("P %s %s\x0aq\x0a", azstr, elstr); - size = 17; + size = 20; written = send(sock, buff, size, 0); if (written != size) { sat_log_log (SAT_LOG_LEVEL_ERROR, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-12-27 01:01:22
|
Revision: 562 http://gpredict.svn.sourceforge.net/gpredict/?rev=562&view=rev Author: csete Date: 2009-12-27 01:01:15 +0000 (Sun, 27 Dec 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-12-27 01:00:53 UTC (rev 561) +++ trunk/ChangeLog 2009-12-27 01:01:15 UTC (rev 562) @@ -1,3 +1,12 @@ +2009-12-26 Alexandru Csete <oz9aec at gmail.com> + + * src/sat-pref-layout.c: + Finished implementation of layout selector. + + * src/pass-to-txt.c: + Fixed bug 2914679: Unable to save Future passes. + + 2009-12-25 Alexandru Csete <oz9aec at gmail.com> * pixmaps/icons: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-12-27 01:00:53 UTC (rev 561) +++ trunk/NEWS 2009-12-27 01:01:15 UTC (rev 562) @@ -2,14 +2,15 @@ * New satellite editor to manually add/edit/delete satellite data. * New transponder editor to edit transponder data. -* New layout engine that allows any combination of views to be created in a NxM grid. - Closes feature request TBD. +- New layout engine that allows any combination of views to be created in a NxM grid. + Closes feature request 2821408. * Feature request 2866570: Set operating mode via CAT. * Feature request 2873824: Flip Passes. * Feature request 2778735: Visual indicator for RX/TX/TRX. * Feature request 2689352: Mutual Contact Window AOS/LOS. - Fixed bug 2877974: Incorrect uplink Doppler. - Fixed bug 2918672: Trailing whitespace and newline in satellite names. +- Fixed bug 2914679: Unable to save Future passes. - Applied patch 2876485: Fix a memory leak in the rotator controller (Thanks to Charles Suprin AA1VS). - Applied patch 2877878: Change Flag to Lock in tle-update (thanks to Charles Suprin AA1VS). - Applied patch 2877918: Fixes segfault in TLE updater (thanks to Charles Suprin AA1VS). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-01-04 17:17:29
|
Revision: 575 http://gpredict.svn.sourceforge.net/gpredict/?rev=575&view=rev Author: csete Date: 2010-01-04 17:17:17 +0000 (Mon, 04 Jan 2010) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-01-04 17:16:11 UTC (rev 574) +++ trunk/ChangeLog 2010-01-04 17:17:17 UTC (rev 575) @@ -1,3 +1,9 @@ +2010-01-04 Alexandru Csete <oz9aec at gmail.com> + + * src/main.c: + Added command line options for cleaning TLE and transponder data. + + 2010-01-02 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sat-selector.[ch]: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-01-04 17:16:11 UTC (rev 574) +++ trunk/NEWS 2010-01-04 17:17:17 UTC (rev 575) @@ -18,6 +18,7 @@ - Applied patch 2893617: Patches for fixing Windows build (thanks to Valentin Yakovenkov). - Applied patch 2916646: Minor fixes to documentation (thanks to Paul Schulz). - Slightly improved UI for the single-satellite view. +- Command line options for cleaning user's TLE and transponder data, see --help for list. Changes in version 1.1 (5 Oct 2009) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-01-05 14:04:45
|
Revision: 578 http://gpredict.svn.sourceforge.net/gpredict/?rev=578&view=rev Author: csete Date: 2010-01-05 14:04:39 +0000 (Tue, 05 Jan 2010) Log Message: ----------- Leave 3px room between satellite label and marker. Modified Paths: -------------- trunk/ChangeLog trunk/src/gtk-sat-map.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-01-05 11:24:59 UTC (rev 577) +++ trunk/ChangeLog 2010-01-05 14:04:39 UTC (rev 578) @@ -1,3 +1,9 @@ +2010-01-05 Alexandru Csete <oz9aec at gmail.com> + + * src/gtk-sat-map-c: + Leave 3px room between satellite label and amrker. + + 2010-01-04 Alexandru Csete <oz9aec at gmail.com> * src/main.c: Modified: trunk/src/gtk-sat-map.c =================================================================== --- trunk/src/gtk-sat-map.c 2010-01-05 11:24:59 UTC (rev 577) +++ trunk/src/gtk-sat-map.c 2010-01-05 14:04:39 UTC (rev 578) @@ -1813,7 +1813,7 @@ NULL); } else if ((satmap->width - x ) < 50) { g_object_set (obj->label, - "x", (gdouble) (x), + "x", (gdouble) (x+3), "y", (gdouble) (y), "anchor", GTK_ANCHOR_EAST, NULL); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-02-01 16:16:37
|
Revision: 600 http://gpredict.svn.sourceforge.net/gpredict/?rev=600&view=rev Author: csete Date: 2010-02-01 16:16:30 +0000 (Mon, 01 Feb 2010) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-02-01 16:10:05 UTC (rev 599) +++ trunk/ChangeLog 2010-02-01 16:16:30 UTC (rev 600) @@ -1,3 +1,14 @@ +2010-02-01 Alexandur Csete <oz9aec at gmail.com> + + * src/qth-data.c: + Applied patch 2943018: Potential Double Free in qth-data.c (Thanks to + Charles Suprin AA1VS). + + * src/gtk-sat-map-ground-track.c: + Applied patch 2942658: Ground Tracks with Narrow Windows (Thanks to Charles + Suprin AA1VS). + + 2010-01-28 Alexandru Csete <oz9aec at gmail.com> * src/predict-tools.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-02-01 16:10:05 UTC (rev 599) +++ trunk/NEWS 2010-02-01 16:16:30 UTC (rev 600) @@ -22,6 +22,8 @@ - Applied patch 2929816: Fixes Bound Checking in gtk-rot-knob.c (Thanks to Charles Suprin AA1VS). - Applied patch 2930342: Improved robustness of pass prediction (Thanks to Charles Suprin AA1VS). - Applied patch 2933879: Check for AOS before burning computational resources (Thanks to Charles Suprin AA1VS). +- Applied patch 2943018: Potential Double Free in qth-data.c (Thanks to Charles Suprin AA1VS). +- Applied patch 2942658: Ground Tracks with Narrow Windows (Thanks to Charles Suprin AA1VS). - Slightly improved UI for the single-satellite view. - Command line options for cleaning user's TLE and transponder data, see --help for list. - Satellite Map: Added shadow to satellite marker and label to enhance visual appearance This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-02-05 14:56:29
|
Revision: 604 http://gpredict.svn.sourceforge.net/gpredict/?rev=604&view=rev Author: csete Date: 2010-02-05 14:56:23 +0000 (Fri, 05 Feb 2010) Log Message: ----------- More visible acknowledgement for contributions. Modified Paths: -------------- trunk/AUTHORS trunk/src/about.c Modified: trunk/AUTHORS =================================================================== --- trunk/AUTHORS 2010-02-05 14:05:13 UTC (rev 603) +++ trunk/AUTHORS 2010-02-05 14:56:23 UTC (rev 604) @@ -1,4 +1,5 @@ -Gpredict is designed and developed by Alexandru Csete, OZ9AEC. +Gpredict is designed and developed by Alexandru Csete OZ9AEC, with significant +contributions from all over the world. Contributors: - William J Beksi, KC2EXL, Map view. Modified: trunk/src/about.c =================================================================== --- trunk/src/about.c 2010-02-05 14:05:13 UTC (rev 603) +++ trunk/src/about.c 2010-02-05 14:56:23 UTC (rev 604) @@ -62,7 +62,7 @@ }; -const gchar license[] = N_("Copyright (C) 2001-2009 Alexandru Csete OZ9AEC\n"\ +const gchar license[] = N_("Copyright (C) 2001-2009 Alexandru Csete OZ9AEC and contributors.\n"\ "Contact: oz9aec at googlemail.com\n\n"\ "Gpredict is free software; you can redistribute it and "\ "mofdify it under the terms of the GNU General Public License "\ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-02-15 20:46:59
|
Revision: 608 http://gpredict.svn.sourceforge.net/gpredict/?rev=608&view=rev Author: csete Date: 2010-02-15 20:46:53 +0000 (Mon, 15 Feb 2010) Log Message: ----------- Applied patch 2951724: Allow TX Doppler correction for FT-817, 857 and 897 (Thanks to Charles Suprin AA1VS). Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/gtk-rig-ctrl.c trunk/src/radio-conf.h trunk/src/sat-pref-rig-editor.c trunk/src/sat-pref-rig.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-02-07 21:50:12 UTC (rev 607) +++ trunk/ChangeLog 2010-02-15 20:46:53 UTC (rev 608) @@ -1,3 +1,14 @@ +2010-02-15 Alexandru Csete <oz9aec at gmail.com> + + * src/gtk-rig-ctrl.c: + * src/sat-pref-rig.c: + Applied patch 2951724: Allow FT-857 to work QSO (should also work with 817 and 897). + + * src/radio-conf.h: + * sat-pref-rig-editor.c: + Updated to work with patch 2951724: Allow FT-857 to work QSO. + + 2010-02-07 Alexandru Csete <oz9aec at gmail.com> * src/menubar.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-02-07 21:50:12 UTC (rev 607) +++ trunk/NEWS 2010-02-15 20:46:53 UTC (rev 608) @@ -28,6 +28,7 @@ - Applied patch 2943448: Remove Segfault from corrupted module (Thanks to Charles Suprin AA1VS). - Applied patch 2945525: Sort list of modules in open module dialog (Thanks to Charles Suprin AA1VS). - Applied patch 2947459: Make Module List Scrollable (Thanks to Charles Suprin AA1VS). +- Applied patch 2951724: Allow TX Doppler correction for FT-817, 857 and 897 (Thanks to Charles Suprin AA1VS). - Slightly improved UI for the single-satellite view. - Command line options for cleaning user's TLE and transponder data, see --help for list. - Satellite Map: Added shadow to satellite marker and label to enhance visual appearance Modified: trunk/src/gtk-rig-ctrl.c =================================================================== --- trunk/src/gtk-rig-ctrl.c 2010-02-07 21:50:12 UTC (rev 607) +++ trunk/src/gtk-rig-ctrl.c 2010-02-15 20:46:53 UTC (rev 608) @@ -103,10 +103,16 @@ static void exec_rx_cycle (GtkRigCtrl *ctrl); static void exec_tx_cycle (GtkRigCtrl *ctrl); static void exec_trx_cycle (GtkRigCtrl *ctrl); +static void exec_split_cycle (GtkRigCtrl *ctrl); +static void exec_split_tx_cycle (GtkRigCtrl *ctrl); static void exec_duplex_cycle (GtkRigCtrl *ctrl); static void exec_dual_rig_cycle (GtkRigCtrl *ctrl); static gboolean set_freq_simplex (GtkRigCtrl *ctrl, radio_conf_t *conf, gdouble freq); static gboolean get_freq_simplex (GtkRigCtrl *ctrl, radio_conf_t *conf, gdouble *freq); +static gboolean set_freq_split (GtkRigCtrl *ctrl, radio_conf_t *conf, gdouble freq); +static gboolean set_split (GtkRigCtrl *ctrl, radio_conf_t *conf); +static gboolean unset_split (GtkRigCtrl *ctrl, radio_conf_t *conf); +static gboolean get_freq_split (GtkRigCtrl *ctrl, radio_conf_t *conf, gdouble *freq); static gboolean get_ptt (GtkRigCtrl *ctrl, radio_conf_t *conf); static gboolean set_vfo (GtkRigCtrl *ctrl, vfo_t vfo); static void update_count_down (GtkRigCtrl *ctrl, gdouble t); @@ -674,7 +680,7 @@ /* read each .rig file */ while ((filename = g_dir_read_name (dir))) { - if (g_strrstr (filename, ".rig")) { + if (g_str_has_suffix (filename, ".rig")) { vbuff = g_strsplit (filename, ".rig", 0); gtk_combo_box_append_text (GTK_COMBO_BOX (ctrl->DevSel), vbuff[0]); @@ -714,7 +720,7 @@ /* read each .rig file */ while ((filename = g_dir_read_name (dir))) { - if (g_strrstr (filename, ".rig")) { + if (g_str_has_suffix (filename, ".rig")) { /* only add TX capable rigs */ vbuff = g_strsplit (filename, ".rig", 0); @@ -1172,6 +1178,13 @@ ctrl->engaged = FALSE; ctrl->lasttxf = 0.0; ctrl->lastrxf = 0.0; + switch (ctrl->conf->type) { + case RIG_TYPE_SPLIT: + unset_split (ctrl,ctrl->conf); + break; + default: + break; + } } else { if (ctrl->conf == NULL) { @@ -1210,6 +1223,11 @@ case RIG_TYPE_DUPLEX: exec_duplex_cycle (ctrl); break; + + case RIG_TYPE_SPLIT: + set_split (ctrl,ctrl->conf); + exec_split_cycle (ctrl); + break; default: /* this is an error! */ @@ -1265,7 +1283,6 @@ { GtkRigCtrl *ctrl = GTK_RIG_CTRL (data); - if (g_static_mutex_trylock(&(ctrl->busy))==FALSE) { sat_log_log (SAT_LOG_LEVEL_ERROR,_("%s missed the deadline"),__FUNCTION__); return TRUE; @@ -1293,6 +1310,10 @@ case RIG_TYPE_DUPLEX: exec_duplex_cycle (ctrl); break; + + case RIG_TYPE_SPLIT: + exec_split_cycle (ctrl); + break; default: /* invalid mode */ @@ -1566,7 +1587,132 @@ exec_tx_cycle (ctrl); } +/** \brief Execute split mode cycle. + * \param ctrl Pointer to the GtkRigCtrl widget. + * + * This function executes a controller cycle when the device is of RIG_TYPE_SPLIT. + */ +static void exec_split_cycle (GtkRigCtrl *ctrl) +{ + exec_rx_cycle (ctrl); + exec_split_tx_cycle (ctrl); +} +/** \brief Execute TX mode cycle. + * \param ctrl Pointer to the GtkRigCtrl widget. + * + * This function executes a transmit cycle when the primary device is of RIG_TYPE_SPLIT. + */ + +static void exec_split_tx_cycle (GtkRigCtrl *ctrl) +{ + gdouble readfreq=0.0, tmpfreq, satfreqd, satfrequ; + gboolean ptt = TRUE; + gboolean dialchanged = FALSE; + + /* Dial feedback: + If radio device is engaged read frequency from radio and compare it to the + last set frequency. If different, it means that user has changed frequency + on the radio dial => update transponder knob + + Note: If ctrl->lasttxf = 0.0 the sync has been invalidated (e.g. user pressed "tune") + and no need to execute the dial feedback. + */ + if (ctrl->engaged && ctrl->conf->ptt) { + ptt = get_ptt (ctrl, ctrl->conf); + } + if ((ctrl->engaged) && (ctrl->lasttxf > 0.0)) { + + if (ptt == TRUE) { + printf("PTT TRUE\n"); + if (!get_freq_split (ctrl, ctrl->conf, &readfreq)) { + /* error => use a passive value */ + readfreq = ctrl->lasttxf; + ctrl->errcnt++; + } + } else { + readfreq = ctrl->lasttxf; + } + + if (fabs (readfreq - ctrl->lasttxf) >= 1.0) { + dialchanged = TRUE; + printf("Dial Changed\n"); + printf("Readfreq %f\n",readfreq); + printf("lastfreq %f\n",ctrl->lasttxf); + /* user might have altered radio frequency => update transponder knob */ + gtk_freq_knob_set_value (GTK_FREQ_KNOB (ctrl->RigFreqUp), readfreq); + ctrl->lasttxf = readfreq; + + /* doppler shift; only if we are tracking */ + if (ctrl->tracking) { + satfrequ = readfreq - ctrl->du + ctrl->conf->loup; + } + else { + satfrequ = readfreq + ctrl->conf->loup; + } + gtk_freq_knob_set_value (GTK_FREQ_KNOB (ctrl->SatFreqUp), satfrequ); + + /* Follow with downlink if transponder is locked */ + if (ctrl->trsplock) { + track_uplink (ctrl); + } + } + } + + /* now, forward tracking */ + if (dialchanged) { + /* no need to forward track */ + return; + } + + /* If we are tracking, calculate the radio freq by applying both dopper shift + and tranverter LO frequency. If we are not tracking, apply only LO frequency. + */ + satfreqd = gtk_freq_knob_get_value (GTK_FREQ_KNOB (ctrl->SatFreqDown)); + satfrequ = gtk_freq_knob_get_value (GTK_FREQ_KNOB (ctrl->SatFreqUp)); + if (ctrl->tracking) { + /* downlink */ + gtk_freq_knob_set_value (GTK_FREQ_KNOB (ctrl->RigFreqDown), + satfreqd + ctrl->dd - ctrl->conf->lo); + /* uplink */ + gtk_freq_knob_set_value (GTK_FREQ_KNOB (ctrl->RigFreqUp), + satfrequ + ctrl->du - ctrl->conf->loup); + } + else { + gtk_freq_knob_set_value (GTK_FREQ_KNOB (ctrl->RigFreqDown), + satfreqd - ctrl->conf->lo); + gtk_freq_knob_set_value (GTK_FREQ_KNOB (ctrl->RigFreqUp), + satfrequ - ctrl->conf->loup); + } + + tmpfreq = gtk_freq_knob_get_value(GTK_FREQ_KNOB(ctrl->RigFreqUp)); + + /* if device is engaged, send freq command to radio */ + if ((ctrl->engaged) && (fabs(ctrl->lasttxf - tmpfreq) >= 1.0)) { + if (set_freq_split (ctrl, ctrl->conf, tmpfreq)) { + /* reset error counter */ + ctrl->errcnt = 0; + + /* give radio a chance to set frequency */ + g_usleep (WR_DEL); + + /* The actual frequency migh be different from what we have set because + the tuning step is larger than what we work with (e.g. FT-817 has a + smallest tuning step of 10 Hz). Therefore we read back the actual + frequency from the rig. */ + if (ptt){ + get_freq_split (ctrl, ctrl->conf, &tmpfreq); + } + ctrl->lasttxf = tmpfreq; + } + else { + ctrl->errcnt++; + } + } + +} + + /** \brief Execute duplex mode cycle. * \param ctrl Pointer to the GtkRigCtrl widget. * @@ -1575,7 +1721,6 @@ static void exec_duplex_cycle (GtkRigCtrl *ctrl) { if (ctrl->engaged) { - /* Downlink */ set_vfo (ctrl, ctrl->conf->vfoDown); exec_rx_cycle (ctrl); @@ -2008,6 +2153,239 @@ } +/** \brief Set frequency in split mode + * \param ctrl Pointer to the GtkRigCtrl structure. + * \param freq The new frequency. + * \return TRUE if the operation was successful, FALSE if a connection error + * occurred. + * + * \note freq is not strictly necessary for normal use since we could have + * gotten the current frequency from the ctrl; however, the param + * might become useful in the future. + */ + +static gboolean set_freq_split (GtkRigCtrl *ctrl, radio_conf_t *conf, gdouble freq) +{ + gchar *buff; + gint written,size; + gint status; + struct hostent *h; + struct sockaddr_in ServAddr; + gint sock; /*!< Network socket */ + + /* create socket */ + sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); + if (sock < 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to create socket"), + __FUNCTION__); + return FALSE; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Network socket created successfully"), + __FUNCTION__); + } + + memset(&ServAddr, 0, sizeof(ServAddr)); /* Zero out structure */ + ServAddr.sin_family = AF_INET; /* Internet address family */ + h = gethostbyname(conf->host); + memcpy((char *) &ServAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length); + ServAddr.sin_port = htons(conf->port); /* Server port */ + + /* establish connection */ + status = connect(sock, (struct sockaddr *) &ServAddr, sizeof(ServAddr)); + if (status < 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to connect to %s:%d"), + __FUNCTION__, conf->host, conf->port); + return FALSE; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Connection opened to %s:%d"), + __FUNCTION__, conf->host, conf->port); + } + + /* send command */ + buff = g_strdup_printf ("I %10.0f\x0aq\x0a", freq); + + size = 15; + written = send(sock, buff, size, 0); + if (written != size) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: SIZE ERROR %d / %d"), + __FUNCTION__, written, size); + } + g_free (buff); + +#ifndef WIN32 + shutdown (sock, SHUT_RDWR); +#else + shutdown (sock, SD_BOTH); +#endif + + close (sock); + + ctrl->wrops++; + + return TRUE; +} + + +/** \brief Turn on the radios split mode + * \param ctrl Pointer to the GtkRigCtrl structure. + * \return TRUE if the operation was successful, FALSE if a connection error + * occurred. + * + */ +static gboolean set_split (GtkRigCtrl *ctrl, radio_conf_t *conf) +{ + gchar *buff; + gint written,size; + gint status; + struct hostent *h; + struct sockaddr_in ServAddr; + gint sock; /*!< Network socket */ + + /* create socket */ + sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); + if (sock < 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to create socket"), + __FUNCTION__); + return FALSE; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Network socket created successfully"), + __FUNCTION__); + } + + memset(&ServAddr, 0, sizeof(ServAddr)); /* Zero out structure */ + ServAddr.sin_family = AF_INET; /* Internet address family */ + h = gethostbyname(conf->host); + memcpy((char *) &ServAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length); + ServAddr.sin_port = htons(conf->port); /* Server port */ + + /* establish connection */ + status = connect(sock, (struct sockaddr *) &ServAddr, sizeof(ServAddr)); + if (status < 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to connect to %s:%d"), + __FUNCTION__, conf->host, conf->port); + return FALSE; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Connection opened to %s:%d"), + __FUNCTION__, conf->host, conf->port); + } + + /* send command */ + buff = g_strdup_printf ("S 1 %d\x0aq\x0a",ctrl->conf->vfoDown); + + size = 15; + written = send(sock, buff, size, 0); + if (written != size) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: SIZE ERROR %d / %d"), + __FUNCTION__, written, size); + } + g_free (buff); + +#ifndef WIN32 + shutdown (sock, SHUT_RDWR); +#else + shutdown (sock, SD_BOTH); +#endif + + close (sock); + + ctrl->wrops++; + + return TRUE; +} + +/** \brief Turn off the radios split mode + * \param ctrl Pointer to the GtkRigCtrl structure. + * \return TRUE if the operation was successful, FALSE if a connection error + * occurred. + * + */ + +static gboolean unset_split (GtkRigCtrl *ctrl, radio_conf_t *conf) +{ + gchar *buff; + gint written,size; + gint status; + struct hostent *h; + struct sockaddr_in ServAddr; + gint sock; /*!< Network socket */ + + /* create socket */ + sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); + if (sock < 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to create socket"), + __FUNCTION__); + return FALSE; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Network socket created successfully"), + __FUNCTION__); + } + + memset(&ServAddr, 0, sizeof(ServAddr)); /* Zero out structure */ + ServAddr.sin_family = AF_INET; /* Internet address family */ + h = gethostbyname(conf->host); + memcpy((char *) &ServAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length); + ServAddr.sin_port = htons(conf->port); /* Server port */ + + /* establish connection */ + status = connect(sock, (struct sockaddr *) &ServAddr, sizeof(ServAddr)); + if (status < 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to connect to %s:%d"), + __FUNCTION__, conf->host, conf->port); + return FALSE; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Connection opened to %s:%d"), + __FUNCTION__, conf->host, conf->port); + } + + /* send command */ + buff = g_strdup_printf ("S 0 %d\x0aq\x0a",ctrl->conf->vfoDown); + + size = 15; + written = send(sock, buff, size, 0); + if (written != size) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: SIZE ERROR %d / %d"), + __FUNCTION__, written, size); + } + g_free (buff); + +#ifndef WIN32 + shutdown (sock, SHUT_RDWR); +#else + shutdown (sock, SD_BOTH); +#endif + + close (sock); + + ctrl->wrops++; + + return TRUE; +} + + + + + /** \brief Get frequency * \param ctrl Pointer to the GtkRigCtrl structure. * \param freq The current frequency of the radio. @@ -2126,6 +2504,125 @@ return TRUE; } +/** \brief Get frequency when the radio is working split + * \param ctrl Pointer to the GtkRigCtrl structure. + * \param freq The current frequency of the radio. + * \return TRUE if the operation was successful, FALSE if a connection error + * occurred. + */ + +static gboolean get_freq_split (GtkRigCtrl *ctrl, radio_conf_t *conf, gdouble *freq) +{ + gchar *buff,**vbuff; + gint written,size; + gint status; + struct hostent *h; + struct sockaddr_in ServAddr; + gint sock; /*!< Network socket */ + + + if (freq == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%d: NULL storage."), + __FILE__, __LINE__); + return FALSE; + } + + /* create socket */ + sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); + if (sock < 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%d: Failed to create socket"), + __FILE__, __LINE__); + return FALSE; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s:%d Network socket created successfully"), + __FILE__, __LINE__); + } + + memset(&ServAddr, 0, sizeof(ServAddr)); /* Zero out structure */ + ServAddr.sin_family = AF_INET; /* Internet address family */ + h = gethostbyname(conf->host); + memcpy((char *) &ServAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length); + ServAddr.sin_port = htons(conf->port); /* Server port */ + + /* establish connection */ + status = connect(sock, (struct sockaddr *) &ServAddr, sizeof(ServAddr)); + if (status < 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%d: Failed to connect to %s:%d"), + __FILE__, __LINE__, conf->host, conf->port); + return FALSE; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s:%d: Connection opened to %s:%d"), + __FILE__, __LINE__, conf->host, conf->port); + } + + /* send command */ + buff = g_strdup_printf ("i\x0aq\x0a"); + + size = 4; + written = send(sock, buff, size, 0); + if (written != size) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%d: SIZE ERROR %d / %d"), + __FILE__, __LINE__, written, size); + } + g_free (buff); + + + /* try to read answer */ + buff = g_try_malloc (128); + if (buff == NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%s: Failed to allocate 128 bytes (yes, this means trouble)"), + __FILE__, __FUNCTION__); + +#ifndef WIN32 + shutdown (sock, SHUT_RDWR); +#else + shutdown (sock, SD_BOTH); +#endif + + close (sock); + return FALSE; + } + + size = read (sock, buff, 127); + if (size == 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%s: Got 0 bytes from rigctld"), + __FILE__, __FUNCTION__); + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s:%s: Read %d bytes from rigctld"), + __FILE__, __FUNCTION__, size); + + buff[size] = 0; + vbuff = g_strsplit (buff, "\n", 3); + *freq = g_ascii_strtod (vbuff[0], NULL); + + g_free (buff); + g_strfreev (vbuff); + } + +#ifndef WIN32 + shutdown (sock, SHUT_RDWR); +#else + shutdown (sock, SD_BOTH); +#endif + + close (sock); + + + return TRUE; +} + /** \brief Select target VFO * \param ctrl Pointer to the GtkRigCtrl structure. * \param vfo The VFO to select @@ -2388,7 +2885,7 @@ /* read each .rig file */ while ((filename = g_dir_read_name (dir))) { - if (g_strrstr (filename, ".rig")) { + if (g_str_has_suffix (filename, ".rig")) { i++; } } @@ -2509,3 +3006,68 @@ return cantx; } + + + +gboolean send_rigctld_command(GtkRigCtrl *ctrl, gchar *buff, gint size) +{ + gint written; + gint status; + struct hostent *h; + struct sockaddr_in ServAddr; + gint sock; /*!< Network socket */ + + /* create socket */ + sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); + if (sock < 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to create socket"), + __FUNCTION__); + return FALSE; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Network socket created successfully"), + __FUNCTION__); + } + + memset(&ServAddr, 0, sizeof(ServAddr)); /* Zero out structure */ + ServAddr.sin_family = AF_INET; /* Internet address family */ + h = gethostbyname(ctrl->conf->host); + memcpy((char *) &ServAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length); + ServAddr.sin_port = htons(ctrl->conf->port); /* Server port */ + + /* establish connection */ + status = connect(sock, (struct sockaddr *) &ServAddr, sizeof(ServAddr)); + if (status < 0) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to connect to %s:%d"), + __FUNCTION__, ctrl->conf->host, ctrl->conf->port); + return FALSE; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Connection opened to %s:%d"), + __FUNCTION__, ctrl->conf->host, ctrl->conf->port); + } + + /* send command */ + written = send(sock, buff, size, 0); + if (written != size) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: SIZE ERROR %d / %d"), + __FUNCTION__, written, size); + } + +#ifndef WIN32 + shutdown (sock, SHUT_RDWR); +#else + shutdown (sock, SD_BOTH); +#endif + + close (sock); + + ctrl->wrops++; + + return TRUE; +} Modified: trunk/src/radio-conf.h =================================================================== --- trunk/src/radio-conf.h 2010-02-07 21:50:12 UTC (rev 607) +++ trunk/src/radio-conf.h 2010-02-15 20:46:53 UTC (rev 608) @@ -38,7 +38,9 @@ RIG_TYPE_RX = 0, /*!< Rig can only be used as receiver */ RIG_TYPE_TX, /*!< Rig can only be used as transmitter */ RIG_TYPE_TRX, /*!< Rig can be used as RX/TX (simplex only) */ - RIG_TYPE_DUPLEX /*!< Rig is a full duplex radio, e.g. IC910 */ + RIG_TYPE_DUPLEX, /*!< Rig is a full duplex radio, e.g. IC910 */ + RIG_TYPE_SPLIT /*!< Special mode for FT-817, 857 and 897 + FIXME: Find a better name because RIG_TYPE_TRX *is* actually split! */ } rig_type_t; typedef enum { Modified: trunk/src/sat-pref-rig-editor.c =================================================================== --- trunk/src/sat-pref-rig-editor.c 2010-02-07 21:50:12 UTC (rev 607) +++ trunk/src/sat-pref-rig-editor.c 2010-02-15 20:46:53 UTC (rev 608) @@ -208,6 +208,7 @@ gtk_combo_box_append_text (GTK_COMBO_BOX (type), _("TX only")); gtk_combo_box_append_text (GTK_COMBO_BOX (type), _("Simplex TRX")); gtk_combo_box_append_text (GTK_COMBO_BOX (type), _("Duplex TRX")); + gtk_combo_box_append_text (GTK_COMBO_BOX (type), _("FT817/857/897")); gtk_combo_box_set_active (GTK_COMBO_BOX (type), RIG_TYPE_RX); g_signal_connect (type, "changed", G_CALLBACK (type_changed), NULL); gtk_widget_set_tooltip_markup (type, @@ -215,17 +216,21 @@ "If <i>Monitor PTT status</i> is checked the doppler tuning "\ "will be suspended while PTT is ON (manual TX). "\ "If not, the controller will always perform doppler tuning and "\ - "you cannot use the same RIG for uplink.\n"\ + "you cannot use the same RIG for uplink.\n\n"\ "<b>TX only:</b> The radio shall only be used for uplink. "\ "If <i>Monitor PTT status</i> is checked the doppler tuning "\ - "will be suspended while PTT is OFF (manual RX).\n"\ + "will be suspended while PTT is OFF (manual RX).\n\n"\ "<b>Simplex TRX:</b> The radio should be used for both up- and downlink "\ "but in simplex mode only. This option requires that the PTT status "\ "is monitored (otherwise gpredict cannot know whether to tune the "\ - "RX or the TX).\n"\ + "RX or the TX).\n\n"\ "<b>Duplex:</b> The radio is a full duplex radio, such as the IC910H. "\ "Gpredict will be continuously tuning both uplink and downlink "\ - "simultaneously and not care about PTT setting.")); + "simultaneously and not care about PTT setting.\n\n"\ + "<b>FT817/857/897:</b> This is a special mode that can be used with "\ + "YAESU FT-817, 857 and 897 radios. These radios do not allow computer "\ + "control while in TX mode. Therefore, TX Doppler correction is applied "\ + "while the radio is in RX mode by toggling between VFO A/B.")); gtk_table_attach_defaults (GTK_TABLE (table), type, 1, 3, 3, 4); /* ptt */ Modified: trunk/src/sat-pref-rig.c =================================================================== --- trunk/src/sat-pref-rig.c 2010-02-07 21:50:12 UTC (rev 607) +++ trunk/src/sat-pref-rig.c 2010-02-15 20:46:53 UTC (rev 608) @@ -253,7 +253,7 @@ /* read each .rig file */ while ((filename = g_dir_read_name (dir))) { - if (g_strrstr (filename, ".rig")) { + if (g_str_has_suffix (filename, ".rig")) { vbuff = g_strsplit (filename, ".rig", 0); conf.name = g_strdup (vbuff[0]); @@ -396,7 +396,7 @@ /* read each .rig file */ while ((filename = g_dir_read_name (dir))) { - if (g_strrstr (filename, ".rig")) { + if (g_str_has_suffix (filename, ".rig")) { buff = g_strconcat (dirname, G_DIR_SEPARATOR_S, filename, NULL); g_remove (buff); @@ -713,6 +713,10 @@ case RIG_TYPE_DUPLEX: g_object_set (renderer, "text", _("Duplex"), NULL); break; + + case RIG_TYPE_SPLIT: + g_object_set (renderer, "text", _("FT817/857/897"), NULL); + break; default: g_object_set (renderer, "text", _("ERROR"), NULL); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-05-04 13:17:53
|
Revision: 616 http://gpredict.svn.sourceforge.net/gpredict/?rev=616&view=rev Author: csete Date: 2010-05-04 13:17:46 +0000 (Tue, 04 May 2010) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-05-04 13:16:54 UTC (rev 615) +++ trunk/ChangeLog 2010-05-04 13:17:46 UTC (rev 616) @@ -1,13 +1,19 @@ +2010-05-04 Alexandru Csete <oz9aec at gmail.com> + + * src/gtk-sky-at-glance.c: + Click on satellite pass shows pass details. + + 2010-03-12 Stephane Fillod <fillods at users.sf.net> - * src/gtk-event-list-popup.c: - * src/gtk-sat-map-popup.c: - * src/gtk-sat-list-popup.c: - * src/gtk-single-sat.c: - * src/gtk-polar-view-popup.c: - * src/sat-info.[ch]: + * src/gtk-event-list-popup.c: + * src/gtk-sat-map-popup.c: + * src/gtk-sat-list-popup.c: + * src/gtk-single-sat.c: + * src/gtk-polar-view-popup.c: + * src/sat-info.[ch]: Rename show_sat_info as show_sat_info_menu_cb, - show_sat_info can now be called from outside a menu. + show_sat_info can now be called from outside a menu. * src/sat-pref-qth.c: * src/sat-pref-rot.c: @@ -21,6 +27,7 @@ * po/fr.po: Misc update and merge with launchpad translations. + 2010-02-20 Alexandru Csete <oz9aec at gmail.com> * src/sat-pref-rig.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-05-04 13:16:54 UTC (rev 615) +++ trunk/NEWS 2010-05-04 13:17:46 UTC (rev 616) @@ -4,6 +4,7 @@ * New transponder editor to edit transponder data. - New layout engine that allows any combination of views to be created in a NxM grid. Closes feature request 2821408. +* Sky at a glance is now more interactive. Click on a pass to get the details. * Feature request 2866570: Set operating mode via CAT. * Feature request 2873824: Flip Passes. * Feature request 2778735: Visual indicator for RX/TX/TRX. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-05-20 19:34:04
|
Revision: 618 http://gpredict.svn.sourceforge.net/gpredict/?rev=618&view=rev Author: csete Date: 2010-05-20 19:33:58 +0000 (Thu, 20 May 2010) Log Message: ----------- Applied patch 3002345: Free catfilename (Thanks to Charles Suprin AA1VS). Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/first-time.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-05-20 19:22:07 UTC (rev 617) +++ trunk/ChangeLog 2010-05-20 19:33:58 UTC (rev 618) @@ -3,7 +3,10 @@ * src/sgpsdp/sgp4sdp4.c: Applied patch 3002344: Remove Uninitialized Jump. + * src/first-time.c: + Applied patch 3002345: Free catfilename. + 2010-05-04 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sky-at-glance.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-05-20 19:22:07 UTC (rev 617) +++ trunk/NEWS 2010-05-20 19:33:58 UTC (rev 618) @@ -31,6 +31,7 @@ - Applied patch 2947459: Make Module List Scrollable (Thanks to Charles Suprin AA1VS). - Applied patch 2951724: Allow TX Doppler correction for FT-817, 857 and 897 (Thanks to Charles Suprin AA1VS). - Applied patch 3002344: Remove Uninitialized Jump (Thanks to Charles Suprin AA1VS). +- Applied patch 3002345: Free catfilename (Thanks to Charles Suprin AA1VS). - Slightly improved UI for the single-satellite view. - Command line options for cleaning user's TLE and transponder data, see --help for list. - Satellite Map: Added shadow to satellite marker and label to enhance visual appearance Modified: trunk/src/first-time.c =================================================================== --- trunk/src/first-time.c 2010-05-20 19:22:07 UTC (rev 617) +++ trunk/src/first-time.c 2010-05-20 19:33:58 UTC (rev 618) @@ -626,6 +626,7 @@ } g_free (source); } + g_free (catfilename); } } g_dir_close (srcdir); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-05-23 12:11:05
|
Revision: 620 http://gpredict.svn.sourceforge.net/gpredict/?rev=620&view=rev Author: csete Date: 2010-05-23 12:10:59 +0000 (Sun, 23 May 2010) Log Message: ----------- Applied patch 3005548: Cut and Paste Error In print_pass.h Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/print-pass.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-05-20 19:44:15 UTC (rev 619) +++ trunk/ChangeLog 2010-05-23 12:10:59 UTC (rev 620) @@ -1,3 +1,9 @@ +2010-05-23 Alexandru Csete <oz9aec at gmail.com> + + * src/print-pass.h: + Applied patch 3005548: Cut and Paste Error In print_pass.h + + 2010-05-20 Alexandru Csete <oz9aec at gmail.com> * src/sgpsdp/sgp4sdp4.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-05-20 19:44:15 UTC (rev 619) +++ trunk/NEWS 2010-05-23 12:10:59 UTC (rev 620) @@ -33,6 +33,7 @@ - Applied patch 3002344: Remove Uninitialized Jump (Thanks to Charles Suprin AA1VS). - Applied patch 3002345: Free catfilename (Thanks to Charles Suprin AA1VS). - Applied patch 3002348: Option context never freed (Thanks to Charles Suprin AA1VS). +- Applied patch 3005548: Cut and Paste Error In print_pass.h (Thanks to Charles Suprin AA1VS). - Slightly improved UI for the single-satellite view. - Command line options for cleaning user's TLE and transponder data, see --help for list. - Satellite Map: Added shadow to satellite marker and label to enhance visual appearance Modified: trunk/src/print-pass.h =================================================================== --- trunk/src/print-pass.h 2010-05-20 19:44:15 UTC (rev 619) +++ trunk/src/print-pass.h 2010-05-23 12:10:59 UTC (rev 620) @@ -25,8 +25,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, visit http://www.fsf.org/ */ -#ifndef SAVE_PASS_H -#define SAVE_PASS_H 1 +#ifndef PRINT_PASS_H +#define PRINT_PASS_H 1 #include <gtk/gtk.h> #include "sat-pass-dialogs.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-06-18 09:49:17
|
Revision: 621 http://gpredict.svn.sourceforge.net/gpredict/?rev=621&view=rev Author: csete Date: 2010-06-18 09:49:11 +0000 (Fri, 18 Jun 2010) Log Message: ----------- Applied patch 3009725: Delete Explicit Call to gtk_set_locale. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/main.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-05-23 12:10:59 UTC (rev 620) +++ trunk/ChangeLog 2010-06-18 09:49:11 UTC (rev 621) @@ -1,3 +1,9 @@ +2010-06-18 Alexandru Csete <oz9aec at gmail.com> + + * src/main.c: + Applied patch 3009725: Delete Explicit Call to gtk_set_locale. + + 2010-05-23 Alexandru Csete <oz9aec at gmail.com> * src/print-pass.h: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-05-23 12:10:59 UTC (rev 620) +++ trunk/NEWS 2010-06-18 09:49:11 UTC (rev 621) @@ -34,6 +34,7 @@ - Applied patch 3002345: Free catfilename (Thanks to Charles Suprin AA1VS). - Applied patch 3002348: Option context never freed (Thanks to Charles Suprin AA1VS). - Applied patch 3005548: Cut and Paste Error In print_pass.h (Thanks to Charles Suprin AA1VS). +- Applied patch 3009725: Delete Explicit Call to gtk_set_locale (Thanks to Charles Suprin AA1VS). - Slightly improved UI for the single-satellite view. - Command line options for cleaning user's TLE and transponder data, see --help for list. - Satellite Map: Added shadow to satellite marker and label to enhance visual appearance Modified: trunk/src/main.c =================================================================== --- trunk/src/main.c 2010-05-23 12:10:59 UTC (rev 620) +++ trunk/src/main.c 2010-06-18 09:49:11 UTC (rev 621) @@ -120,7 +120,6 @@ bind_textdomain_codeset (PACKAGE, "UTF-8"); textdomain (PACKAGE); #endif - gtk_set_locale (); gtk_init (&argc, &argv); context = g_option_context_new (""); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |