gpredict-svn Mailing List for Gpredict (Page 15)
Real time satellite tracking and orbit prediction
Status: Beta
Brought to you by:
csete
You can subscribe to this list here.
2008 |
Jan
(24) |
Feb
|
Mar
(6) |
Apr
(14) |
May
(9) |
Jun
|
Jul
|
Aug
(25) |
Sep
(60) |
Oct
(26) |
Nov
|
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
|
Feb
(2) |
Mar
(22) |
Apr
(61) |
May
(57) |
Jun
|
Jul
(3) |
Aug
(83) |
Sep
(35) |
Oct
(50) |
Nov
(28) |
Dec
(34) |
2010 |
Jan
(29) |
Feb
(15) |
Mar
(2) |
Apr
|
May
(6) |
Jun
(2) |
Jul
(24) |
Aug
(2) |
Sep
(9) |
Oct
(43) |
Nov
(22) |
Dec
(6) |
2011 |
Jan
(24) |
Feb
(22) |
Mar
(31) |
Apr
(13) |
May
(10) |
Jun
(10) |
Jul
(43) |
Aug
(12) |
Sep
(18) |
Oct
(33) |
Nov
(18) |
Dec
(4) |
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-04 13:17:01
|
Revision: 615 http://gpredict.svn.sourceforge.net/gpredict/?rev=615&view=rev Author: csete Date: 2010-05-04 13:16:54 +0000 (Tue, 04 May 2010) Log Message: ----------- Click on satellite pass shows pass details. Modified Paths: -------------- trunk/src/gtk-sky-glance.c Modified: trunk/src/gtk-sky-glance.c =================================================================== --- trunk/src/gtk-sky-glance.c 2010-03-12 15:25:50 UTC (rev 614) +++ trunk/src/gtk-sky-glance.c 2010-05-04 13:16:54 UTC (rev 615) @@ -46,6 +46,7 @@ #include "gtk-sat-data.h" #include "gpredict-utils.h" #include "predict-tools.h" +#include "sat-pass-dialogs.h" #include "time-tools.h" //#include "gtk-sky-glance-popup.h" #include "gtk-sky-glance.h" @@ -87,6 +88,16 @@ GdkEventButton *event, gpointer data); +static gboolean on_mouse_enter (GooCanvasItem *item, + GooCanvasItem *target_item, + GdkEventCrossing *event, + gpointer data); +static gboolean on_mouse_leave (GooCanvasItem *item, + GooCanvasItem *target_item, + GdkEventCrossing *event, + gpointer data); + + static GooCanvasItemModel* create_canvas_model (GtkSkyGlance *skg); @@ -271,17 +282,17 @@ GTK_SKY_GLANCE (skg)->canvas = goo_canvas_new (); gtk_widget_modify_base (GTK_SKY_GLANCE (skg)->canvas, GTK_STATE_NORMAL, &bg_color); gtk_widget_set_size_request (GTK_SKY_GLANCE (skg)->canvas, - GTK_SKY_GLANCE (skg)->w, - GTK_SKY_GLANCE (skg)->h + SKG_FOOTER); + GTK_SKY_GLANCE (skg)->w, + GTK_SKY_GLANCE (skg)->h + SKG_FOOTER); goo_canvas_set_bounds (GOO_CANVAS (GTK_SKY_GLANCE (skg)->canvas), 0, 0, - GTK_SKY_GLANCE (skg)->w, - GTK_SKY_GLANCE (skg)->h + SKG_FOOTER); + GTK_SKY_GLANCE (skg)->w, + GTK_SKY_GLANCE (skg)->h + SKG_FOOTER); /* connect size-request signal */ g_signal_connect (GTK_SKY_GLANCE (skg)->canvas, "size-allocate", - G_CALLBACK (size_allocate_cb), skg); + G_CALLBACK (size_allocate_cb), skg); g_signal_connect (GTK_SKY_GLANCE (skg)->canvas, "item_created", - (GtkSignalFunc) on_item_created, skg); + (GtkSignalFunc) on_item_created, skg); g_signal_connect_after (GTK_SKY_GLANCE (skg)->canvas, "realize", (GtkSignalFunc) on_canvas_realized, skg); @@ -564,11 +575,11 @@ } g_object_set (skp->box, - "x", x, - "y", y, - "width", w, - "height", h, - NULL); + "x", x, + "y", y, + "width", w, + "height", h, + NULL); } } @@ -633,7 +644,9 @@ /* in order to avoid label clipping close to the edges of the chart, the label is placed left/right of the cursor tracking line depending on which half we are in. + => Currently disabled, time display stays in upper left corner */ +/* if (event->x > (skg->w / 2)) { g_object_set (skg->timel, "text", buff, @@ -648,7 +661,13 @@ "anchor", GTK_ANCHOR_NW, NULL); } +*/ + g_object_set (skg->timel, + "text", buff, + NULL); + + return TRUE; } @@ -670,30 +689,33 @@ { if (!goo_canvas_item_model_get_parent (model)) { /* root item / canvas */ - g_signal_connect (item, "motion_notify_event", - (GtkSignalFunc) on_motion_notify, data); + g_signal_connect (item, "motion_notify_event", (GtkSignalFunc) on_motion_notify, data); } else if (!g_object_get_data (G_OBJECT (item), "skip-signal-connection")) { - g_signal_connect (item, "button_press_event", - (GtkSignalFunc) on_button_press, data); - g_signal_connect (item, "button_release_event", - (GtkSignalFunc) on_button_release, data); + //g_signal_connect (item, "button_press_event", (GtkSignalFunc) on_button_press, data); + g_signal_connect (item, "button_release_event", (GtkSignalFunc) on_button_release, data); + g_signal_connect (item, "enter_notify_event", (GtkSignalFunc) on_mouse_enter, data); + g_signal_connect (item, "leave_notify_event", (GtkSignalFunc) on_mouse_leave, data); } } /** \brief Manage button press events + * \param item The GooCanvasItem object that received the button press event. + * \param target The target of the event (what?). + * \param event Event data, such as X and Y coordinates. + * \param data User data; points to the GtkSkyAtGlance object. + * \return Always TRUE to prevent further propagation of the event. * - * This function is called when a mouse button is pressed on a satellite object. - * If the pressed button is #3 (right button) the satellite popup menu will be - * created and executed. + * This function is called when a mouse button is pressed on a satellite pass object. + * If the pressed button is 1 (left) pass details will be show. */ static gboolean on_button_press (GooCanvasItem *item, - GooCanvasItem *target, - GdkEventButton *event, - gpointer data) + GooCanvasItem *target, + GdkEventButton *event, + gpointer data) { /* GooCanvasItemModel *model = goo_canvas_item_get_model (item); */ /* GtkSkyGlance *skg = GTK_SKY_GLANCE (data); */ @@ -701,56 +723,143 @@ switch (event->button) { - /* pop-up menu */ - case 3: + default: + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s::%s: Button %d has no function..."), + __FILE__, __FUNCTION__, event->button); break; + } - default: - break; - } - - - - return TRUE; + return TRUE; } /** \brief Manage button release events. + * \param item The GooCanvasItem object that received the button press event. + * \param target The target of the event (what?). + * \param event Event data, such as X and Y coordinates. + * \param data User data; points to the GtkSkyAtGlance object. + * \return Always TRUE to prevent further propagation of the event. * * This function is called when the mouse button is released above - * a satellite object. It will act as a button click and if the relesed - * button is the left one, the clock will correspond to selecting or - * deselecting a satellite + * a satellite pass object. + * + * We do not currently use this for anything. */ static gboolean on_button_release (GooCanvasItem *item, - GooCanvasItem *target, - GdkEventButton *event, - gpointer data) + GooCanvasItem *target, + GdkEventButton *event, + gpointer data) { -/* GooCanvasItemModel *model = goo_canvas_item_get_model (item); */ -/* GtkSkyGlance *skg = GTK_SKY_GLANCE (data); */ + GooCanvasItemModel *item_model = goo_canvas_item_get_model (item); + GtkSkyGlance *skg = GTK_SKY_GLANCE (data); + + /* get pointer to pass_t structure */ + pass_t *pass = (pass_t *) g_object_get_data(G_OBJECT(item_model), "pass"); + pass_t *new_pass; + + + if G_UNLIKELY(pass == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s::%s: Could not retrieve pass_t object"), + __FILE__, __FUNCTION__); + return TRUE; + } + + switch (event->button) { - /* Select / de-select satellite */ + /* LEFT button released */ case 1: + new_pass = copy_pass (pass); + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s::%s: Showing pass details for %s - we may have a memory leak here"), + __FILE__, __FUNCTION__, pass->satname); + /* show the pass details */ + show_pass (pass->satname, skg->qth, new_pass, NULL); + break; default: + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s::%s: Button %d has no function..."), + __FILE__, __FUNCTION__, event->button); break; } + return TRUE; +} + +/** \brief Manage mouse-enter events on canvas items (satellite pass boxes) + * \param item The GooCanvasItem that received the signal + * \param target_item The target if the even (have no idea what this is...) + * \param event Info about the event + * \param data Pointer to the GtkSkyAtGlance object + * \return Always TRUE to prevent further propagation of the event. + * + * This function is used to be notified when the mouse enters over a satellite + * pass box. When this happens the user is presented with brief info about the + * satellite pass and a suggestion to click on the box for more info. + */ +static gboolean on_mouse_enter (GooCanvasItem *item, + GooCanvasItem *target_item, + GdkEventCrossing *event, + gpointer data) +{ + GooCanvasItemModel *item_model = goo_canvas_item_get_model (item); + GtkSkyGlance *skg = GTK_SKY_GLANCE (data); + + /* get pointer to pass_t structure */ + pass_t *pass = (pass_t *) g_object_get_data(G_OBJECT(item_model), "pass"); + if G_UNLIKELY(pass == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s::%s: Could not retrieve pass_t object"), + __FILE__, __FUNCTION__); + return TRUE; + } + + + + + //g_print("Mouse enter: %s AOS:\n"); + return TRUE; } +/** \brief Manage mouse-leave events on canvas items (satellite pass boxes) + * \param item The GooCanvasItem that received the signal + * \param target_item The target if the even (have no idea what this is...) + * \param event Info about the event + * \param data Pointer to the GtkSkyAtGlance object + * \return Always TRUE to prevent further propagation of the event. + * + * This function is used to be notified when the mouse leaves a satellite + * pass box. When this happens the information about the pass is cleared. + */ +static gboolean on_mouse_leave (GooCanvasItem *item, + GooCanvasItem *target_item, + GdkEventCrossing *event, + gpointer data) +{ + g_print("Mouse leave\n"); + + return TRUE; +} + + + + + /** \brief Convert time value to x position. * \param skg The GtkSkyGlance widget. - * \param t Julian date + * \param t Julian dateuser is presented with brief info about the + * satellite pass and a suggestion to click on the box for more info. * \return X coordinate. * * No error checking is made to ensure that we are within visible range. @@ -913,12 +1022,17 @@ tmppass = (pass_t *) g_slist_nth_data (passes, i); skypass->pass = copy_pass (tmppass); skypass->box = goo_canvas_rect_model_new (root, 10, 10, 20, 20, /* dummy coordinates */ - "stroke-color-rgba", bcol, - "fill-color-rgba", fcol, - NULL); - - /* store pass data */ + "stroke-color-rgba", bcol, + "fill-color-rgba", fcol, + NULL); + + /* store this pass in list */ skg->passes = g_slist_append (skg->passes, skypass); + + /* store a pointer to the pass data in the GooCanvasItem so that we + can access it later during various events, e.g mouse click */ + g_object_set_data (G_OBJECT (skypass->box), "pass", skypass->pass); + } else { 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: <fi...@us...> - 2010-03-12 15:25:57
|
Revision: 614 http://gpredict.svn.sourceforge.net/gpredict/?rev=614&view=rev Author: fillods Date: 2010-03-12 15:25:50 +0000 (Fri, 12 Mar 2010) Log Message: ----------- copy/paste mistake Modified Paths: -------------- trunk/src/gtk-polar-view.c Modified: trunk/src/gtk-polar-view.c =================================================================== --- trunk/src/gtk-polar-view.c 2010-03-12 15:21:56 UTC (rev 613) +++ trunk/src/gtk-polar-view.c 2010-03-12 15:25:50 UTC (rev 614) @@ -1397,7 +1397,7 @@ catpoint = g_try_new0 (gint, 1); *catpoint = catnum; - sat = SAT (g_hash_table_lookup (satmap->sats, catpoint)); + sat = SAT (g_hash_table_lookup (polv->sats, catpoint)); if (sat != NULL) { show_sat_info(sat, gtk_widget_get_toplevel (GTK_WIDGET (data))); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fi...@us...> - 2010-03-12 15:22:03
|
Revision: 613 http://gpredict.svn.sourceforge.net/gpredict/?rev=613&view=rev Author: fillods Date: 2010-03-12 15:21:56 +0000 (Fri, 12 Mar 2010) Log Message: ----------- * Enter directly popup upon double-click. * Misc i18n update and merge with launchpad translations. Modified Paths: -------------- trunk/ChangeLog trunk/po/fr.po trunk/po/gpredict.pot trunk/src/gtk-event-list-popup.c trunk/src/gtk-event-list.c trunk/src/gtk-polar-view-popup.c trunk/src/gtk-polar-view.c trunk/src/gtk-sat-list-popup.c trunk/src/gtk-sat-list.c trunk/src/gtk-sat-map-popup.c trunk/src/gtk-sat-map.c trunk/src/gtk-single-sat.c trunk/src/sat-info.c trunk/src/sat-info.h trunk/src/sat-pref-qth.c trunk/src/sat-pref-rig.c trunk/src/sat-pref-rot.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-02-20 22:45:12 UTC (rev 612) +++ trunk/ChangeLog 2010-03-12 15:21:56 UTC (rev 613) @@ -1,3 +1,26 @@ +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]: + Rename show_sat_info as show_sat_info_menu_cb, + show_sat_info can now be called from outside a menu. + + * src/sat-pref-qth.c: + * src/sat-pref-rot.c: + * src/gtk-sat-list.c: + * src/gtk-event-list.c: + * src/gtk-sat-map.c: + * src/gtk-polar-view.c: + Enter directly popup upon double-click. + + * po/gpredict.pot: + * 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/po/fr.po =================================================================== --- trunk/po/fr.po 2010-02-20 22:45:12 UTC (rev 612) +++ trunk/po/fr.po 2010-03-12 15:21:56 UTC (rev 613) @@ -1,13 +1,13 @@ # translation of fr.po to French # Copyright (C) 2001-2008 Alexandru Csete OZ9AEC # This file is distributed under the same license as the Gpredict package. -# Stéphane Fillod <fi...@us...>, 2009. +# Stéphane Fillod <fi...@us...>, 2009-2010. msgid "" msgstr "" "Project-Id-Version: gpredict\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-01-05 12:24+0100\n" -"PO-Revision-Date: 2009-03-19 23:06+0200\n" +"POT-Creation-Date: 2010-03-11 09:06+0100\n" +"PO-Revision-Date: 2010-03-11 09:06+0200\n" "Last-Translator: Stéphane Fillod <fi...@us...>\n" "Language-Team: French <deb...@li...>\n" "MIME-Version: 1.0\n" @@ -18,7 +18,7 @@ #: ../src/about.c:65 msgid "" -"Copyright (C) 2001-2009 Alexandru Csete OZ9AEC\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 " @@ -52,7 +52,6 @@ msgstr "GPREDICT" #: ../src/about.c:100 -#, fuzzy msgid "" "Copyright (C) 2001-2009 Alexandru Csete OZ9AEC\n" "\n" @@ -255,13 +254,13 @@ #. Az legend #: ../src/gtk-azel-plot.c:404 ../src/gtk-sat-list.c:55 -#: ../src/sat-pass-dialogs.c:101 +#: ../src/sat-pass-dialogs.c:102 msgid "Az" msgstr "Az" #. El legend #: ../src/gtk-azel-plot.c:414 ../src/gtk-sat-list.c:56 -#: ../src/sat-pass-dialogs.c:102 +#: ../src/sat-pass-dialogs.c:103 msgid "El" msgstr "El" @@ -338,19 +337,24 @@ "Always in range" msgstr "" -#: ../src/gtk-polar-view.c:1137 ../src/gtk-polar-view-popup.c:197 +#: ../src/gtk-polar-view.c:1014 ../src/gtk-polar-view.c:1150 +#, c-format +msgid "%s:%d: Failed to get satellite pass." +msgstr "" + +#: ../src/gtk-polar-view.c:1143 ../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 "" -#: ../src/gtk-polar-view.c:1394 +#: ../src/gtk-polar-view.c:1407 #, c-format msgid "%s:%d: Could not find satellite (%d) in hash table" msgstr "" -#: ../src/gtk-polar-view.c:1442 ../src/gtk-sat-map.c:903 +#: ../src/gtk-polar-view.c:1455 ../src/gtk-sat-map.c:903 #, c-format msgid "%s:%d: Can not find clicked object (%d) in hash table" msgstr "" @@ -403,67 +407,67 @@ "the current ground station!" msgstr "" -#: ../src/gtk-rig-ctrl.c:391 +#: ../src/gtk-rig-ctrl.c:398 msgid "<b> Downlink </b>" msgstr "" #. Downlink doppler #. Uplink doppler -#: ../src/gtk-rig-ctrl.c:406 ../src/gtk-rig-ctrl.c:471 +#: ../src/gtk-rig-ctrl.c:413 ../src/gtk-rig-ctrl.c:478 msgid "Doppler:" msgstr "" -#: ../src/gtk-rig-ctrl.c:408 ../src/gtk-rig-ctrl.c:473 +#: ../src/gtk-rig-ctrl.c:415 ../src/gtk-rig-ctrl.c:480 msgid "" "The Doppler shift according to the range rate and the currently selected " "downlink frequency" msgstr "" -#: ../src/gtk-rig-ctrl.c:420 ../src/gtk-rig-ctrl.c:485 +#: ../src/gtk-rig-ctrl.c:427 ../src/gtk-rig-ctrl.c:492 msgid "LO:" msgstr "" -#: ../src/gtk-rig-ctrl.c:456 +#: ../src/gtk-rig-ctrl.c:463 msgid "<b> Uplink </b>" msgstr "" -#: ../src/gtk-rig-ctrl.c:536 ../src/gtk-rot-ctrl.c:424 +#: ../src/gtk-rig-ctrl.c:543 ../src/gtk-rot-ctrl.c:425 msgid "Select target object" msgstr "" #. tracking button -#: ../src/gtk-rig-ctrl.c:541 ../src/gtk-rot-ctrl.c:429 +#: ../src/gtk-rig-ctrl.c:548 ../src/gtk-rot-ctrl.c:430 msgid "Track" -msgstr "" +msgstr "Suivi" -#: ../src/gtk-rig-ctrl.c:542 +#: ../src/gtk-rig-ctrl.c:549 msgid "" "Track the satellite transponder.\n" "Enabling this button will apply Dopper correction to the frequency of the " "radio." msgstr "" -#: ../src/gtk-rig-ctrl.c:550 +#: ../src/gtk-rig-ctrl.c:557 msgid "Select a transponder" msgstr "Sélectionne un transpondeurs" #. buttons -#: ../src/gtk-rig-ctrl.c:557 +#: ../src/gtk-rig-ctrl.c:564 msgid "T" -msgstr "" +msgstr "T" -#: ../src/gtk-rig-ctrl.c:559 +#: ../src/gtk-rig-ctrl.c:566 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 "" -#: ../src/gtk-rig-ctrl.c:565 +#: ../src/gtk-rig-ctrl.c:572 msgid "L" -msgstr "" +msgstr "L" -#: ../src/gtk-rig-ctrl.c:567 +#: ../src/gtk-rig-ctrl.c:574 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 " @@ -476,52 +480,52 @@ msgstr "" #. Azimuth -#: ../src/gtk-rig-ctrl.c:586 ../src/gtk-rot-ctrl.c:435 +#: ../src/gtk-rig-ctrl.c:593 ../src/gtk-rot-ctrl.c:436 msgid "Az:" msgstr "Az:" #. Elevation -#: ../src/gtk-rig-ctrl.c:594 ../src/gtk-rot-ctrl.c:445 +#: ../src/gtk-rig-ctrl.c:601 ../src/gtk-rot-ctrl.c:446 msgid "El:" msgstr "El:" #. Range -#: ../src/gtk-rig-ctrl.c:602 +#: ../src/gtk-rig-ctrl.c:609 msgid " Range:" msgstr " Portée:" -#: ../src/gtk-rig-ctrl.c:610 ../src/gtk-rig-ctrl.c:613 +#: ../src/gtk-rig-ctrl.c:617 ../src/gtk-rig-ctrl.c:620 msgid "This is the current distance between the satellite and the observer." msgstr "" #. Range rate -#: ../src/gtk-rig-ctrl.c:617 +#: ../src/gtk-rig-ctrl.c:624 msgid " Rate:" msgstr "" -#: ../src/gtk-rig-ctrl.c:625 ../src/gtk-rig-ctrl.c:628 +#: ../src/gtk-rig-ctrl.c:632 ../src/gtk-rig-ctrl.c:635 msgid "" "The rate of change for the distance between the satellite and the observer." msgstr "" -#: ../src/gtk-rig-ctrl.c:631 ../src/gtk-rot-ctrl.c:461 +#: ../src/gtk-rig-ctrl.c:638 ../src/gtk-rot-ctrl.c:462 msgid "Target" msgstr "Cible" #. Primary device -#: ../src/gtk-rig-ctrl.c:659 +#: ../src/gtk-rig-ctrl.c:666 msgid "1. Device:" msgstr "1. Appareil:" -#: ../src/gtk-rig-ctrl.c:664 +#: ../src/gtk-rig-ctrl.c:671 msgid "" "Select primary radio device.This device will be used for downlink and uplink " "unless you select a secondary device for uplink" msgstr "" -#: ../src/gtk-rig-ctrl.c:686 ../src/gtk-rig-ctrl.c:729 -#: ../src/gtk-rig-ctrl.c:2397 ../src/gtk-rot-ctrl.c:513 -#: ../src/gtk-rot-ctrl.c:1240 ../src/sat-pref-rig.c:300 +#: ../src/gtk-rig-ctrl.c:693 ../src/gtk-rig-ctrl.c:736 +#: ../src/gtk-rig-ctrl.c:2895 ../src/gtk-rot-ctrl.c:514 +#: ../src/gtk-rot-ctrl.c:1241 ../src/sat-pref-rig.c:300 #: ../src/sat-pref-rot.c:266 #, c-format msgid "%s:%d: Failed to open hwconf dir (%s)" @@ -529,286 +533,304 @@ #. config will be force-loaded after LO spin is created #. Secondary device -#: ../src/gtk-rig-ctrl.c:699 +#: ../src/gtk-rig-ctrl.c:706 msgid "2. Device:" msgstr "2. Appareil:" -#: ../src/gtk-rig-ctrl.c:704 +#: ../src/gtk-rig-ctrl.c:711 msgid "" "Select secondary radio device\n" "This device will be used for uplink" msgstr "" #. load config -#: ../src/gtk-rig-ctrl.c:708 ../src/sat-pref-rig.c:747 -#: ../src/sat-pref-rig.c:756 ../src/sat-pref-rig-editor.c:237 +#: ../src/gtk-rig-ctrl.c:715 ../src/sat-pref-rig.c:751 +#: ../src/sat-pref-rig.c:760 ../src/sat-pref-rig-editor.c:242 msgid "None" msgstr "Aucun" #. Engage button -#: ../src/gtk-rig-ctrl.c:744 ../src/gtk-rot-ctrl.c:526 +#: ../src/gtk-rig-ctrl.c:751 ../src/gtk-rot-ctrl.c:527 msgid "Engage" msgstr "Engage" -#: ../src/gtk-rig-ctrl.c:745 +#: ../src/gtk-rig-ctrl.c:752 msgid "Engage the selected radio device" msgstr "" #. Timeout -#: ../src/gtk-rig-ctrl.c:753 ../src/gtk-rot-ctrl.c:532 +#: ../src/gtk-rig-ctrl.c:760 ../src/gtk-rot-ctrl.c:533 msgid "Cycle:" msgstr "Cycle:" -#: ../src/gtk-rig-ctrl.c:760 +#: ../src/gtk-rig-ctrl.c:767 msgid "This parameter controls the delay between commands sent to the rig." msgstr "" -#: ../src/gtk-rig-ctrl.c:767 ../src/gtk-rot-ctrl.c:546 +#: ../src/gtk-rig-ctrl.c:774 ../src/gtk-rot-ctrl.c:547 msgid "msec" msgstr "msec" -#: ../src/gtk-rig-ctrl.c:771 ../src/gtk-rot-ctrl.c:575 +#: ../src/gtk-rig-ctrl.c:778 ../src/gtk-rot-ctrl.c:576 msgid "Settings" msgstr "Réglages" -#: ../src/gtk-rig-ctrl.c:788 +#: ../src/gtk-rig-ctrl.c:795 msgid "<span size='large'><b>ΔT: 00:00:00</b></span>" msgstr "" -#: ../src/gtk-rig-ctrl.c:790 +#: ../src/gtk-rig-ctrl.c:797 msgid "" "The time remaining until the next AOS or LOS event, depending on which one " "comes first." msgstr "" -#: ../src/gtk-rig-ctrl.c:839 ../src/gtk-rot-ctrl.c:638 +#: ../src/gtk-rig-ctrl.c:846 ../src/gtk-rot-ctrl.c:639 #, c-format msgid "%s:%s: Invalid satellite selection: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:876 +#: ../src/gtk-rig-ctrl.c:883 #, c-format msgid "%s: Inconsistency detected in internal transponder data (%d,%d)" msgstr "" -#: ../src/gtk-rig-ctrl.c:1008 +#: ../src/gtk-rig-ctrl.c:1015 #, c-format msgid "%s:%s: Primary device selected: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1022 ../src/gtk-rig-ctrl.c:2485 +#: ../src/gtk-rig-ctrl.c:1029 ../src/gtk-rig-ctrl.c:2983 #, c-format msgid "%s:%d: Failed to allocate memory for radio config" msgstr "" -#: ../src/gtk-rig-ctrl.c:1031 ../src/gtk-rig-ctrl.c:1132 +#: ../src/gtk-rig-ctrl.c:1038 ../src/gtk-rig-ctrl.c:1139 #, c-format msgid "%s:%s: Loaded new radio configuration %s" msgstr "" #. update LO widgets -#: ../src/gtk-rig-ctrl.c:1034 ../src/gtk-rig-ctrl.c:1039 -#: ../src/gtk-rig-ctrl.c:1091 ../src/gtk-rig-ctrl.c:1107 -#: ../src/gtk-rig-ctrl.c:1135 +#: ../src/gtk-rig-ctrl.c:1041 ../src/gtk-rig-ctrl.c:1046 +#: ../src/gtk-rig-ctrl.c:1098 ../src/gtk-rig-ctrl.c:1114 +#: ../src/gtk-rig-ctrl.c:1142 #, c-format msgid "%.0f MHz" msgstr "%.0f MHz" -#: ../src/gtk-rig-ctrl.c:1046 ../src/gtk-rig-ctrl.c:1141 +#: ../src/gtk-rig-ctrl.c:1053 ../src/gtk-rig-ctrl.c:1148 #, c-format msgid "%s:%s: Failed to load radio configuration %s" msgstr "" -#: ../src/gtk-rig-ctrl.c:1075 +#: ../src/gtk-rig-ctrl.c:1082 #, c-format msgid "%s:%s: Secondary device selected: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1123 +#: ../src/gtk-rig-ctrl.c:1130 #, c-format msgid "%s:%s: Failed to allocate memory for radio config" msgstr "" -#: ../src/gtk-rig-ctrl.c:1179 ../src/gtk-rot-ctrl.c:780 +#: ../src/gtk-rig-ctrl.c:1193 ../src/gtk-rot-ctrl.c:781 #, c-format msgid "%s: Controller does not have a valid configuration" msgstr "" -#: ../src/gtk-rig-ctrl.c:1269 ../src/gtk-rot-ctrl.c:808 +#: ../src/gtk-rig-ctrl.c:1287 ../src/gtk-rot-ctrl.c:809 #, c-format msgid "%s missed the deadline" msgstr "" -#: ../src/gtk-rig-ctrl.c:1299 +#: ../src/gtk-rig-ctrl.c:1321 #, c-format msgid "%s: Invalid radio type %d. Setting type to RIG_TYPE_RX" msgstr "" -#: ../src/gtk-rig-ctrl.c:1313 ../src/gtk-rot-ctrl.c:895 +#: ../src/gtk-rig-ctrl.c:1335 ../src/gtk-rot-ctrl.c:896 #, c-format msgid "%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!" msgstr "" -#: ../src/gtk-rig-ctrl.c:1831 ../src/gtk-rig-ctrl.c:2037 -#: ../src/gtk-rot-ctrl.c:963 ../src/gtk-rot-ctrl.c:1084 +#: ../src/gtk-rig-ctrl.c:1977 ../src/gtk-rig-ctrl.c:2416 +#: ../src/gtk-rig-ctrl.c:2535 ../src/gtk-rot-ctrl.c:964 +#: ../src/gtk-rot-ctrl.c:1085 #, c-format msgid "%s:%d: Failed to create socket" msgstr "" -#: ../src/gtk-rig-ctrl.c:1837 ../src/gtk-rig-ctrl.c:2043 -#: ../src/gtk-rot-ctrl.c:969 ../src/gtk-rot-ctrl.c:1090 +#: ../src/gtk-rig-ctrl.c:1983 ../src/gtk-rig-ctrl.c:2422 +#: ../src/gtk-rig-ctrl.c:2541 ../src/gtk-rot-ctrl.c:970 +#: ../src/gtk-rot-ctrl.c:1091 #, c-format msgid "%s:%d Network socket created successfully" msgstr "" -#: ../src/gtk-rig-ctrl.c:1851 ../src/gtk-rig-ctrl.c:2057 -#: ../src/gtk-rot-ctrl.c:983 ../src/gtk-rot-ctrl.c:1104 +#: ../src/gtk-rig-ctrl.c:1997 ../src/gtk-rig-ctrl.c:2436 +#: ../src/gtk-rig-ctrl.c:2555 ../src/gtk-rot-ctrl.c:984 +#: ../src/gtk-rot-ctrl.c:1105 #, c-format msgid "%s:%d: Failed to connect to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1857 ../src/gtk-rig-ctrl.c:2063 -#: ../src/gtk-rot-ctrl.c:989 ../src/gtk-rot-ctrl.c:1110 +#: ../src/gtk-rig-ctrl.c:2003 ../src/gtk-rig-ctrl.c:2442 +#: ../src/gtk-rig-ctrl.c:2561 ../src/gtk-rot-ctrl.c:990 +#: ../src/gtk-rot-ctrl.c:1111 #, c-format msgid "%s:%d: Connection opened to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1875 ../src/gtk-rig-ctrl.c:2074 -#: ../src/gtk-rot-ctrl.c:1000 ../src/gtk-rot-ctrl.c:1123 +#: ../src/gtk-rig-ctrl.c:2021 ../src/gtk-rig-ctrl.c:2453 +#: ../src/gtk-rig-ctrl.c:2572 ../src/gtk-rot-ctrl.c:1001 +#: ../src/gtk-rot-ctrl.c:1124 #, c-format msgid "%s:%d: SIZE ERROR %d / %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1885 ../src/gtk-rig-ctrl.c:2084 -#: ../src/gtk-rot-ctrl.c:1010 +#: ../src/gtk-rig-ctrl.c:2031 ../src/gtk-rig-ctrl.c:2463 +#: ../src/gtk-rig-ctrl.c:2582 ../src/gtk-rot-ctrl.c:1011 #, c-format msgid "%s:%s: Failed to allocate 128 bytes (yes, this means trouble)" msgstr "" -#: ../src/gtk-rig-ctrl.c:1901 ../src/gtk-rig-ctrl.c:2100 +#: ../src/gtk-rig-ctrl.c:2047 ../src/gtk-rig-ctrl.c:2479 +#: ../src/gtk-rig-ctrl.c:2598 #, c-format msgid "%s:%s: Got 0 bytes from rigctld" msgstr "" -#: ../src/gtk-rig-ctrl.c:1906 ../src/gtk-rig-ctrl.c:2105 +#: ../src/gtk-rig-ctrl.c:2052 ../src/gtk-rig-ctrl.c:2484 +#: ../src/gtk-rig-ctrl.c:2603 #, c-format msgid "%s:%s: Read %d bytes from rigctld" msgstr "" -#: ../src/gtk-rig-ctrl.c:1954 ../src/gtk-rig-ctrl.c:2148 +#: ../src/gtk-rig-ctrl.c:2100 ../src/gtk-rig-ctrl.c:2180 +#: ../src/gtk-rig-ctrl.c:2255 ../src/gtk-rig-ctrl.c:2330 +#: ../src/gtk-rig-ctrl.c:2646 ../src/gtk-rig-ctrl.c:3024 #, c-format msgid "%s: Failed to create socket" msgstr "" -#: ../src/gtk-rig-ctrl.c:1960 ../src/gtk-rig-ctrl.c:2154 +#: ../src/gtk-rig-ctrl.c:2106 ../src/gtk-rig-ctrl.c:2186 +#: ../src/gtk-rig-ctrl.c:2261 ../src/gtk-rig-ctrl.c:2336 +#: ../src/gtk-rig-ctrl.c:2652 ../src/gtk-rig-ctrl.c:3030 #, c-format msgid "%s: Network socket created successfully" msgstr "" -#: ../src/gtk-rig-ctrl.c:1974 ../src/gtk-rig-ctrl.c:2168 +#: ../src/gtk-rig-ctrl.c:2120 ../src/gtk-rig-ctrl.c:2200 +#: ../src/gtk-rig-ctrl.c:2275 ../src/gtk-rig-ctrl.c:2350 +#: ../src/gtk-rig-ctrl.c:2666 ../src/gtk-rig-ctrl.c:3044 #, c-format msgid "%s: Failed to connect to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1980 ../src/gtk-rig-ctrl.c:2174 +#: ../src/gtk-rig-ctrl.c:2126 ../src/gtk-rig-ctrl.c:2206 +#: ../src/gtk-rig-ctrl.c:2281 ../src/gtk-rig-ctrl.c:2356 +#: ../src/gtk-rig-ctrl.c:2672 ../src/gtk-rig-ctrl.c:3050 #, c-format msgid "%s: Connection opened to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1991 ../src/gtk-rig-ctrl.c:2213 +#: ../src/gtk-rig-ctrl.c:2137 ../src/gtk-rig-ctrl.c:2217 +#: ../src/gtk-rig-ctrl.c:2292 ../src/gtk-rig-ctrl.c:2367 +#: ../src/gtk-rig-ctrl.c:2711 ../src/gtk-rig-ctrl.c:3058 #, c-format msgid "%s: SIZE ERROR %d / %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:2028 ../src/gtk-rot-ctrl.c:954 +#: ../src/gtk-rig-ctrl.c:2407 ../src/gtk-rig-ctrl.c:2526 +#: ../src/gtk-rot-ctrl.c:955 #, c-format msgid "%s:%d: NULL storage." msgstr "" -#: ../src/gtk-rig-ctrl.c:2202 +#: ../src/gtk-rig-ctrl.c:2700 #, c-format msgid "%s: Invalid VFO argument. Using VFOA." msgstr "" -#: ../src/gtk-rig-ctrl.c:2252 +#: ../src/gtk-rig-ctrl.c:2750 #, c-format msgid "AOS in" msgstr "AOS dans" -#: ../src/gtk-rig-ctrl.c:2256 +#: ../src/gtk-rig-ctrl.c:2754 #, c-format msgid "LOS in" msgstr "LOS dans" -#: ../src/gtk-rig-ctrl.c:2339 +#: ../src/gtk-rig-ctrl.c:2837 #, c-format msgid "%s:%s: GtkSatModule has no target satellite." msgstr "" -#: ../src/gtk-rig-ctrl.c:2351 +#: ../src/gtk-rig-ctrl.c:2849 #, c-format msgid "%s:%s: Satellite %d has %d transponder modes." msgstr "" -#: ../src/gtk-rig-ctrl.c:2362 +#: ../src/gtk-rig-ctrl.c:2860 #, c-format msgid "%s:&s: Read transponder '%s' for satellite %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:2497 +#: ../src/gtk-rig-ctrl.c:2995 #, c-format msgid "%s:%d: Error reading radio configuration %s" msgstr "" -#: ../src/gtk-rot-ctrl.c:332 ../src/gtk-sat-list.c:85 -#: ../src/gtk-single-sat.c:56 ../src/sat-pass-dialogs.c:125 +#: ../src/gtk-rot-ctrl.c:333 ../src/gtk-sat-list.c:85 +#: ../src/gtk-single-sat.c:56 ../src/sat-pass-dialogs.c:126 msgid "Azimuth" msgstr "Azimuth" -#: ../src/gtk-rot-ctrl.c:344 +#: ../src/gtk-rot-ctrl.c:345 msgid "Read:" msgstr "Lecture:" -#: ../src/gtk-rot-ctrl.c:371 ../src/gtk-sat-list.c:86 -#: ../src/gtk-single-sat.c:57 ../src/sat-pass-dialogs.c:126 +#: ../src/gtk-rot-ctrl.c:372 ../src/gtk-sat-list.c:86 +#: ../src/gtk-single-sat.c:57 ../src/sat-pass-dialogs.c:127 msgid "Elevation" msgstr "Elévation" -#: ../src/gtk-rot-ctrl.c:383 +#: ../src/gtk-rot-ctrl.c:384 msgid "Read: " msgstr "Lecture: " -#: ../src/gtk-rot-ctrl.c:430 +#: ../src/gtk-rot-ctrl.c:431 msgid "Track the satellite when it is within range" msgstr "" #. count down -#: ../src/gtk-rot-ctrl.c:454 +#: ../src/gtk-rot-ctrl.c:455 msgid "ΔT:" msgstr "ΔT:" -#: ../src/gtk-rot-ctrl.c:488 +#: ../src/gtk-rot-ctrl.c:489 msgid "Device:" msgstr "Appareil:" -#: ../src/gtk-rot-ctrl.c:493 +#: ../src/gtk-rot-ctrl.c:494 msgid "Select antenna rotator device" msgstr "" -#: ../src/gtk-rot-ctrl.c:527 +#: ../src/gtk-rot-ctrl.c:528 msgid "Engage the selected rotor device" msgstr "" -#: ../src/gtk-rot-ctrl.c:539 +#: ../src/gtk-rot-ctrl.c:540 msgid "This parameter controls the delay between commands sent to the rotator." msgstr "" #. Tolerance -#: ../src/gtk-rot-ctrl.c:551 +#: ../src/gtk-rot-ctrl.c:552 msgid "Tolerance:" msgstr "Tolérance:" -#: ../src/gtk-rot-ctrl.c:558 +#: ../src/gtk-rot-ctrl.c:559 msgid "" "This parameter controls the tolerance between the target and rotator values " "for the rotator.\n" @@ -816,37 +838,37 @@ "tolerance, no new commands are sent" msgstr "" -#: ../src/gtk-rot-ctrl.c:568 +#: ../src/gtk-rot-ctrl.c:569 msgid "deg" msgstr "deg" -#: ../src/gtk-rot-ctrl.c:729 +#: ../src/gtk-rot-ctrl.c:730 #, c-format msgid "%s:%d: Failed to allocate memory for rotator config" msgstr "" -#: ../src/gtk-rot-ctrl.c:738 +#: ../src/gtk-rot-ctrl.c:739 #, c-format msgid "Loaded new rotator configuration %s" msgstr "" -#: ../src/gtk-rot-ctrl.c:747 +#: ../src/gtk-rot-ctrl.c:748 #, c-format msgid "%s:%d: Failed to load rotator configuration %s" msgstr "" -#: ../src/gtk-rot-ctrl.c:866 ../src/gtk-rot-ctrl.c:867 -#: ../src/gtk-sat-module-popup.c:841 ../src/gtk-sat-module-popup.c:914 -#: ../src/qth-data.c:94 ../src/sat-log-browser.c:72 ../src/sat-pref-rig.c:718 +#: ../src/gtk-rot-ctrl.c:867 ../src/gtk-rot-ctrl.c:868 +#: ../src/gtk-sat-module-popup.c:833 ../src/gtk-sat-module-popup.c:904 +#: ../src/qth-data.c:95 ../src/sat-log-browser.c:72 ../src/sat-pref-rig.c:722 msgid "ERROR" msgstr "ERREUR" -#: ../src/gtk-rot-ctrl.c:1026 +#: ../src/gtk-rot-ctrl.c:1027 #, c-format msgid "%s:%s: Got 0 bytes from rotctld" msgstr "" -#: ../src/gtk-rot-ctrl.c:1031 +#: ../src/gtk-rot-ctrl.c:1032 #, c-format msgid "%s:%s: Read %d bytes from rotctld" msgstr "" @@ -879,26 +901,26 @@ msgid "Dir" msgstr "Dir" -#: ../src/gtk-sat-list.c:58 ../src/sat-pass-dialogs.c:103 +#: ../src/gtk-sat-list.c:58 ../src/sat-pass-dialogs.c:104 msgid "Ra" msgstr "" -#: ../src/gtk-sat-list.c:59 ../src/sat-pass-dialogs.c:104 +#: ../src/gtk-sat-list.c:59 ../src/sat-pass-dialogs.c:105 msgid "Dec" -msgstr "" +msgstr "Déc" #: ../src/gtk-sat-list.c:60 ../src/pass-to-txt.c:52 -#: ../src/sat-pass-dialogs.c:105 +#: ../src/sat-pass-dialogs.c:106 msgid "Range" msgstr "Portée" -#: ../src/gtk-sat-list.c:61 ../src/sat-pass-dialogs.c:106 +#: ../src/gtk-sat-list.c:61 ../src/sat-pass-dialogs.c:107 msgid "Rate" -msgstr "" +msgstr "Taux" #. Next Event #: ../src/gtk-sat-list.c:62 ../src/gtk-sat-list.c:92 -#: ../src/gtk-single-sat.c:63 ../src/sat-pref-map-view.c:241 +#: ../src/gtk-single-sat.c:63 ../src/sat-pref-map-view.c:243 #: ../src/sat-pref-polar-view.c:276 msgid "Next Event" msgstr "Prochain événement" @@ -914,60 +936,60 @@ msgstr "Prochain LOS" #: ../src/gtk-sat-list.c:65 ../src/loc-tree.c:146 -#: ../src/sat-pass-dialogs.c:107 ../src/sat-pref-qth.c:196 +#: ../src/sat-pass-dialogs.c:108 ../src/sat-pref-qth.c:196 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:209 +#: ../src/sat-pass-dialogs.c:109 ../src/sat-pref-qth.c:209 msgid "Lon" msgstr "Lon" -#: ../src/gtk-sat-list.c:67 ../src/sat-pass-dialogs.c:109 +#: ../src/gtk-sat-list.c:67 ../src/sat-pass-dialogs.c:110 msgid "SSP" msgstr "" #: ../src/gtk-sat-list.c:68 ../src/pass-to-txt.c:57 -#: ../src/sat-pass-dialogs.c:110 +#: ../src/sat-pass-dialogs.c:111 msgid "Footp" msgstr "" #: ../src/gtk-sat-list.c:69 ../src/loc-tree.c:186 -#: ../src/sat-pass-dialogs.c:111 +#: ../src/sat-pass-dialogs.c:112 msgid "Alt" msgstr "Alt" -#: ../src/gtk-sat-list.c:70 ../src/sat-pass-dialogs.c:112 +#: ../src/gtk-sat-list.c:70 ../src/sat-pass-dialogs.c:113 msgid "Vel" msgstr "Vel" -#: ../src/gtk-sat-list.c:71 ../src/sat-pass-dialogs.c:113 +#: ../src/gtk-sat-list.c:71 ../src/sat-pass-dialogs.c:114 msgid "Dop" msgstr "Dop" -#: ../src/gtk-sat-list.c:72 ../src/sat-pass-dialogs.c:114 +#: ../src/gtk-sat-list.c:72 ../src/sat-pass-dialogs.c:115 msgid "Loss" msgstr "Perte" -#: ../src/gtk-sat-list.c:73 ../src/sat-pass-dialogs.c:115 +#: ../src/gtk-sat-list.c:73 ../src/sat-pass-dialogs.c:116 msgid "Del" -msgstr "" +msgstr "Suppr." -#: ../src/gtk-sat-list.c:74 ../src/sat-pass-dialogs.c:116 +#: ../src/gtk-sat-list.c:74 ../src/sat-pass-dialogs.c:117 msgid "MA" msgstr "" -#: ../src/gtk-sat-list.c:75 ../src/sat-pass-dialogs.c:117 +#: ../src/gtk-sat-list.c:75 ../src/sat-pass-dialogs.c:118 msgid "Phase" msgstr "Phase" #: ../src/gtk-sat-list.c:76 ../src/pass-to-txt.c:101 -#: ../src/sat-pass-dialogs.c:66 +#: ../src/sat-pass-dialogs.c:67 msgid "Orbit" msgstr "Orbite" #: ../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 +#: ../src/sat-pass-dialogs.c:68 ../src/sat-pass-dialogs.c:119 msgid "Vis" msgstr "" @@ -983,74 +1005,74 @@ msgid "Direction" msgstr "Direction" -#: ../src/gtk-sat-list.c:88 ../src/sat-pass-dialogs.c:127 +#: ../src/gtk-sat-list.c:88 ../src/sat-pass-dialogs.c:128 msgid "Right Ascension" -msgstr "" +msgstr "Ascension droite" #: ../src/gtk-sat-list.c:89 ../src/gtk-single-sat.c:60 -#: ../src/sat-pass-dialogs.c:128 +#: ../src/sat-pass-dialogs.c:129 msgid "Declination" -msgstr "" +msgstr "Déclinaison" #: ../src/gtk-sat-list.c:90 ../src/gtk-single-sat.c:61 -#: ../src/sat-pass-dialogs.c:129 +#: ../src/sat-pass-dialogs.c:130 msgid "Slant Range" msgstr "" #: ../src/gtk-sat-list.c:91 ../src/gtk-single-sat.c:62 -#: ../src/sat-pass-dialogs.c:130 +#: ../src/sat-pass-dialogs.c:131 msgid "Range Rate" msgstr "" -#: ../src/gtk-sat-list.c:95 ../src/sat-pass-dialogs.c:131 +#: ../src/gtk-sat-list.c:95 ../src/sat-pass-dialogs.c:132 msgid "Latitude" msgstr "Latitude" -#: ../src/gtk-sat-list.c:96 ../src/sat-pass-dialogs.c:132 +#: ../src/gtk-sat-list.c:96 ../src/sat-pass-dialogs.c:133 msgid "Longitude" msgstr "Longitude" -#: ../src/gtk-sat-list.c:97 ../src/sat-pass-dialogs.c:133 +#: ../src/gtk-sat-list.c:97 ../src/sat-pass-dialogs.c:134 msgid "Sub-Satellite Point" msgstr "" #: ../src/gtk-sat-list.c:98 ../src/gtk-single-sat.c:69 -#: ../src/sat-pass-dialogs.c:134 +#: ../src/sat-pass-dialogs.c:135 msgid "Footprint" msgstr "" #. altitude #: ../src/gtk-sat-list.c:99 ../src/gtk-single-sat.c:70 ../src/qth-editor.c:334 -#: ../src/sat-pass-dialogs.c:135 ../src/sat-pref-qth-editor.c:318 +#: ../src/sat-pass-dialogs.c:136 ../src/sat-pref-qth-editor.c:318 msgid "Altitude" msgstr "Altitude" #: ../src/gtk-sat-list.c:100 ../src/gtk-single-sat.c:71 -#: ../src/sat-pass-dialogs.c:136 +#: ../src/sat-pass-dialogs.c:137 msgid "Velocity" msgstr "Vélocité" #: ../src/gtk-sat-list.c:101 ../src/gtk-single-sat.c:100 -#: ../src/sat-pass-dialogs.c:137 +#: ../src/sat-pass-dialogs.c:138 msgid "Doppler Shift @ 100MHz" msgstr "" -#: ../src/gtk-sat-list.c:102 ../src/sat-pass-dialogs.c:138 +#: ../src/gtk-sat-list.c:102 ../src/sat-pass-dialogs.c:139 msgid "Signal Loss @ 100MHz" msgstr "" #: ../src/gtk-sat-list.c:103 ../src/gtk-single-sat.c:102 -#: ../src/sat-pass-dialogs.c:139 +#: ../src/sat-pass-dialogs.c:140 msgid "Signal Delay" msgstr "" #: ../src/gtk-sat-list.c:104 ../src/gtk-single-sat.c:103 -#: ../src/sat-pass-dialogs.c:140 +#: ../src/sat-pass-dialogs.c:141 msgid "Mean Anomaly" msgstr "" #: ../src/gtk-sat-list.c:105 ../src/gtk-single-sat.c:76 -#: ../src/gtk-single-sat.c:104 ../src/sat-pass-dialogs.c:141 +#: ../src/gtk-single-sat.c:104 ../src/sat-pass-dialogs.c:142 msgid "Orbit Phase" msgstr "Phase Orbite" @@ -1059,7 +1081,7 @@ msgstr "Num Orbite" #: ../src/gtk-sat-list.c:107 ../src/gtk-single-sat.c:78 -#: ../src/sat-pass-dialogs.c:142 +#: ../src/sat-pass-dialogs.c:143 msgid "Visibility" msgstr "Visibilité" @@ -1078,7 +1100,7 @@ msgid "%s: Satellite #%d removed from list." msgstr "" -#: ../src/gtk-sat-list.c:952 ../src/sat-pass-dialogs.c:698 +#: ../src/gtk-sat-list.c:952 ../src/sat-pass-dialogs.c:704 #: ../src/sat-pref-qth.c:769 #, c-format msgid "%s:%d: Invalid column: %d" @@ -1094,15 +1116,15 @@ msgid "%s:%d Failed to get data for %d." msgstr "" -#: ../src/gtk-sat-list.c:1307 ../src/sat-pass-dialogs.c:1399 -#: ../src/sat-pass-dialogs.c:1448 +#: ../src/gtk-sat-list.c:1307 ../src/sat-pass-dialogs.c:1405 +#: ../src/sat-pass-dialogs.c:1454 #, c-format msgid "%s:%d: There is no selection; skip popup." msgstr "" #: ../src/gtk-sat-list-col-sel.c:153 msgid "Column Name" -msgstr "" +msgstr "Nom de la colonne" #: ../src/gtk-sat-list-col-sel.c:162 ../src/sat-vis.c:41 msgid "Visible" @@ -1147,6 +1169,11 @@ msgid "%s:%d: Error loading map file (%s)" msgstr "" +#: ../src/gtk-sat-map.c:1802 +#, c-format +msgid "%s:%d: NULL object for %d (yes, this is a bug)" +msgstr "" + #: ../src/gtk-sat-map-ground-track.c:82 #, c-format msgid "%s: Creating ground track for %s" @@ -1243,7 +1270,7 @@ #. settings are really screwed up; we need some safe values here #: ../src/gtk-sat-module.c:544 ../src/gtk-sat-module.c:545 msgid "Error" -msgstr "" +msgstr "Erreur" #: ../src/gtk-sat-module.c:575 #, c-format @@ -1350,69 +1377,69 @@ msgid "%s: Reloading satellites for module %s" msgstr "" -#: ../src/gtk-sat-module-popup.c:90 +#: ../src/gtk-sat-module-popup.c:89 #, c-format msgid "%s:%d: %s called with NULL parameter!" msgstr "" -#: ../src/gtk-sat-module-popup.c:100 +#: ../src/gtk-sat-module-popup.c:99 msgid "Detach module" msgstr "Détache module" -#: ../src/gtk-sat-module-popup.c:111 +#: ../src/gtk-sat-module-popup.c:110 msgid "Attach module" msgstr "Attache module" -#: ../src/gtk-sat-module-popup.c:124 -msgid "Leave fullscreen" -msgstr "Quitte plein écran" +#: ../src/gtk-sat-module-popup.c:123 +msgid "Exit full screen" +msgstr "Quitte le plein écran" -#: ../src/gtk-sat-module-popup.c:133 -msgid "Fullscreen" +#: ../src/gtk-sat-module-popup.c:132 +msgid "Full screen" msgstr "Plein écran" #. sky at a glance -#: ../src/gtk-sat-module-popup.c:147 +#: ../src/gtk-sat-module-popup.c:146 msgid "Sky at a glance" msgstr "Ciel d'un coup d'œil" #. time manager -#: ../src/gtk-sat-module-popup.c:157 ../src/gtk-sat-module-tmg.c:289 +#: ../src/gtk-sat-module-popup.c:156 ../src/gtk-sat-module-tmg.c:289 msgid "Time Controller" msgstr "Contrôleur de Temps" #. Radio Control -#: ../src/gtk-sat-module-popup.c:170 +#: ../src/gtk-sat-module-popup.c:169 msgid "Radio Control" msgstr "Contrôle Radio" #. Antenna Control -#: ../src/gtk-sat-module-popup.c:179 +#: ../src/gtk-sat-module-popup.c:178 msgid "Antenna Control" msgstr "Contrôle Antenne" #. configure -#: ../src/gtk-sat-module-popup.c:192 +#: ../src/gtk-sat-module-popup.c:191 msgid "Configure" msgstr "Configuration" #. clone -#: ../src/gtk-sat-module-popup.c:201 +#: ../src/gtk-sat-module-popup.c:200 msgid "Clone..." msgstr "Clonage..." #. delete module -#: ../src/gtk-sat-module-popup.c:214 ../src/sat-pref-qth.c:490 +#: ../src/gtk-sat-module-popup.c:213 ../src/sat-pref-qth.c:490 #: ../src/sat-pref-rig.c:338 ../src/sat-pref-rot.c:303 msgid "Delete" msgstr "Suppression" #. close -#: ../src/gtk-sat-module-popup.c:223 +#: ../src/gtk-sat-module-popup.c:222 msgid "Close" msgstr "Fermeture" -#: ../src/gtk-sat-module-popup.c:257 +#: ../src/gtk-sat-module-popup.c:255 msgid "" "A module can not be configured while the radio or rotator controller is " "active.\n" @@ -1422,94 +1449,94 @@ #. icon file name #. window title -#: ../src/gtk-sat-module-popup.c:298 +#: ../src/gtk-sat-module-popup.c:295 msgid "Clone Module" msgstr "" #. label -#: ../src/gtk-sat-module-popup.c:310 +#: ../src/gtk-sat-module-popup.c:307 msgid "Name of new module:" msgstr "" -#: ../src/gtk-sat-module-popup.c:319 ../src/mod-cfg.c:501 +#: ../src/gtk-sat-module-popup.c:316 ../src/mod-cfg.c:501 msgid "" "Enter a short name for this module.\n" "Allowed characters: 0..9, a..z, A..Z, - and _" msgstr "" -#: ../src/gtk-sat-module-popup.c:321 ../src/mod-cfg.c:503 +#: ../src/gtk-sat-module-popup.c:318 ../src/mod-cfg.c:503 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 "" #. check button -#: ../src/gtk-sat-module-popup.c:338 +#: ../src/gtk-sat-module-popup.c:335 msgid "Open module when created" msgstr "" -#: ../src/gtk-sat-module-popup.c:342 +#: ../src/gtk-sat-module-popup.c:339 msgid "If checked, the new module will be opened after it has been created" msgstr "" -#: ../src/gtk-sat-module-popup.c:358 +#: ../src/gtk-sat-module-popup.c:355 #, c-format msgid "%s:%d: Cloning %s => %s" msgstr "" -#: ../src/gtk-sat-module-popup.c:373 +#: ../src/gtk-sat-module-popup.c:370 #, c-format msgid "%s:%d: Failed to clone %s." msgstr "" -#: ../src/gtk-sat-module-popup.c:378 +#: ../src/gtk-sat-module-popup.c:375 #, c-format msgid "%s:%d: Successfully cloned %s." msgstr "" -#: ../src/gtk-sat-module-popup.c:442 +#: ../src/gtk-sat-module-popup.c:439 #, c-format msgid "%s:%d: Cloning cancelled by user." msgstr "" -#: ../src/gtk-sat-module-popup.c:448 +#: ../src/gtk-sat-module-popup.c:445 #, c-format msgid "%s:%d: Cloning interrupted." msgstr "" -#: ../src/gtk-sat-module-popup.c:624 ../src/gtk-sat-module-popup.c:746 +#: ../src/gtk-sat-module-popup.c:620 ../src/gtk-sat-module-popup.c:741 #, c-format msgid "%s:%d: Unknown module state: %d" msgstr "" -#: ../src/gtk-sat-module-popup.c:772 +#: ../src/gtk-sat-module-popup.c:766 #, c-format msgid "The sky at a glance (%s)" msgstr "Le ciel d'un coup d'œil (%s)" -#: ../src/gtk-sat-module-popup.c:836 +#: ../src/gtk-sat-module-popup.c:828 msgid "" "You have no radio configuration!\n" "Please configure a radio first." msgstr "" -#: ../src/gtk-sat-module-popup.c:849 +#: ../src/gtk-sat-module-popup.c:841 #, c-format msgid "Gpredict Radio Control: %s" msgstr "" -#: ../src/gtk-sat-module-popup.c:909 +#: ../src/gtk-sat-module-popup.c:899 msgid "" "You have no rotator configuration!\n" "Please configure an antenna rotator first." msgstr "" -#: ../src/gtk-sat-module-popup.c:922 +#: ../src/gtk-sat-module-popup.c:912 #, c-format msgid "Gpredict Rotator Control: %s" msgstr "" -#: ../src/gtk-sat-module-popup.c:1007 +#: ../src/gtk-sat-module-popup.c:993 #, c-format msgid "" "This operation will permanently delete\n" @@ -1518,12 +1545,12 @@ "Do you you want to proceed?" msgstr "" -#: ../src/gtk-sat-module-popup.c:1017 +#: ../src/gtk-sat-module-popup.c:1003 #, c-format msgid "%s:%d: Failed to delete %s." msgstr "" -#: ../src/gtk-sat-module-popup.c:1022 +#: ../src/gtk-sat-module-popup.c:1008 #, c-format msgid "%s:%d: %s deleted permanently." msgstr "" @@ -1550,7 +1577,7 @@ #: ../src/gtk-sat-module-tmg.c:125 ../src/sat-pref-conditions.c:427 #: ../src/sat-pref-debug.c:141 ../src/sat-pref-formats.c:118 #: ../src/sat-pref-layout.c:427 ../src/sat-pref-list-view.c:253 -#: ../src/sat-pref-map-view.c:644 ../src/sat-pref-multi-pass.c:190 +#: ../src/sat-pref-map-view.c:678 ../src/sat-pref-multi-pass.c:190 #: ../src/sat-pref-polar-view.c:627 ../src/sat-pref-refresh.c:419 #: ../src/sat-pref-single-pass.c:184 ../src/sat-pref-single-sat.c:222 #: ../src/sat-pref-sky-at-glance.c:491 ../src/sat-pref-tle.c:348 @@ -1644,19 +1671,17 @@ msgstr "" #: ../src/gtk-sat-selector.c:238 -#, fuzzy msgid "Available Satellites" -msgstr "<b>Sélection Satellites:</b>" +msgstr "Satellites Disponibles" #: ../src/gtk-sat-selector.c:256 -#, fuzzy msgid "Updated" -msgstr "Mise-à-jour TLE" +msgstr "Mise-à-jour" #. Search #: ../src/gtk-sat-selector.c:286 msgid "Search" -msgstr "" +msgstr "Recherche" #: ../src/gtk-sat-selector.c:290 msgid "" @@ -1666,12 +1691,11 @@ #. Group selector #: ../src/gtk-sat-selector.c:300 msgid "Group" -msgstr "" +msgstr "Groupe" #: ../src/gtk-sat-selector.c:364 -#, fuzzy msgid "All satellites" -msgstr "Satellite" +msgstr "Tous les satellites" #: ../src/gtk-sat-selector.c:371 #, c-format @@ -1694,9 +1718,9 @@ msgstr "" #: ../src/gtk-sat-selector.c:515 -#, fuzzy, c-format +#, c-format msgid "%s:%s: Read %d satellites from %s" -msgstr "Lecture de données depuis %s" +msgstr "%s:%s: Lu %d satellites depuis %s" #: ../src/gtk-sat-selector.c:520 #, c-format @@ -1710,7 +1734,7 @@ #: ../src/gtk-sat-tree.c:232 ../src/mod-cfg.c:630 msgid "Epoch" -msgstr "" +msgstr "Epoque" #: ../src/gtk-sat-tree.c:245 msgid "Selected" @@ -1913,7 +1937,7 @@ #: ../src/gtk-single-sat.c:520 ../src/gtk-single-sat.c:551 #: ../src/gtk-single-sat.c:579 msgid "N/A" -msgstr "" +msgstr "N/A" #: ../src/gtk-single-sat.c:701 #, c-format @@ -1927,7 +1951,7 @@ #: ../src/gtk-sky-glance.c:343 msgid "TIME" -msgstr "" +msgstr "TEMPS" #: ../src/gtk-sky-glance.c:840 #, c-format @@ -1948,7 +1972,7 @@ #: ../src/loc-tree.c:133 ../src/qth-editor.c:236 ../src/sat-pref-qth.c:189 #: ../src/sat-pref-qth-editor.c:220 msgid "Location" -msgstr "" +msgstr "Position" #: ../src/loc-tree.c:205 msgid "WX" @@ -1956,12 +1980,12 @@ #: ../src/loc-tree.c:221 msgid "X" -msgstr "" +msgstr "X" #. dialog window #: ../src/loc-tree.c:258 msgid "Select Location" -msgstr "" +msgstr "Sélectionner la position" #: ../src/loc-tree.c:293 #, c-format @@ -2082,226 +2106,225 @@ #: ../src/map-selector.c:92 msgid "Image files" -msgstr "" +msgstr "Fichiers images" #: ../src/map-selector.c:187 ../src/map-selector.c:245 #, c-format msgid "%s:%d: Could not stat %s" msgstr "" -#: ../src/menubar.c:89 +#: ../src/menubar.c:92 msgid "_File" msgstr "_Fichier" -#: ../src/menubar.c:90 +#: ../src/menubar.c:93 msgid "_Edit" msgstr "_Edition" -#: ../src/menubar.c:91 +#: ../src/menubar.c:94 msgid "_Update TLE" msgstr "_Mise à jour TLE" -#: ../src/menubar.c:92 +#: ../src/menubar.c:95 msgid "_Tools" msgstr "_Outils" -#: ../src/menubar.c:93 +#: ../src/menubar.c:96 msgid "_Help" msgstr "_Aide" #. File menu -#: ../src/menubar.c:96 +#: ../src/menubar.c:99 msgid "_New module" msgstr "_Nouveau module" -#: ../src/menubar.c:97 +#: ../src/menubar.c:100 msgid "Create a new module" msgstr "Créer un nouveau module" -#: ../src/menubar.c:98 +#: ../src/menubar.c:101 msgid "_Open module" msgstr "_Ouvrir module" -#: ../src/menubar.c:99 +#: ../src/menubar.c:102 msgid "Open an existing module" msgstr "Ouvre un module existant" -#: ../src/menubar.c:101 +#: ../src/menubar.c:104 msgid "Open the message log browser" msgstr "" -#: ../src/menubar.c:102 +#: ../src/menubar.c:105 msgid "E_xit" msgstr "_Quitter" -#: ../src/menubar.c:103 +#: ../src/menubar.c:106 msgid "Exit the program" msgstr "Quitter le programme" #. Edit menu #. { "Tle", GTK_STOCK_REFRESH, N_("Update TLE"), NULL, #. N_("Update Keplerian elements"), NULL}, -#: ../src/menubar.c:108 +#: ../src/menubar.c:111 msgid "From _network" msgstr "Depuis le _réseau" -#: ../src/menubar.c:109 +#: ../src/menubar.c:112 msgid "Update Keplerian elements from a network server" msgstr "Mets à jour les éléments Képlériens depuis un serveur réseau" -#: ../src/menubar.c:111 +#: ../src/menubar.c:114 msgid "From l_ocal files" msgstr "Depuis des fichiers _locaux" -#: ../src/menubar.c:112 +#: ../src/menubar.c:115 msgid "Update Keplerian elements from local files" msgstr "Mets à jour les éléments Képlériens depuis des fichiers locaux" -#: ../src/menubar.c:114 +#: ../src/menubar.c:117 msgid "Using TLE _editor" msgstr "Utilisation de l'édit_eur TLE" -#: ../src/menubar.c:115 +#: ../src/menubar.c:118 msgid "Add or update Keplerian elements using the TLE editor" msgstr "" "Ajoute ou mets à jour les éléments Képlériens en utilisant l'éditeur TLE" -#: ../src/menubar.c:117 +#: ../src/menubar.c:120 msgid "_Transponders" msgstr "_Transpondeurs" -#: ../src/menubar.c:118 +#: ../src/menubar.c:121 msgid "Edit satellite transponder frequencies" msgstr "Edite les fréquences transpondeurs satellite" -#: ../src/menubar.c:120 +#: ../src/menubar.c:123 msgid "_Preferences" msgstr "_Préférences" -#: ../src/menubar.c:121 +#: ../src/menubar.c:124 msgid "Edit user preferences" msgstr "Edite les préférences utilisateur" #. Tools menu -#: ../src/menubar.c:124 -#, fuzzy +#: ../src/menubar.c:127 msgid "Satellite Editor" -msgstr "Info Satellite" +msgstr "Editeur de Satellite" -#: ../src/menubar.c:125 +#: ../src/menubar.c:128 msgid "" "Open the satellite editor where you can manually edit orbital elements and " "other data" msgstr "" -#: ../src/menubar.c:127 +#: ../src/menubar.c:130 msgid "Comm Window" msgstr "Fenêtre Comm" -#: ../src/menubar.c:128 +#: ../src/menubar.c:131 msgid "Predict windows between two observers" msgstr "" -#: ../src/menubar.c:130 +#: ../src/menubar.c:133 msgid "Advanced Predict" msgstr "" -#: ../src/menubar.c:131 +#: ../src/menubar.c:134 msgid "Open advanced pass predictor" msgstr "" #. Help menu -#: ../src/menubar.c:134 +#: ../src/menubar.c:137 msgid "Getting Started" -msgstr "" +msgstr "Pour commencer" -#: ../src/menubar.c:135 +#: ../src/menubar.c:138 msgid "Show online user manual, Getting Started Section" msgstr "" -#: ../src/menubar.c:137 +#: ../src/menubar.c:140 msgid "Online help" -msgstr "" +msgstr "Aide en ligne" -#: ../src/menubar.c:138 +#: ../src/menubar.c:141 msgid "Show online user manual" msgstr "Montre le manuel utilisateur en ligne" -#: ../src/menubar.c:139 +#: ../src/menubar.c:142 msgid "_License" msgstr "_Licence" -#: ../src/menubar.c:140 +#: ../src/menubar.c:143 msgid "Show the Gpredict license" msgstr "Monre la licence Gpredict" -#: ../src/menubar.c:141 +#: ../src/menubar.c:144 msgid "_News" msgstr "_Nouvelles" -#: ../src/menubar.c:142 +#: ../src/menubar.c:145 msgid "Show what's new in this release" msgstr "Montre ce qu'il y a de neuf dans cette version" -#: ../src/menubar.c:143 +#: ../src/menubar.c:146 msgid "_About Gpredict" msgstr "_A propos de Gpredict" -#: ../src/menubar.c:144 +#: ../src/menubar.c:147 msgid "Show about dialog" msgstr "Montre le dialogue à propos" -#: ../src/menubar.c:234 +#: ../src/menubar.c:237 #, c-format msgid "Failed to build menubar: %s" msgstr "" -#: ../src/menubar.c:270 +#: ../src/menubar.c:273 #, c-format msgid "%s: Starting new module configurator..." msgstr "" -#: ../src/menubar.c:277 +#: ../src/menubar.c:280 #, c-format msgid "%s: New module name is %s." msgstr "" -#: ../src/menubar.c:297 ../src/menubar.c:356 +#: ../src/menubar.c:300 ../src/menubar.c:359 #, c-format msgid "Could not open %s. Please examine the log messages for details." msgstr "" -#: ../src/menubar.c:313 +#: ../src/menubar.c:316 #, c-format msgid "%s: New module config cancelled." msgstr "" -#: ../src/menubar.c:329 +#: ../src/menubar.c:332 #, c-format msgid "%s: Open existing module..." msgstr "" -#: ../src/menubar.c:336 +#: ../src/menubar.c:339 #, c-format msgid "%s: Open module %s." msgstr "" -#: ../src/menubar.c:384 +#: ../src/menubar.c:387 #, c-format msgid "%s: Open module cancelled." msgstr "" #. create new dialog with progress indicator -#: ../src/menubar.c:439 ../src/menubar.c:609 ../src/sat-pref-general.c:61 +#: ../src/menubar.c:442 ../src/menubar.c:612 ../src/sat-pref-general.c:61 msgid "TLE Update" msgstr "Mise-à-jour TLE" -#: ../src/menubar.c:460 +#: ../src/menubar.c:463 msgid "<b>Updating TLE files from network</b>" msgstr "<b>Mise à jour des fichiers TLE depuis le réseau</b>" #. statistics -#: ../src/menubar.c:473 ../src/menubar.c:643 +#: ../src/menubar.c:476 ../src/menubar.c:646 msgid "" "Satellites updated:\t 0\n" "Satellites skipped:\t 0\n" @@ -2311,76 +2334,76 @@ "Satellites sautés: \t 0\n" "Satellites manquants: \t 0\n" -#: ../src/menubar.c:499 ../src/menubar.c:669 +#: ../src/menubar.c:502 ../src/menubar.c:672 msgid "Finished" msgstr "Terminé" #. create file chooser -#: ../src/menubar.c:552 +#: ../src/menubar.c:555 msgid "Select directory" msgstr "Sélectionne répertoire" #. create label -#: ../src/menubar.c:558 +#: ../src/menubar.c:561 msgid "Select TLE directory:" msgstr "Sélection répertoire TLE" #. create the dalog -#: ../src/menubar.c:567 +#: ../src/menubar.c:570 msgid "Update TLE from files" msgstr "Mise-à-jour tLE à partir de fichiers " -#: ../src/menubar.c:602 +#: ../src/menubar.c:605 #, c-format msgid "%s: Running TLE update from %s" msgstr "" -#: ../src/menubar.c:629 +#: ../src/menubar.c:632 msgid "<b>Updating TLE files from files</b>" msgstr "<b>Mise à jour de fichiers TLE depuis à partir de fichiers</b>" -#: ../src/menubar.c:707 ../src/menubar.c:728 +#: ../src/menubar.c:710 ../src/menubar.c:731 msgid "This function is still under development." msgstr "" -#: ../src/menubar.c:755 +#: ../src/menubar.c:758 msgid "" "A comprehensive PDF user manual and \n" "video tutorials are available from the \n" "Gpredict website:" msgstr "" -#: ../src/menubar.c:829 +#: ../src/menubar.c:834 #, c-format msgid "%s:%s: Scanning directory %s for modules." msgstr "" -#: ../src/menubar.c:852 +#: ../src/menubar.c:857 #, c-format msgid "%s:%d: Failed to open module dir %s (%s)" msgstr "" -#: ../src/menubar.c:867 +#: ../src/menubar.c:872 msgid "" "You do not have any modules set up yet. Please use File->New in order to " "create a module." msgstr "" -#: ../src/menubar.c:885 +#: ../src/menubar.c:906 msgid "Module" msgstr "Module" #. create dialog -#: ../src/menubar.c:893 +#: ../src/menubar.c:914 msgid "Select a module" msgstr "" -#: ../src/menubar.c:920 +#: ../src/menubar.c:942 #, c-format msgid "%s:%s: Selected module is: %s" msgstr "" -#: ../src/menubar.c:925 +#: ../src/menubar.c:947 #, c-format msgid "%s:%s: No selection is list of modules." msgstr "" @@ -2421,22 +2444,22 @@ msgid "%s: Attempt to save NULL data." msgstr "" -#: ../src/mod-cfg.c:343 ../src/sat-cfg.c:325 +#: ../src/mod-cfg.c:343 ../src/sat-cfg.c:326 #, c-format msgid "%s: Could not create config data (%s)." msgstr "" -#: ../src/mod-cfg.c:360 ../src/sat-cfg.c:342 +#: ../src/mod-cfg.c:360 ../src/sat-cfg.c:343 #, c-format msgid "%s: Could not create config file (%s)." msgstr "" -#: ../src/mod-cfg.c:379 ../src/sat-cfg.c:361 +#: ../src/mod-cfg.c:379 ../src/sat-cfg.c:362 #, c-format msgid "%s: Error writing config data (%s)." msgstr "" -#: ../src/mod-cfg.c:388 ../src/qth-data.c:341 ../src/sat-cfg.c:370 +#: ../src/mod-cfg.c:388 ../src/qth-data.c:342 ../src/sat-cfg.c:371 #, c-format msgid "%s: Wrote only %d out of %d chars." msgstr "" @@ -2472,9 +2495,8 @@ msgstr "" #: ../src/mod-cfg.c:546 -#, fuzzy msgid "<b>Satellites</b>" -msgstr "<b>Satellite</b>" +msgstr "<b>Satellites</b>" #: ../src/mod-cfg.c:564 msgid "Add satellite to list of selected satellites." @@ -2491,9 +2513,8 @@ msgstr "" #: ../src/mod-cfg.c:614 -#, fuzzy msgid "Selected Satellites" -msgstr "<b>Sélection Satellites:</b>" +msgstr "Satellites Sélectionnés" #: ../src/mod-cfg.c:731 ../src/mod-cfg.c:985 #, c-format @@ -2529,7 +2550,7 @@ #. window icon file name #: ../src/mod-cfg.c:1020 msgid "Module Properties" -msgstr "" +msgstr "Propriétés du module" #: ../src/mod-cfg-get-param.c:71 #, c-format @@ -2738,24 +2759,24 @@ msgid " LOS" msgstr "" -#: ../src/pass-to-txt.c:96 ../src/sat-pass-dialogs.c:61 +#: ../src/pass-to-txt.c:96 ../src/sat-pass-dialogs.c:62 msgid "Duration" msgstr "Durée" -#: ../src/pass-to-txt.c:97 ../src/sat-pass-dialogs.c:62 +#: ../src/pass-to-txt.c:97 ../src/sat-pass-dialogs.c:63 #: ../src/sat-pref-rot.c:169 msgid "Max El" msgstr "El Max" -#: ../src/pass-to-txt.c:98 ../src/sat-pass-dialogs.c:63 +#: ../src/pass-to-txt.c:98 ../src/sat-pass-dialogs.c:64 msgid "AOS Az" msgstr "" -#: ../src/pass-to-txt.c:99 ../src/sat-pass-dialogs.c:64 +#: ../src/pass-to-txt.c:99 ../src/sat-pass-dialogs.c:65 msgid "Max El Az" msgstr "EL Az Max" -#: ../src/pass-to-txt.c:100 ../src/sat-pass-dialogs.c:65 +#: ../src/pass-to-txt.c:100 ../src/sat-pass-dialogs.c:66 msgid "LOS Az" msgstr "" @@ -2789,74 +2810,79 @@ "Observateur: %s, %s\n" "LAT:%.2f LON:%.2f\n" -#: ../src/qth-data.c:66 +#: ../src/predict-tools.c:646 #, c-format +msgid "%s: Found %d passes for %s in time window [%f;%f]" +msgstr "" + +#: ../src/qth-data.c:67 +#, c-format msgid "%s: Could not load data from %s (%s)" msgstr "" -#: ../src/qth-data.c:74 +#: ../src/qth-data.c:75 #, c-format msgid "%s: QTH data: %s" msgstr "" -#: ../src/qth-data.c:91 +#: ../src/qth-data.c:92 #, c-format msgid "%s: Error reading QTH name (%s)." msgstr "" -#: ../src/qth-data.c:105 +#: ../src/qth-data.c:106 #, c-format msgid "%s: QTH has no location (%s)." msgstr "" -#: ../src/qth-data.c:119 +#: ../src/qth-data.c:120 #, c-format msgid "%s: QTH has no description." msgstr "" -#: ../src/qth-data.c:133 +#: ../src/qth-data.c:134 #, c-format msgid "%s: QTH has no weather station." msgstr "" -#: ../src/qth-data.c:147 +#: ../src/qth-data.c:148 #, c-format msgid "%s: Error reading QTH latitude (%s)." msgstr "" -#: ../src/qth-data.c:169 +#: ../src/qth-data.c:170 #, c-format msgid "%s: Error reading QTH longitude (%s)." msgstr "" -#: ../src/qth-data.c:191 +#: ../src/qth-data.c:192 #, c-format msgid "%s: Error reading QTH altitude (%s)." msgstr "" -#: ../src/qth-data.c:206 +#: ../src/qth-data.c:207 #, c-format msgid "%s: QTH data: %s, %.4f, %.4f, %d" msgstr "" -#: ../src/qth-data.c:300 +#: ../src/qth-data.c:301 #, c-format msgid "%s: Could not create QTH data (%s)." msgstr "" -#: ../src/qth-data.c:313 +#: ../src/qth-data.c:314 #, c-format msgid "" "%s: Could not create QTH file %s\n" "%s." msgstr "" -#: ../src/qth-data.c:332 +#: ../src/qth-data.c:333 #, c-format msgid "%s: Error writing QTH data (%s)." msgstr "" -#: ../src/qth-data.c:348 +#: ../src/qth-data.c:349 #, c-format msgid "%s: QTH data saved." msgstr "" @@ -2897,7 +2923,7 @@ #. QTH description #: ../src/qth-editor.c:221 ../src/sat-pref-qth-editor.c:205 msgid "Description" -msgstr "" +msgstr "Description" #: ../src/qth-editor.c:229 ../src/sat-pref-qth-editor.c:213 msgid "Enter an optional description for this ground station." @@ -2917,7 +2943,7 @@ #: ../src/qth-editor.c:248 ../src/qth-editor.c:369 #: ../src/sat-pref-qth-editor.c:232 ../src/sat-pref-qth-editor.c:353 msgid "Select" -msgstr "" +msgstr "Sélectionner" #: ../src/qth-editor.c:249 ../src/sat-pref-qth-editor.c:233 msgid "Select a predefined location from a list." @@ -3077,47 +3103,47 @@ msgid "%s: MaxEl not defined for %s. Assuming 90°." msgstr "" -#: ../src/sat-cfg.c:273 +#: ../src/sat-cfg.c:274 #, c-format msgid "%s: Error reading config file (%s)" msgstr "" -#: ../src/sat-cfg.c:277 +#: ../src/sat-cfg.c:278 #, c-format msgid "%s: Using built-in defaults" msgstr "" -#: ../src/sat-cfg.c:286 +#: ../src/sat-cfg.c:287 #, c-format msgid "%s: Everything OK." msgstr "" -#: ../src/sat-cfg.c:377 +#: ../src/sat-cfg.c:378 #, c-format msgid "%s: Configuration saved." msgstr "" -#: ../src/sat-cfg.c:419 ../src/sat-cfg.c:480 ../src/sat-cfg.c:506 -#: ../src/sat-cfg.c:538 ../src/sat-cfg.c:601 ../src/sat-cfg.c:636 -#: ../src/sat-cfg.c:663 ../src/sat-cfg.c:717 ../src/sat-cfg.c:742 +#: ../src/sat-cfg.c:420 ../src/sat-cfg.c:481 ../src/sat-cfg.c:507 +#: ../src/sat-cfg.c:539 ../src/sat-cfg.c:602 ../src/sat-cfg.c:637 +#: ../src/sat-cfg.c:664 ../src/sat-cfg.c:718 ../src/sat-cfg.c:743 #, c-format msgid "%s: Module not initialised\n" msgstr "" -#: ../src/sat-cfg.c:442 ../src/sat-cfg.c:459 ../src/sat-cfg.c:493 -#: ../src/sat-cfg.c:519 +#: ../src/sat-cfg.c:443 ../src/sat-cfg.c:460 ../src/sat-cfg.c:494 +#: ../src/sat-cfg.c:520 #, c-format msgid "%s: Unknown BOOL param index (%d)\n" msgstr "" -#: ../src/sat-cfg.c:561 ../src/sat-cfg.c:583 ../src/sat-cfg.c:623 -#: ../src/sat-cfg.c:649 +#: ../src/sat-cfg.c:562 ../src/sat-cfg.c:584 ../src/sat-cfg.c:624 +#: ../src/sat-cfg.c:650 #, c-format msgid "%s: Unknown STR param index (%d)\n" msgstr "" -#: ../src/sat-cfg.c:686 ../src/sat-cfg.c:703 ../src/sat-cfg.c:730 -#: ../src/sat-cfg.c:755 +#: ../src/sat-cfg.c:687 ../src/sat-cfg.c:704 ../src/sat-cfg.c:731 +#: ../src/sat-cfg.c:756 #, c-format msgid "%s: Unknown INT param index (%d)\n" msgstr "" @@ -3282,14 +3308,14 @@ msgid "Mode: %s" msgstr "Mode: %s" -#: ../src/sat-log-browser.c:57 ../src/sat-pass-dialogs.c:100 -#: ../src/sat-pass-dialogs.c:124 +#: ../src/sat-log-browser.c:57 ../src/sat-pass-dialogs.c:101 +#: ../src/sat-pass-dialogs.c:125 msgid "Time" msgstr "Date" #: ../src/sat-log-browser.c:58 msgid "Source" -msgstr "" +msgstr "Source" #: ../src/sat-log-browser.c:59 msgid "Level" @@ -3297,12 +3323,12 @@ #: ../src/sat-log-browser.c:60 msgid "Message" -msgstr "" +msgstr "Message" #. * WARNING: Used directly in sat-log-browser #: ../src/sat-log-browser.c:70 ../src/sat-log.c:58 msgid "NONE" -msgstr "" +msgstr "AUCUN" #: ../src/sat-log-browser.c:71 msgid "BUG" @@ -3310,7 +3336,7 @@ #: ../src/sat-log-browser.c:73 msgid "WARNING" -msgstr "" +msgstr "ATTENTION" #: ../src/sat-log-browser.c:74 msgid "DEBUG" @@ -3330,7 +3356,7 @@ #. create file chooser dialog #: ../src/sat-log-browser.c:375 msgid "Select Log File" -msgstr "" +msgstr "Sélectionner un fichier du Journal" #: ../src/sat-log-browser.c:452 msgid "SYS" @@ -3416,83 +3442,83 @@ msgid "%s: Session ended" msgstr "" -#: ../src/sat-pass-dialogs.c:58 +#: ../src/sat-pass-dialogs.c:59 msgid "AOS" msgstr "" -#: ../src/sat-pass-dialogs.c:59 +#: ../src/sat-pass-dialogs.c:60 msgid "TCA" msgstr "" -#: ../src/sat-pass-dialogs.c:60 +#: ../src/sat-pass-dialogs.c:61 msgid "LOS" msgstr "" -#: ../src/sat-pass-dialogs.c:72 +#: ../src/sat-pass-dialogs.c:73 msgid "Aquisition of signal (AOS)" msgstr "" -#: ../src/sat-pass-dialogs.c:73 +#: ../src/sat-pass-dialogs.c:74 msgid "Time of Closest Approach (TCA)" msgstr "" -#: ../src/sat-pass-dialogs.c:74 +#: ../src/sat-pass-dialogs.c:75 msgid "Loss of signal (LOS)" msgstr "" -#: ../src/sat-pass-dialogs.c:75 +#: ../src/sat-pass-dialogs.c:76 msgid "Duration of pass" msgstr "" -#: ../src/sat-pass-dialogs.c:76 +#: ../src/sat-pass-dialogs.c:77 msgid "Maximum elevation" msgstr "" -#: ../src/sat-pass-dialogs.c:77 +#: ../src/sat-pass-dialogs.c:78 msgid "Azimuth at AOS" msgstr "" -#: ../src/sat-pass-dialogs.c:78 +#: ../src/sat-pass-dialogs.c:79 msgid "Az at max. elevation" msgstr "" -#: ../src/sat-pass-dialogs.c:79 +#: ../src/sat-pass-dialogs.c:80 msgid "Azimuth at LOS" msgstr "" -#: ../src/sat-pass-dialogs.c:80 +#: ../src/sat-pass-dialogs.c:81 msgid "Orbit number" msgstr "Numéro Orbite" -#: ../src/sat-pass-dialogs.c:81 +#: ../src/sat-pass-dialogs.c:82 msgid "Visibility during pass" msgstr "" -#: ../src/sat-pass-dialogs.c:457 +#: ../src/sat-pass-dialogs.c:458 msgid "Data" msgstr "Données" -#: ../src/sat-pass-dialogs.c:468 +#: ../src/sat-pass-dialogs.c:469 msgid "Polar" msgstr "Polaire" -#: ../src/sat-pass-dialogs.c:479 +#: ../src/sat-pass-dialogs.c:480 msgid "Az/El" msgstr "Az/El" #. create dialog -#: ../src/sat-pass-dialogs.c:485 +#: ../src/sat-pass-dialogs.c:486 #, c-format msgid "Pass details for %s (orbit %d)" msgstr "Détails du passage pour %s (orbite %d)" -#: ../src/sat-pass-dialogs.c:547 ../src/sat-pass-dialogs.c:1146 +#: ../src/sat-pass-dialogs.c:548 ../src/sat-pass-dialogs.c:1152 #, c-format msgid "%s: PRINT not implemented" msgstr "" #. create dialog -#: ../src/sat-pass-dialogs.c:1086 +#: ../src/sat-pass-dialogs.c:1092 #, c-format msgid "Upcoming passes for %s" msgstr "Prochains passages pour %s" @@ -3642,7 +3668,7 @@ #: ../src/sat-pref-conditions.c:433 ../src/sat-pref-debug.c:144 #: ../src/sat-pref-layout.c:434 ../src/sat-pref-list-view.c:260 -#: ../src/sat-pref-map-view.c:651 ../src/sat-pref-multi-pass.c:196 +#: ../src/sat-pref-map-view.c:685 ../src/sat-pref-multi-pass.c:196 #: ../src/sat-pref-polar-view.c:633 ../src/sat-pref-refresh.c:426 #: ../src/sat-pref-single-pass.c:190 ../src/sat-pref-single-sat.c:229 #: ../src/sat-pref-sky-at-glance.c:497 ../src/sat-pref-tle.c:354 @@ -3761,7 +3787,7 @@ #: ../src/sat-pref-formats.c:121 msgid "Reset to default value" -msgstr "" +msgstr "Réinitialiser aux valeurs par défaut" #: ../src/sat-pref-formats.c:124 msgid "Time format:" @@ -3820,7 +3846,7 @@ #: ../src/sat-pref-layout.c:78 msgid "Table" -msgstr "" +msgstr "Table" #: ../src/sat-pref-layout.c:79 msgid "World map and table" @@ -3848,7 +3874,7 @@ #: ../src/sat-pref-layout.c:85 msgid "Custom" -msgstr "" +msgstr "Personnalisation" #. create header #: ../src/sat-pref-layout.c:222 @@ -3906,7 +3932,7 @@ msgstr "" #: ../src/sat-pref-layout.c:439 ../src/sat-pref-list-view.c:265 -#: ../src/sat-pref-map-view.c:656 ../src/sat-pref-polar-view.c:638 +#: ../src/sat-pref-map-view.c:690 ../src/sat-pref-polar-view.c:638 #: ../src/sat-pref-refresh.c:431 ../src/sat-pref-single-sat.c:234 msgid "Reset module settings to the global values." msgstr "" @@ -3917,7 +3943,7 @@ #: ../src/sat-pref-list-view.c:128 msgid "Visible Columns" -msgstr "" +msgstr "Colonnes visibles" #: ../src/sat-pref-list-view.c:150 msgid "Enable rules hint in the list views" @@ -3930,51 +3956,51 @@ "behaviour is up to the theme engine." msgstr "" -#: ../src/sat-pref-map-view.c:128 +#: ../src/sat-pref-map-view.c:131 msgid "<b>Background Map:</b>" msgstr "" #. select button -#: ../src/sat-pref-map-view.c:178 +#: ../src/sat-pref-map-view.c:181 msgid "Select map" -msgstr "" +msgstr "Sélectionner une carte" -#: ../src/sat-pref-map-view.c:181 +#: ../src/sat-pref-map-view.c:184 msgid "Click to select a map" msgstr "" -#: ../src/sat-pref-map-view.c:213 ../src/sat-pref-polar-view.c:248 +#: ../src/sat-pref-map-view.c:215 ../src/sat-pref-polar-view.c:248 msgid "<b>Extra Contents:</b>" msgstr "" #. QTH info -#: ../src/sat-pref-map-view.c:221 ../src/sat-pref-polar-view.c:256 +#: ../src/sat-pref-map-view.c:223 ../src/sat-pref-polar-view.c:256 msgid "QTH Info" msgstr "" -#: ../src/sat-pref-map-view.c:224 +#: ../src/sat-pref-map-view.c:226 msgid "Show location information on the map" msgstr "" -#: ../src/sat-pref-map-view.c:244 +#: ../src/sat-pref-map-view.c:246 msgid "Show which satellite comes up next and at what time" msgstr "" #. Cursor position -#: ../src/sat-pref-map-view.c:261 ../src/sat-pref-polar-view.c:296 +#: ../src/sat-pref-map-view.c:263 ../src/sat-pref-polar-view.c:296 msgid "Cursor Position" -msgstr "" +msgstr "Position du curseur" -#: ../src/sat-pref-map-view.c:264 +#: ../src/sat-pref-map-view.c:266 msgid "Show the latitude and longitude of the mouse pointer" msgstr "" #. Grid -#: ../src/sat-pref-map-view.c:282 +#: ../src/sat-pref-map-view.c:284 msgid "Grid Lines" msgstr "" -#: ../src/sat-pref-map-view.c:285 +#: ../src/sat-pref-map-view.c:287 msgid "Show horizontal and vertical grid lines" msgstr "" @@ -4000,7 +4026,7 @@ #. Grid in case it is enabled #: ../src/sat-pref-map-view.c:364 msgid "Grid:" -msgstr "" +msgstr "Grille :" #: ../src/sat-pref-map-view.c:374 msgid "Click to select the grid colour" @@ -4018,7 +4044,7 @@ #. satellite #: ../src/sat-pref-map-view.c:418 ../src/sat-pref-polar-view.c:452 msgid "Satellite:" -msgstr "" +msgstr "Satellite :" #: ../src/sat-pref-map-view.c:428 ../src/sat-pref-polar-view.c:462 msgid "Click to select satellite colour" @@ -4069,11 +4095,33 @@ msgid "Click to select info text background colour" msgstr "" -#: ../src/sat-pref-map-view.c:602 +#. Shadow +#: ../src/sat-pref-map-view.c:581 +msgid "Shadow:" +msgstr "" + +#: ../src/sat-pref-map-view.c:586 +msgid "<i>Transparent</i>" +msgstr "" + +#: ../src/sat-pref-map-view.c:591 +msgid "<i>Strong</i>" +msgstr "" + +#: ../src/sat-pref-map-view.c:608 +msgid "" +"Specifies how strong the shadow under the satellite marker should be. The " +"shadow improves the visibility of the satellites where the colour of the " +"background is light, e.g. the South Pole.\n" +"\n" +"Transparent corresponds to no shadow." +msgstr "" + +#: ../src/sat-pref-map-view.c:637 msgid "Display ground track for" msgstr "" -#: ../src/sat-pref-map-view.c:624 +#: ../src/sat-pref-map-view.c:659 msgid "orbit(s)" msgstr "orbite(s)" @@ -4138,7 +4186,7 @@ #. background #: ../src/sat-pref-polar-view.c:371 msgid "Background:" -msgstr "" +msgstr "Arrière plan :" #: ../src/sat-pref-polar-view.c:381 ../src/sat-pref-polar-view.c:543 msgid "Click to select background colour" @@ -4168,9 +4216,8 @@ msgstr "" #: ../src/sat-pref-polar-view.c:582 -#, fuzzy msgid "<b>Miscellaneous:</b>" -msgstr "<b>Vues:</b>" +msgstr "<b>Divers:</b>" #. show sky tracks #: ../src/sat-pref-polar-view.c:590 @@ -4218,7 +4265,7 @@ #: ../src/sat-pref-qth.c:257 msgid "Default" -msgstr "" +msgstr "Par défaut" #: ../src/sat-pref-qth.c:319 #, c-format @@ -4487,11 +4534,15 @@ msgid "Duplex" msgstr "Duplex" -#: ../src/sat-pref-rig.c:750 +#: ../src/sat-pref-rig.c:718 ../src/sat-pref-rig-editor.c:211 +msgid "FT817/857/897" +msgstr "" + +#: ../src/sat-pref-rig.c:754 msgid "PTT" msgstr "PTT" -#: ../src/sat-pref-rig.c:753 +#: ../src/sat-pref-rig.c:757 msgid "DCD" msgstr "DCD" @@ -4531,37 +4582,45 @@ msgid "Duplex TRX" msgstr "" -#: ../src/sat-pref-rig-editor.c:214 +#: ../src/sat-pref-rig-editor.c:215 msgid "" "<b>RX only:</b> The radio shall only be used as receiver. 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" +"\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" +"\n" "<b>Simplex TRX... [truncated message content] |
From: <cs...@us...> - 2010-02-20 22:45:18
|
Revision: 612 http://gpredict.svn.sourceforge.net/gpredict/?rev=612&view=rev Author: csete Date: 2010-02-20 22:45:12 +0000 (Sat, 20 Feb 2010) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-02-20 22:33:57 UTC (rev 611) +++ trunk/ChangeLog 2010-02-20 22:45:12 UTC (rev 612) @@ -1,3 +1,14 @@ +2010-02-20 Alexandru Csete <oz9aec at gmail.com> + + * src/sat-pref-rig.c: + * src/radio-conf.h: + * src/gtk-rig-ctrl.c: + Replace RIG_TYPE_SPLIT with RIG_TYPE_TOGGLE (from patch 2955061). + + * src/sat-pref-rot.c: + Use g_str_has_suffix() instead of g_strrstr() (from patch 2955061). + + 2010-02-15 Alexandru Csete <oz9aec at gmail.com> * src/gtk-rig-ctrl.c: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-02-20 22:34:03
|
Revision: 611 http://gpredict.svn.sourceforge.net/gpredict/?rev=611&view=rev Author: csete Date: 2010-02-20 22:33:57 +0000 (Sat, 20 Feb 2010) Log Message: ----------- Use g_str_has_suffix() instead of g_strrstr() (from patch 2955061). Modified Paths: -------------- trunk/src/sat-pref-rot.c Modified: trunk/src/sat-pref-rot.c =================================================================== --- trunk/src/sat-pref-rot.c 2010-02-20 22:29:18 UTC (rev 610) +++ trunk/src/sat-pref-rot.c 2010-02-20 22:33:57 UTC (rev 611) @@ -220,7 +220,7 @@ /* read each .rot file */ while ((filename = g_dir_read_name (dir))) { - if (g_strrstr (filename, ".rot")) { + if (g_str_has_suffix (filename, ".rot")) { vbuff = g_strsplit (filename, ".rot", 0); conf.name = g_strdup (vbuff[0]); @@ -360,7 +360,7 @@ /* read each .rot file */ while ((filename = g_dir_read_name (dir))) { - if (g_strrstr (filename, ".rot")) { + if (g_str_has_suffix (filename, ".rot")) { buff = g_strconcat (dirname, G_DIR_SEPARATOR_S, filename, NULL); g_remove (buff); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-02-20 22:29:24
|
Revision: 610 http://gpredict.svn.sourceforge.net/gpredict/?rev=610&view=rev Author: csete Date: 2010-02-20 22:29:18 +0000 (Sat, 20 Feb 2010) Log Message: ----------- Replace RIG_TYPE_SPLIT with RIG_TYPE_TOGGLE (from patch 2955061). Modified Paths: -------------- trunk/src/gtk-rig-ctrl.c trunk/src/radio-conf.h trunk/src/sat-pref-rig.c Modified: trunk/src/gtk-rig-ctrl.c =================================================================== --- trunk/src/gtk-rig-ctrl.c 2010-02-15 22:18:29 UTC (rev 609) +++ trunk/src/gtk-rig-ctrl.c 2010-02-20 22:29:18 UTC (rev 610) @@ -103,16 +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_toggle_cycle (GtkRigCtrl *ctrl); +static void exec_toggle_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 set_freq_toggle (GtkRigCtrl *ctrl, radio_conf_t *conf, gdouble freq); +static gboolean set_toggle (GtkRigCtrl *ctrl, radio_conf_t *conf); +static gboolean unset_toggle (GtkRigCtrl *ctrl, radio_conf_t *conf); +static gboolean get_freq_toggle (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); @@ -1179,8 +1179,8 @@ ctrl->lasttxf = 0.0; ctrl->lastrxf = 0.0; switch (ctrl->conf->type) { - case RIG_TYPE_SPLIT: - unset_split (ctrl,ctrl->conf); + case RIG_TYPE_TOGGLE: + unset_toggle (ctrl,ctrl->conf); break; default: break; @@ -1224,9 +1224,9 @@ exec_duplex_cycle (ctrl); break; - case RIG_TYPE_SPLIT: - set_split (ctrl,ctrl->conf); - exec_split_cycle (ctrl); + case RIG_TYPE_TOGGLE: + set_toggle (ctrl,ctrl->conf); + exec_toggle_cycle (ctrl); break; default: @@ -1311,8 +1311,8 @@ exec_duplex_cycle (ctrl); break; - case RIG_TYPE_SPLIT: - exec_split_cycle (ctrl); + case RIG_TYPE_TOGGLE: + exec_toggle_cycle (ctrl); break; default: @@ -1587,24 +1587,24 @@ exec_tx_cycle (ctrl); } -/** \brief Execute split mode cycle. +/** \brief Execute toggle mode cycle. * \param ctrl Pointer to the GtkRigCtrl widget. * - * This function executes a controller cycle when the device is of RIG_TYPE_SPLIT. + * This function executes a controller cycle when the device is of RIG_TYPE_TOGGLE. */ -static void exec_split_cycle (GtkRigCtrl *ctrl) +static void exec_toggle_cycle (GtkRigCtrl *ctrl) { exec_rx_cycle (ctrl); - exec_split_tx_cycle (ctrl); + exec_toggle_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. + * This function executes a transmit cycle when the primary device is of RIG_TYPE_TOGGLE. */ -static void exec_split_tx_cycle (GtkRigCtrl *ctrl) +static void exec_toggle_tx_cycle (GtkRigCtrl *ctrl) { gdouble readfreq=0.0, tmpfreq, satfreqd, satfrequ; gboolean ptt = TRUE; @@ -1625,7 +1625,7 @@ if (ptt == TRUE) { printf("PTT TRUE\n"); - if (!get_freq_split (ctrl, ctrl->conf, &readfreq)) { + if (!get_freq_toggle (ctrl, ctrl->conf, &readfreq)) { /* error => use a passive value */ readfreq = ctrl->lasttxf; ctrl->errcnt++; @@ -1689,7 +1689,7 @@ /* 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)) { + if (set_freq_toggle (ctrl, ctrl->conf, tmpfreq)) { /* reset error counter */ ctrl->errcnt = 0; @@ -1701,7 +1701,7 @@ 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); + get_freq_toggle (ctrl, ctrl->conf, &tmpfreq); } ctrl->lasttxf = tmpfreq; } @@ -2153,7 +2153,7 @@ } -/** \brief Set frequency in split mode +/** \brief Set frequency in toggle 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 @@ -2164,7 +2164,7 @@ * might become useful in the future. */ -static gboolean set_freq_split (GtkRigCtrl *ctrl, radio_conf_t *conf, gdouble freq) +static gboolean set_freq_toggle (GtkRigCtrl *ctrl, radio_conf_t *conf, gdouble freq) { gchar *buff; gint written,size; @@ -2233,13 +2233,13 @@ } -/** \brief Turn on the radios split mode +/** \brief Turn on the radios toggle 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) +static gboolean set_toggle (GtkRigCtrl *ctrl, radio_conf_t *conf) { gchar *buff; gint written,size; @@ -2307,14 +2307,14 @@ return TRUE; } -/** \brief Turn off the radios split mode +/** \brief Turn off the radios toggle 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) +static gboolean unset_toggle (GtkRigCtrl *ctrl, radio_conf_t *conf) { gchar *buff; gint written,size; @@ -2504,14 +2504,14 @@ return TRUE; } -/** \brief Get frequency when the radio is working split +/** \brief Get frequency when the radio is working toggle * \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) +static gboolean get_freq_toggle (GtkRigCtrl *ctrl, radio_conf_t *conf, gdouble *freq) { gchar *buff,**vbuff; gint written,size; Modified: trunk/src/radio-conf.h =================================================================== --- trunk/src/radio-conf.h 2010-02-15 22:18:29 UTC (rev 609) +++ trunk/src/radio-conf.h 2010-02-20 22:29:18 UTC (rev 610) @@ -39,8 +39,7 @@ 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_SPLIT /*!< Special mode for FT-817, 857 and 897 - FIXME: Find a better name because RIG_TYPE_TRX *is* actually split! */ + RIG_TYPE_TOGGLE /*!< Special mode for FT-817, 857 and 897 */ } rig_type_t; typedef enum { Modified: trunk/src/sat-pref-rig.c =================================================================== --- trunk/src/sat-pref-rig.c 2010-02-15 22:18:29 UTC (rev 609) +++ trunk/src/sat-pref-rig.c 2010-02-20 22:29:18 UTC (rev 610) @@ -714,7 +714,7 @@ g_object_set (renderer, "text", _("Duplex"), NULL); break; - case RIG_TYPE_SPLIT: + case RIG_TYPE_TOGGLE: g_object_set (renderer, "text", _("FT817/857/897"), NULL); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-02-15 22:18:36
|
Revision: 609 http://gpredict.svn.sourceforge.net/gpredict/?rev=609&view=rev Author: csete Date: 2010-02-15 22:18:29 +0000 (Mon, 15 Feb 2010) Log Message: ----------- Updated with info about the new FT-817/857/897 tuning mode. Modified Paths: -------------- trunk/doc/um/gpredict-user-manual.odt Modified: trunk/doc/um/gpredict-user-manual.odt =================================================================== (Binary files differ) 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-02-07 21:50:19
|
Revision: 607 http://gpredict.svn.sourceforge.net/gpredict/?rev=607&view=rev Author: csete Date: 2010-02-07 21:50:12 +0000 (Sun, 07 Feb 2010) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-02-07 21:47:15 UTC (rev 606) +++ trunk/ChangeLog 2010-02-07 21:50:12 UTC (rev 607) @@ -1,3 +1,10 @@ +2010-02-07 Alexandru Csete <oz9aec at gmail.com> + + * src/menubar.c: + Applied patch 2947459: Make Module List Scrollable (Thanks to + Charles Suprin AA1VS). + + 2010-02-05 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sat-map.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-02-07 21:47:15 UTC (rev 606) +++ trunk/NEWS 2010-02-07 21:50:12 UTC (rev 607) @@ -27,6 +27,7 @@ - Applied patch 2943024: Eliminate Segfault in gtk-sat-map.c (Thanks to Charles Suprin AA1VS). - 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). - 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-07 21:47:21
|
Revision: 606 http://gpredict.svn.sourceforge.net/gpredict/?rev=606&view=rev Author: csete Date: 2010-02-07 21:47:15 +0000 (Sun, 07 Feb 2010) Log Message: ----------- Applied patch 2947459: Make Module List Scrollable (Thanks to Charles Suprin AA1VS). Modified Paths: -------------- trunk/src/menubar.c Modified: trunk/src/menubar.c =================================================================== --- trunk/src/menubar.c 2010-02-05 14:56:49 UTC (rev 605) +++ trunk/src/menubar.c 2010-02-07 21:47:15 UTC (rev 606) @@ -811,6 +811,7 @@ GtkTreeSelection *selection; GtkTreeModel *selmod; GtkTreeModel *listtreemodel; + GtkWidget *swin; GDir *dir = NULL; /* directory handle */ GError *error = NULL; /* error flag and info */ gchar *dirname; /* directory name */ @@ -884,7 +885,10 @@ gtk_tree_view_set_model (GTK_TREE_VIEW (modlist), listtreemodel); g_object_unref (liststore); - + swin = gtk_scrolled_window_new(NULL,NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); /* sort the tree by name */ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (listtreemodel), 0, @@ -918,9 +922,10 @@ NULL); gtk_window_set_default_size (GTK_WINDOW (dialog), -1, 200); + gtk_container_add (GTK_CONTAINER (swin), modlist); + gtk_widget_show (swin); + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), swin); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), modlist); - switch (gtk_dialog_run (GTK_DIALOG (dialog))) { /* user pressed OK */ 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:58
|
Revision: 605 http://gpredict.svn.sourceforge.net/gpredict/?rev=605&view=rev Author: csete Date: 2010-02-05 14:56:49 +0000 (Fri, 05 Feb 2010) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-02-05 14:56:23 UTC (rev 604) +++ trunk/ChangeLog 2010-02-05 14:56:49 UTC (rev 605) @@ -1,3 +1,19 @@ +2010-02-05 Alexandru Csete <oz9aec at gmail.com> + + * src/gtk-sat-map.c: + Applied patch 2943024: Eliminate Segfault in gtk-sat-map.c (Thanks to + Charles Suprin AA1VS). + + * src/gtk-rig-ctrl.c: + * src/gtk-rot-ctrl.c: + Applied patch 2943448: Remove Segfault from corrupted module (Thanks to + Charles Suprin AA1VS). + + * src/menubar.c: + Applied patch 2945525: Sort list of modules in open module dialog (Thanks to + Charles Suprin AA1VS). + + 2010-02-01 Alexandur Csete <oz9aec at gmail.com> * src/qth-data.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-02-05 14:56:23 UTC (rev 604) +++ trunk/NEWS 2010-02-05 14:56:49 UTC (rev 605) @@ -24,6 +24,9 @@ - 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). +- Applied patch 2943024: Eliminate Segfault in gtk-sat-map.c (Thanks to Charles Suprin AA1VS). +- 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). - 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-05 14:05:19
|
Revision: 603 http://gpredict.svn.sourceforge.net/gpredict/?rev=603&view=rev Author: csete Date: 2010-02-05 14:05:13 +0000 (Fri, 05 Feb 2010) Log Message: ----------- Applied patch 2945525: Sort list of modules in open module dialog. Modified Paths: -------------- trunk/src/menubar.c Modified: trunk/src/menubar.c =================================================================== --- trunk/src/menubar.c 2010-02-05 13:48:03 UTC (rev 602) +++ trunk/src/menubar.c 2010-02-05 14:05:13 UTC (rev 603) @@ -80,8 +80,11 @@ static void menubar_about_cb (GtkWidget *widget, gpointer data); static gchar *select_module (void); static void create_module_window (GtkWidget *module); +static gint compare_func (GtkTreeModel *model, + GtkTreeIter *a, + GtkTreeIter *b, + gpointer userdata); - /** \brief Regular menu items. * \ingroup menupriv */ @@ -807,6 +810,7 @@ GtkTreeIter item; /* new item added to the list store */ GtkTreeSelection *selection; GtkTreeModel *selmod; + GtkTreeModel *listtreemodel; GDir *dir = NULL; /* directory handle */ GError *error = NULL; /* error flag and info */ gchar *dirname; /* directory name */ @@ -817,8 +821,8 @@ /* create and fill data model */ liststore = gtk_list_store_new (1, G_TYPE_STRING); - /* scan for .qth files in the user config directory and - add the contents of each .qth file to the list store + /* scan for .mod files in the user config directory and + add the contents of each .mod file to the list store */ dirname = get_modules_dir (); dir = g_dir_open (dirname, 0, &error); @@ -831,7 +835,7 @@ while ((filename = g_dir_read_name (dir))) { - if (g_strrstr (filename, ".mod")) { + if (g_str_has_suffix (filename, ".mod")) { /* strip extension and add to list */ buffv = g_strsplit (filename, ".mod", 0); @@ -876,9 +880,22 @@ /* create tree view */ modlist = gtk_tree_view_new (); - gtk_tree_view_set_model (GTK_TREE_VIEW (modlist), GTK_TREE_MODEL (liststore)); + listtreemodel=GTK_TREE_MODEL (liststore); + gtk_tree_view_set_model (GTK_TREE_VIEW (modlist), listtreemodel); g_object_unref (liststore); + + /* sort the tree by name */ + gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (listtreemodel), + 0, + compare_func, + NULL, + NULL); + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (listtreemodel), + 0, + GTK_SORT_ASCENDING); + + /*** FIXME: Add g_stat info? */ renderer = gtk_cell_renderer_text_new (); @@ -1049,3 +1066,22 @@ } +static gint compare_func (GtkTreeModel *model, + GtkTreeIter *a, + GtkTreeIter *b, + gpointer userdata) +{ + gchar *sat1,*sat2; + gint ret = 0; + + + gtk_tree_model_get(model, a, 0, &sat1, -1); + gtk_tree_model_get(model, b, 0, &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...> - 2010-02-05 13:48:09
|
Revision: 602 http://gpredict.svn.sourceforge.net/gpredict/?rev=602&view=rev Author: csete Date: 2010-02-05 13:48:03 +0000 (Fri, 05 Feb 2010) Log Message: ----------- Applied patch 2943448: Remove Segfault from corrupted module. Modified Paths: -------------- trunk/src/gtk-rig-ctrl.c trunk/src/gtk-rot-ctrl.c Modified: trunk/src/gtk-rig-ctrl.c =================================================================== --- trunk/src/gtk-rig-ctrl.c 2010-02-05 13:35:24 UTC (rev 601) +++ trunk/src/gtk-rig-ctrl.c 2010-02-05 13:48:03 UTC (rev 602) @@ -259,11 +259,12 @@ /* store QTH */ GTK_RIG_CTRL (widget)->qth = module->qth; - /* get next pass for target satellite */ - GTK_RIG_CTRL (widget)->pass = get_next_pass (GTK_RIG_CTRL (widget)->target, - GTK_RIG_CTRL (widget)->qth, - 3.0); - + if (GTK_RIG_CTRL(widget)->target !=NULL) { + /* get next pass for target satellite */ + GTK_RIG_CTRL (widget)->pass = get_next_pass (GTK_RIG_CTRL (widget)->target, + GTK_RIG_CTRL (widget)->qth, + 3.0); + } /* initialise custom colors */ gdk_rgb_find_color (gtk_widget_get_colormap (widget), &ColBlack); gdk_rgb_find_color (gtk_widget_get_colormap (widget), &ColWhite); Modified: trunk/src/gtk-rot-ctrl.c =================================================================== --- trunk/src/gtk-rot-ctrl.c 2010-02-05 13:35:24 UTC (rev 601) +++ trunk/src/gtk-rot-ctrl.c 2010-02-05 13:48:03 UTC (rev 602) @@ -219,18 +219,19 @@ GTK_ROT_CTRL (widget)->qth = module->qth; /* get next pass for target satellite */ - if (GTK_ROT_CTRL (widget)->target->el > 0.0) { - GTK_ROT_CTRL (widget)->pass = get_current_pass (GTK_ROT_CTRL (widget)->target, - GTK_ROT_CTRL (widget)->qth, - 0.0); - } - else { - GTK_ROT_CTRL (widget)->pass = get_next_pass (GTK_ROT_CTRL (widget)->target, - GTK_ROT_CTRL (widget)->qth, - 3.0); - } - - + if (GTK_ROT_CTRL (widget)->target){ + if (GTK_ROT_CTRL (widget)->target->el > 0.0) { + GTK_ROT_CTRL (widget)->pass = get_current_pass (GTK_ROT_CTRL (widget)->target, + GTK_ROT_CTRL (widget)->qth, + 0.0); + } + else { + GTK_ROT_CTRL (widget)->pass = get_next_pass (GTK_ROT_CTRL (widget)->target, + GTK_ROT_CTRL (widget)->qth, + 3.0); + } + } + /* initialise custom colors */ gdk_rgb_find_color (gtk_widget_get_colormap (widget), &ColBlack); gdk_rgb_find_color (gtk_widget_get_colormap (widget), &ColWhite); @@ -815,7 +816,7 @@ set the rotor controller to 0 deg El and to the Az where the target sat is expected to come up */ - if (ctrl->tracking) { + if (ctrl->tracking && ctrl->target) { if (ctrl->target->el < 0.0) { gdouble aosaz = 0.0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-02-05 13:35:30
|
Revision: 601 http://gpredict.svn.sourceforge.net/gpredict/?rev=601&view=rev Author: csete Date: 2010-02-05 13:35:24 +0000 (Fri, 05 Feb 2010) Log Message: ----------- Applied patch 2943024: Eliminate Segfault in gtk-sat-map.c Modified Paths: -------------- trunk/src/gtk-sat-map.c Modified: trunk/src/gtk-sat-map.c =================================================================== --- trunk/src/gtk-sat-map.c 2010-02-01 16:16:30 UTC (rev 600) +++ trunk/src/gtk-sat-map.c 2010-02-05 13:35:24 UTC (rev 601) @@ -1796,6 +1796,15 @@ obj = SAT_MAP_OBJ (g_hash_table_lookup (satmap->obj, catnum)); + if (obj == NULL) { + /* FIXME: protection against this should be implemented in the module. */ + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%d: NULL object for %d (yes, this is a bug)"), + __FILE__, __LINE__, sat->tle.catnr); + + return; + } + if (obj->selected) { /* update satmap->sel */ update_selected (satmap, sat); 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-01 16:10:12
|
Revision: 599 http://gpredict.svn.sourceforge.net/gpredict/?rev=599&view=rev Author: csete Date: 2010-02-01 16:10:05 +0000 (Mon, 01 Feb 2010) Log Message: ----------- Applied patch 2942658: Ground Tracks with Narrow Windows (Thanks to Charles Suprin AA1VS). Modified Paths: -------------- trunk/src/gtk-sat-map-ground-track.c Modified: trunk/src/gtk-sat-map-ground-track.c =================================================================== --- trunk/src/gtk-sat-map-ground-track.c 2010-02-01 15:40:19 UTC (rev 598) +++ trunk/src/gtk-sat-map-ground-track.c 2010-02-01 16:10:05 UTC (rev 599) @@ -285,7 +285,7 @@ create_polylines (GtkSatMap *satmap, sat_t *sat, qth_t *qth, sat_map_obj_t *obj) { ssp_t *ssp,*buff; /* map coordinates */ - double lastx; + double lastx,lasty; GSList *points = NULL; GooCanvasItemModel *root; GooCanvasItemModel *line; @@ -297,6 +297,7 @@ /* initialise parameters */ lastx = -50.0; + lasty = -50.0; start = 0; num_points = 0; n = g_slist_length (obj->track_data.latlon); @@ -316,6 +317,7 @@ if (i == start) { points = g_slist_prepend (points, ssp); lastx = ssp->lon; + lasty = ssp->lat; } else { @@ -361,20 +363,23 @@ points = NULL; start = i; lastx = ssp->lon; + lasty = ssp->lat; num_points = 0; /* Add current SSP to the new list */ points = g_slist_prepend (points, ssp); lastx = ssp->lon; + lasty = ssp->lat; } /* else if this SSP is separable from the previous */ - else if (fabs (lastx - ssp->lon) > 1.0 ) { + else if ((fabs (lastx - ssp->lon) > 1.0 ) || (fabs(lasty - ssp->lat)>1.0)){ /* add SSP to list */ points = g_slist_prepend (points, ssp); lastx = ssp->lon; + lasty = ssp->lon; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-02-01 15:40:25
|
Revision: 598 http://gpredict.svn.sourceforge.net/gpredict/?rev=598&view=rev Author: csete Date: 2010-02-01 15:40:19 +0000 (Mon, 01 Feb 2010) Log Message: ----------- Applied patch 2943018: Potential Double Free in qth-data.c Modified Paths: -------------- trunk/src/qth-data.c Modified: trunk/src/qth-data.c =================================================================== --- trunk/src/qth-data.c 2010-01-28 14:09:52 UTC (rev 597) +++ trunk/src/qth-data.c 2010-02-01 15:40:19 UTC (rev 598) @@ -61,6 +61,7 @@ G_KEY_FILE_KEEP_COMMENTS, &error)) { g_key_file_free (qth->data); + qth->data = NULL; sat_log_log (SAT_LOG_LEVEL_ERROR, _("%s: Could not load data from %s (%s)"), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-01-28 14:09:58
|
Revision: 597 http://gpredict.svn.sourceforge.net/gpredict/?rev=597&view=rev Author: csete Date: 2010-01-28 14:09:52 +0000 (Thu, 28 Jan 2010) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-01-28 14:09:33 UTC (rev 596) +++ trunk/ChangeLog 2010-01-28 14:09:52 UTC (rev 597) @@ -1,3 +1,11 @@ +2010-01-28 Alexandru Csete <oz9aec at gmail.com> + + * src/predict-tools.c: + Replaced incorrect error message with info. The pass condition are "either or" + and only one of the conditions have to be met before stopping the search for + future passes. + + 2010-01-20 Alexandru Csete <oz9aec at gmail.com> * src/predict-tools.c: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-01-28 14:09:39
|
Revision: 596 http://gpredict.svn.sourceforge.net/gpredict/?rev=596&view=rev Author: csete Date: 2010-01-28 14:09:33 +0000 (Thu, 28 Jan 2010) Log Message: ----------- Replaced incorrect error message with info. The pass condition are 'either or' and only one of the conditions have to be met before stopping the search for future passes. Modified Paths: -------------- trunk/src/predict-tools.c Modified: trunk/src/predict-tools.c =================================================================== --- trunk/src/predict-tools.c 2010-01-21 20:55:36 UTC (rev 595) +++ trunk/src/predict-tools.c 2010-01-28 14:09:33 UTC (rev 596) @@ -638,18 +638,14 @@ } } - /*make a log entry in case num is set too small*/ - /*i=num+1 if kicked out of loop due to internal condition*/ - - if (i == num){ - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("More future passes than requested in time window %f %f than requested %d in %s"),start,maxdt,num, - __FUNCTION__); - } if (passes != NULL) passes = g_slist_reverse (passes); + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Found %d passes for %s in time window [%f;%f]"), + __FUNCTION__, g_slist_length (passes), sat->nickname, start, start+maxdt); + return passes; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-01-21 20:55:43
|
Revision: 595 http://gpredict.svn.sourceforge.net/gpredict/?rev=595&view=rev Author: csete Date: 2010-01-21 20:55:36 +0000 (Thu, 21 Jan 2010) Log Message: ----------- Applied new version of patch 2933879 from Charles Suprin AA1VS. Modified Paths: -------------- trunk/ChangeLog trunk/src/predict-tools.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-01-17 22:06:27 UTC (rev 594) +++ trunk/ChangeLog 2010-01-21 20:55:36 UTC (rev 595) @@ -1,3 +1,9 @@ +2010-01-20 Alexandru Csete <oz9aec at gmail.com> + + * src/predict-tools.c: + Applied new version of patch 2933879 from Charles Suprin AA1VS. + + 2010-01-17 Alexandru Csete <oz9aec at gmail.com> * src/gtk-polar-view.c: Modified: trunk/src/predict-tools.c =================================================================== --- trunk/src/predict-tools.c 2010-01-17 22:06:27 UTC (rev 594) +++ trunk/src/predict-tools.c 2010-01-21 20:55:36 UTC (rev 595) @@ -745,6 +745,7 @@ void free_pass (pass_t *pass) { + if (pass!=NULL){ free_pass_details (pass->details); if (pass->satname != NULL) { @@ -754,6 +755,9 @@ g_free (pass); pass = NULL; + } else { + /*FIXME: log an error?*/ + } } @@ -1024,7 +1028,9 @@ predict_calc (sat, qth, t); /* check whether satellite has aos */ - if (has_aos (sat, qth)) { + if ((sat->otype == ORBIT_TYPE_GEO) || + (sat->otype == ORBIT_TYPE_DECAYED) || + !has_aos (sat, qth)) { return NULL; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-01-17 22:06:51
|
Revision: 594 http://gpredict.svn.sourceforge.net/gpredict/?rev=594&view=rev Author: csete Date: 2010-01-17 22:06:27 +0000 (Sun, 17 Jan 2010) Log Message: ----------- Updated. Modified Paths: -------------- trunk/NEWS Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-01-17 21:42:06 UTC (rev 593) +++ trunk/NEWS 2010-01-17 22:06:27 UTC (rev 594) @@ -11,6 +11,8 @@ - Fixed bug 2877974: Incorrect uplink Doppler. - Fixed bug 2918672: Trailing whitespace and newline in satellite names. - Fixed bug 2914679: Unable to save Future passes. +- Fixed bug 2674626: Process 100% CPU load with one kepler element. +- Fixed bug 2792349: Segfault on certain satellites (Geo) - 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). @@ -18,6 +20,8 @@ - Applied patch 2893617: Patches for fixing Windows build (thanks to Valentin Yakovenkov). - Applied patch 2916646: Minor fixes to documentation (thanks to Paul Schulz). - 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). - 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-01-17 21:42:12
|
Revision: 593 http://gpredict.svn.sourceforge.net/gpredict/?rev=593&view=rev Author: csete Date: 2010-01-17 21:42:06 +0000 (Sun, 17 Jan 2010) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-01-17 21:39:37 UTC (rev 592) +++ trunk/ChangeLog 2010-01-17 21:42:06 UTC (rev 593) @@ -1,3 +1,22 @@ +2010-01-17 Alexandru Csete <oz9aec at gmail.com> + + * src/gtk-polar-view.c: + Applied patch 2930342 from Charles Suprin AA1VS. + + * src/predict-tools.c: + Applied patch 2933879 from Charles Suprin AA1VS. + + +2010-01-13 Alexandru Csete <oz9aec at gmail.com> + + * src/print-pass.[ch]: + Added files with functions to print a satellite pass using Gtk+ printing + API. Only single pass for now. + + * src/sat-pass-dialogs.c: + Enable Print button in single pass dialog. + + 2010-01-11 Alexandru Csete <oz9aec at gmail.com> * src/gtk-rot-knob.c: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-01-17 21:39:53
|
Revision: 592 http://gpredict.svn.sourceforge.net/gpredict/?rev=592&view=rev Author: csete Date: 2010-01-17 21:39:37 +0000 (Sun, 17 Jan 2010) Log Message: ----------- Applied patch 2933879 from Charles Suprin AA1VS. Modified Paths: -------------- trunk/src/predict-tools.c Modified: trunk/src/predict-tools.c =================================================================== --- trunk/src/predict-tools.c 2010-01-17 21:31:58 UTC (rev 591) +++ trunk/src/predict-tools.c 2010-01-17 21:39:37 UTC (rev 592) @@ -39,9 +39,9 @@ #include "sat-cfg.h" #include "orbit-tools.h" #include "predict-tools.h" +#include "sat-log.h" - /** \brief SGP4SDP4 driver for doing AOS/LOS calculations. * \param sat Pointer to the satellite data. * \param qth Pointer to the QTH data. @@ -619,7 +619,6 @@ t = start; for (i = 0; i < num; i++) { - pass = get_pass (sat, qth, t, maxdt); if (pass != NULL) { @@ -639,6 +638,14 @@ } } + /*make a log entry in case num is set too small*/ + /*i=num+1 if kicked out of loop due to internal condition*/ + + if (i == num){ + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("More future passes than requested in time window %f %f than requested %d in %s"),start,maxdt,num, + __FUNCTION__); + } if (passes != NULL) passes = g_slist_reverse (passes); @@ -738,15 +745,15 @@ void free_pass (pass_t *pass) { - free_pass_details (pass->details); - - if (pass->satname != NULL) { - g_free (pass->satname); - pass->satname = NULL; - } - - g_free (pass); - pass = NULL; + free_pass_details (pass->details); + + if (pass->satname != NULL) { + g_free (pass->satname); + pass->satname = NULL; + } + + g_free (pass); + pass = NULL; } @@ -1016,6 +1023,13 @@ t = get_current_daynum (); predict_calc (sat, qth, t); + /* check whether satellite has aos */ + if (has_aos (sat, qth)) { + + return NULL; + + } + /* find a time before AOS */ while (sat->el > -2.0) { predict_calc (sat, qth, t); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |